で実行されているプロジェクトを知っている私は複数のプロジェクトと1つのトランクを持っている...方法のGradle
私はcmdを経由して実行する必要があるいくつかの回:
gradlew Proj1:assembleRelease
そして、他の回:
gradlew Proj2:assembleRelease
どのようにして、Proj1またはProj2を構築しているのかをgradleファイルで知ることができますか?
で実行されているプロジェクトを知っている私は複数のプロジェクトと1つのトランクを持っている...方法のGradle
私はcmdを経由して実行する必要があるいくつかの回:
gradlew Proj1:assembleRelease
そして、他の回:
gradlew Proj2:assembleRelease
どのようにして、Proj1またはProj2を構築しているのかをgradleファイルで知ることができますか?
Project
の任意のインスタンスのgradle
プロパティでこの情報にアクセスできます。 the docsから:
getGradle()
このプロジェクトが属するGradleの呼び出しを返します。
Gradle
のインスタンスには、希望する情報が含まれているstartParameter
プロパティがあります。たとえば、ルートスコープに:
print project.gradle.startParameter
私の特定の呼び出しのために、私は
print project.gradle.startParameter.taskRequests[0].args[0]
を介して第一タスク要求の名前を印刷することができしかし、上記のは、おそらく非常に脆弱であり、かつ確実に失敗します多くの重要なケースで
Gradle
インスタンスでは、このビルドのタスク実行グラフやルートプロジェクトなど、上記のものがあなたの望むものとまったく同じものではない場合があります。上記の情報はすべて、先にリンクしたProject
クラスのドキュメントのリンクから入手できます。この文書をよく読んでみることを強くお勧めします。
一方、なぜこれをやりたいのですか?通常は、個々のプロジェクト自体に構成を追加し、if task1 is running then x else y