2011-10-19 15 views
0

私はそれらの間の依存関係を持つNetbeansプロジェクトをいくつか持っています。デフォルトでは、ビルド時にnetbeansは、プロジェクトルートフォルダの下にbuildおよびdistフォルダを作成します。相対パスを使用して、プロジェクトの外にある共通のフォルダに変更することができました。私がしなければならなかったのは、nbproject/project.propertiesファイルのbuild.dirプロパティとdist.dirプロパティを変更することだけでした。 IDEの下でビルドすると、プロジェクトファイルで指定された共通のフォルダの下にすべてがうまく構築されています。Netbeansプロジェクトシステムがコマンドラインで使用するbuildディレクトリとdistディレクトリを上書きする方法はありますか?

特定のビルドフォルダの下に生成されたすべてのクラスファイル(jarファイルなど)を生成するためのプロモーションビルドプロセスがあります。このフォルダは、ユーザがシステム全体のconfigureスクリプトを呼び出した方法に基づいて変更されます。

このディレクトリは、シェル環境変数BUILD_ROOTで使用できます。 ビルドが呼び出されたときに、project.propertiesがantコマンドラインで指定しているbuild.dirとdist.dirをオーバーライドする方法があるかと思います。こうすることで、同じビルドシステムを再利用し、project.propertiesファイルを変更せずに必要な場所にバイナリを生成することができます。

現在、私たちは、プロモーションとIDEのビルド用に別々のAntビルドスクリプトを管理しています。

私はどのポインタにも感謝します。
ビデオ男

答えて

0

おかげで、私は方法を考え出しました。 Antでは、-Dpropname = valueを使用してコマンドラインでプロパティを定義できます。プロパティに値が代入されると、Antはxml/.propertiesファイルに渡された変数の割り当てをすべて無視します。

1)最初にnbproject/project.propertiesファイルを編集し、トップレベルビルドディレクトリの変数を追加しました。次に、この変数を使用するようにbuild.dirとdist.dirを変更しました。
buildroot.dir = ../.. /アウト
build.dir = $ {buildroot.dir}/myprojname

dist.dir = $ {buildroot.dir}/DIST
2)その後Netbeansの下で動作することを確認しました。プロジェクトのNetbeansプロパティパネルに入ると、ディレクトリ値が正しく表示されます。

3)以下のようにこのプロジェクトを呼び出すためにMakefileにターゲットを追加しました。マスタービルドディレクトリに、Linuxのビルドサーバー上の私の目標を構築することができました
アリ-f build.xmlの-Dbuildroot.dir = $(BUILD_ROOT)/ javaの/アウト

。基本的に、ソースフォルダは、ビルド関連の残骸がなくてもきれいです。

関連する問題