gradleを利用してプログラムをビルドしています(gradle build
)が、その際に特定のクラスを含まないようにするにはどのようにしたらよいでしょうか?(build.gradleファイルに記述、またはgradleコマンドにオプション等)
検索の結果gradleのdocsの51章内、【51.4.7. 推移的な依存関係の除外】などに辿り着きましたが、前提知識に乏しく、organizationが何か等からわからず立ち止まってしまっています。
例えばパッケージhoge.piyo内のHoge.javaをビルドから除外したい場合、どのようにするとよいでしょうか。
IDEにEclipseを利用していますが、Eclipseで該当を右クリック->Build Path->Excludeしても、gradle buildの際には除外されませんでした。
どうぞよろしくお願い致します。
argiusさんより頂いたご回答を参考に進めています。
後出しの情報で申し訳ないのですが、下記のようなマルチプロジェクトの構成でプログラムを作っており、
- piyo_root : ルートプロジェクト(ベース)
- piyo_sub1 : サブプロジェクト1
- piyo_sub2 : サブプロジェクト2
- piyo_sub3 : サブプロジェクト3
たとえば、この中の、下記を除外したいと考えています。
- piyo_sub1
└src/main/java
└hoge/piyo/Hoge.java
- piyo_sub2
└src/main/java
└hoge/hogehoge/HogeHoge.java
ご回答頂いた通りに、各サブプロジェクト内のgradleファイルに追記したところ、生成されたjarをtvfでみても、
2373 Tue May 31 17:07:44 JST 2016 hoge/piyo/Hoge.class
のような感じで含まれています(私のtvfへの認識がおかしかったらすみません)。
この場合、サブプロジェクトのgradleファイルではなく、ベースのプロジェクトのgradleファイルに記述すべきなのかと思い、今度はpiyo_root内のgradle.buildのsubProjects
プレースホルダ内に頂いた記述を追記しましたが、やはりjar tvfの結果に同様に対象が含まれてしまいます。
ほか、javaのビルドをgradleで行う:調査編2:依存から1行で特定jarを除外! - 文系プログラマによるTIPSブログを参考としましたが、こちらもうまくいきません。
引き続き知見を頂けますでしょうか。
さらに追記:
本当に基本的なことでした。各サブプロジェクトのgradleファイルにsourceSetsでexclude対象を記述し、ルートのプロジェクトで、gradle clean
後にgradle build
にて、jarから対象のファイルが除外されていることを確認できました。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/31 08:41
2016/05/31 09:12
2016/06/01 04:28