目的
Eclipseをコマンドラインで実行しよう。
なぜコレを調べたのか
EclipseでC/C++プロジェクトのソフトウェアを開発していた。
Jenkinsでナイトビルドをかける事を想定していた。
makefileはEclipseが自動で作ってくれる。
だから、コマンドラインでフツーにmakeしていた。
でも、makefile(Eclipseが自動生成するファイルなど)は、
ソースセーフ(今回はgit)に登録したくないよね。
でも、そうしたらJenkinsで、gitからソース持ってきてmake出来ないじゃん。
Eclipseをコマンドラインで実行できる方法を調べる事にした。
試した環境
Linux上でC/C++プロジェクトをEclipseのワークスペースに追加した状態で、
コマンドラインからクリーンビルド。
使い方
./eclipse -nosplash --launcher.suppressErrors -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data {workspaceDir} -cleanBuild {projectName}/Release
引数の説明
引数 | 説明 |
---|---|
-nosplash | Eclipse スプラッシュ画面を無効にします。 |
--launcher.suppressErrors | エラーをグラフィカルダイアログに報告するのではなく、コンソールに出力します。 |
-application org.eclipse.cdt.managedbuilder.core.headlessbuild | Eclipse に headless builder を実行することを指示するための必須引数です。 |
-data {workspaceDir} | ワークスペースの場所を指定します。 |
-import {projectDir} | 指定したディレクトリからワークスペースにプロジェクトをインポートします。複数のプロジェクトをインポートするには、このオプションを複数回使用します。 |
-build {projectName[/configName] or all} | 指定した名前のプロジェクト、またはワークスペース内のすべてのプロジェクトをビルドします。デフォルトでは、この引数は、各プロジェクト内のすべてのコンフィギュレーションをビルドします。プロジェクト名の直後を '/' で区切ってコンフィギュレーション名を指定すると、この動作をデバッグやリリースなど 1 つのコンフィギュレーションに限定できます。複数のプロジェクトをビルドするには、このオプションを複数回使用します。 |
-cleanBuild {projectName[/configName] or all | 指定した名前のプロジェクト、またはワークスペース内のすべてのプロジェクトをクリーンアップしてビルドします。デフォルトでは、この引数は、各プロジェクト内のすべてのコンフィギュレーションをクリーンアップしてビルドします。プロジェクト名の直後を '/' で区切ってコンフィギュレーション名を指定すると、この動作をデバッグやリリースなど 1 つのコンフィギュレーションに限定できます。複数のプロジェクトをクリーンアップしてビルドするには、このオプションを複数回使用します。 |