0

私はgradleを初めて使用します…私はずっと前にJava API(現在はjarを構築するGradleプロジェクト)を作成しました。これには、機密でないものだけでなく、企業データの暗号化を解除する機密部分もあります。私はこの API の一部を必要とする新しいプロジェクトを持っていますが、当然、API 全体を他の開発者/請負業者に譲渡したくありません。

理想的には、私がやりたいことは 2 つのバリエーションを作成することです (議論のために「Pro」と「Lite」としましょう - 私が推測する単純な製品ラインのアプローチです)。

gradle を使用して 2 つの異なる jar を構築することは可能ですか?
1. Pro フル API である 1 つ。2. 関連クラスが取り除かれた Lite API である。

ネット上で「フレーバー」についての言及がいくつか見られますが、すべてのヒットは Android の開発とプロパティに関係しているようです。

最悪のシナリオは、必要なコードだけを含む新しいプロジェクトを作成することですが、新しい機能やバグ修正を API に追加すると、それらを 1 つのプロジェクトに統合する利点が得られません。

もう 1 つの方法は、既存のプロジェクトを異なるプロジェクトに構造化し、セキュリティ関連のもの (I/O とモデルの両方) を別の jar として持つことです。

ここで光を当てることができる人に感謝します...

4

2 に答える 2

1

1 つの Gradle プロジェクトで任意の数の JAR を生成できます。別の Jar タスクを追加して、「標準」ライブラリと区別するための一意の分類子を与えるだけです。

task jarLite(type: Jar) {
    classifier = 'lite'
    exclude '**/SomeProprietaryCode.class'
    with jar
}
于 2014-10-16T21:51:17.203 に答える