2012-09-27 4 views
7

開発関連のディレクトリsrc/main/resources/certs/testがあり、これは1つの外部ライブラリに必要です。これには、本番環境では不要な証明書ファイルがいくつかあります。Gradle 1.2:リソースソースセット下のディレクトリを除外

私はbuild.gradleでブロックを以下でそのディレクトリの下にあるすべてのものを除外瞬間:

sourceSets { 
    main { 
     resources { 
      exclude '**/test/*' 
     } 
    } 
} 

これはよくそれに仕事をしていませんが、testが横たわって醜い空のディレクトリを残します。最終戦争でこのディレクトリを含まない私の選択肢は何ですか?

私は'**/test'を除外しようとしましたが、全く動作しません。

私は戦争のプラグインとのGradle 1.2

答えて

26

Gradle documentationから

は、デフォルトのプロジェクトのレイアウトは、このようなものです

apply plugin: 'war' 

sourceSets { 
    main { 
     resources { 
      exclude '**/test/*' 
      exclude 'certs/test' 
     } 
    } 
} 
+1

掃除を済ませたらうまくいきました。 'gradle clean build' – Philippe

+0

すべてのファイルとフォルダとサブフォルダを除外するには、以下を使用できます:' resources {exclude '*。*' exclude '** /'} ' –

0

共通挙レイアウトはtestソースセットの下でテストファイルを置くことで、あなたはmainソースセットから除外する必要はありません。この方法を使用します。これは私の作品のGradle 1.1を使用して

src/main/java  Production Java source 
src/main/resources Production resources 
src/test/java  Test Java source 
src/test/resources Test resources 
+0

私は標準レイアウトを知っています。質問は私のプロジェクトのレイアウトとその標準のものではなく、ディレクトリを除外するためのGradleの機能です。私は自分のプロジェクトを再フォーマットすることができますが、最初の質問は残っています。 –

+0

このレイアウトは標準であり、[完全に非実用的](http://blog.ltgt.net/maven-is-broken-by-design)(「プロジェクトレイアウト」を検索)。それを落としたことは、私が毎日楽しむものです。 – maaartinus

4

私はJARに生産ファイルと同様の問題がありましたファイル(私はテストファイルではありませんでしたが)。私は次のようにそれを解決した:

jar { 
    exclude ("DIRECTORY-TO-EXCLUDE/**") 
} 

jar { 
    exclude ("test/**") 
} 
関連する問題