20

削除されたいくつかの要件に関連するパッケージがありますが、将来再び必要になる可能性があるため、必ずしもコードを削除する必要はありません。そのため、既存の ant ビルドでは、このパッケージを jar でのコンパイルから除外しました。これらのクラスは、依存関係も削除したためコンパイルされないため、ビルドに含めることはできません。

次のように、Gradle でその機能を模倣しようとしています。

jar {
    sourceSets.main.java.srcDirs = ['src', '../otherprojectdir/src']

    include (['com/ourcompany/somepackage/activityadapter/**',
                 ...
        'com/ourcompany/someotherpackage/**'])

    exclude(['com/ourcompany/someotherpackage/polling/**'])
}

上記の除外呼び出しを使用しても(角括弧なしでも試しました)、gradle はまだpollingクラスをコンパイルしようとしているため、コンパイルの失敗が発生しています。Gradle がそのパッケージをコンパイルしようとするのを防ぐにはどうすればよいですか?

4

3 に答える 3

34

コンパイルしたくないソースがある場合は、Jar に入れられるクラス ファイルではなく、ソースに対してフィルターを宣言する必要があります。何かのようなもの:

sourceSets {
    main {
        java {
            include 'com/ourcompany/somepackage/activityadapter/**'
            include 'com/ourcompany/someotherpackage/**'
            exclude 'com/ourcompany/someotherpackage/polling/**'
        }
    }
}
于 2013-10-25T05:13:54.767 に答える