Building Projects with Eclipse from the Command Line

Eclipse has a great user interface (UI). But what if I want to do things from the command line, without the GUI? For example to build one or more projects in the workspace without using the Eclipse UI? With this, I can do automated check-outs and do automated builds.

Performed a command line project build with Eclipse

Performed a command line project build with Eclipse

The solution to this: there is a command line version of Eclipse which I can use to run Eclipse in the command line version. Inside the eclipse folder on Windows, there is the eclipsec program which is the command-line version of Eclipse:

Eclipsec program, a command line version of Eclipse

Eclipsec program, a command line version of Eclipse

The options of this command line version (for Eclipse Kepler) are described here:

http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html

For example

eclipsec.exe -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data c:\my_wsp -build k64f

will launch Eclipse without splash screen (-nosplash), uses the –application command to load the managed make builder (which is used to build projects), with -data I specify the workspace to be used, and with the -build command it will the project k64f.

Now it could be that things still fail. This is typically because –launcher.ini option is missing which should point to the eclipse .ini file which located in the same folder as eclipsec. For example for Kinetis Design Studio the call could look like this:

c:\freescale\kds_3.0.0\eclipse\eclipsec.exe -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data .\wsp_kds3.0.0 -build MyProject --launcher.ini c:\Freescale\KDS_3.0.0\eclipse\kinetis-design-studio.ini --launcher.suppressErrors

More options and details are shown here: http://stackoverflow.com/questions/344797/build-several-cdt-c-projects-from-commandline

Happy Headlessing 🙂

27 thoughts on “Building Projects with Eclipse from the Command Line

  1. As the -application option suggests, this technique is also called ‘headless build’.

    It was tested and confirmed working with GNU ARM Eclipse Plug-ins too.

    gnuarmeclipse.livius.net/blog/headless-builds/

    Like

      • I run “eclipsec.exe -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data D:\phuc\hello_world -build hello_world” but this print in cmd : “No Project matched “hello_world”. Skipping…”. I sure project hello_world exist in D:\phuc\hello_world

        Like

      • Thanks. I change this and I get error : “Managed Build system manifest file error: Option ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unitialized.6460917372 uses a null category that
        is invalid in its context. The option was ignored.” I think -application org.eclipse.cdt.managedbuilder.core.headlessbuild need be changed!

        Like

  2. Hi Erich

    I follow the step by step to build the project from eclipse command line.
    But get an error: Program “make” not found in PATH.
    My KDS version is 3.1.0.

    Like

  3. Hi Eric,
    I am using KDS 3.2.0 . I would like to be able to build my projects from command line. I am running the following command:

    C:\Freescale\KDS_v3\eclipse\eclipsec.exe -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data C:\Work\KDS_Workspace -build –launcher.ini c:\Freescale\KDS_v3\eclipse\kinetis-design-studio.ini –launcher.suppressErrors

    I get the following message:

    Project: doesn’t appear to be a CDT project. Skipping…

    Any clues?
    Many thanks!

    Like

      • Hi Erich,
        Sorry, I misspelled the command. I am using a project name as argument for build. However for any project I am trying, I get the same error. I’m thinking that’s something I’m not doing right.
        What I would like to actually achieve is to build from command line the MCUXpresso projects. This is the reason why I have started with KDS, as I thought it would be similar to transition from one to the other.

        Like

      • Hi Eric,
        I have managed to find the solution to my error. I had to add the project to the workspace.

        KDS:
        C:\Freescale\KDS_v3\eclipse\eclipsec.exe -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild
        -data C:\Work\KDS_Workspace
        -import C:\Work\KDS_Workspace\
        -build
        –launcher.ini c:\Freescale\KDS_v3\eclipse\kinetis-design-studio.ini –launcher.suppressErrors

        MCUXpresso:
        mcuxpressoidec -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild
        -data
        -import
        -cleanBuild

        Liked by 1 person

        • Hi Radu,
          thanks for sharing! Could it be that commands you have posted are not complete?
          If your project was not part of the workspace, yes, indeed you have to have it present in the workspace.

          Like

      • Hi Eric,

        I was using “” characters to specify project paths or project names. I believe that when I hit Post button, whatever was written between those characters did not get posted.

        Reposting the commands that worked for me:

        KDS:
        C:\Freescale\KDS_v3\eclipse\eclipsec.exe -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild
        -data C:\Work\KDS_Workspace
        -import C:\Work\KDS_Workspace\”project folder”
        -build “project name ”
        –launcher.ini c:\Freescale\KDS_v3\eclipse\kinetis-design-studio.ini –launcher.suppressErrors

        MCUXpresso:
        mcuxpressoidec -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild
        -data “path to the workspace”
        -import “path to the project ”
        -cleanBuild “project name”

        Also the commands are split on multiple lines for readability. One would need to concatenate the command in one line.

        Like

  4. Pingback: Building Eclipse and MCUXpresso IDE Projects from the Command Line | MCU on Eclipse

  5. Hi Erich. I’m using MCUxpresso 11.6 and I would like to clean and build all build configurations from command line.
    Unfortunately the resul of my command is it only builds the active build configuration despite I’m using project name only instead of projectname/buildcfg.
    Of course on the IDE side I can build all of them.

    Here is my command:
    C:\nxp\MCUXpressoIDE_11.6.0_8187\ide\mcuxpressoidec.exe -nosplash –launcher.suppressErrors -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data C:\Users\rpao\Documents\MCUXpressoIDE_11.6.0_8187\workspace -cleanBuild CDSR_KV42

    Where am I wrong?

    Thank you very much
    Best Regards
    Roberto

    Like

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.