0

サブプロジェクトのgradleでこれを機能させる方法を知っている人は誰でも、左側のサイズを実行すると右側のアーカイブ名になります...

gradle assemble -> databus-Developer-Build.zip
gradle -DmyVersion=1.0.2 assemble -> databus-1.0.2.zip
OR
gradle -PmyVersion=1.0.2 assemble -> databas-1.0.2.zip

変数 myVersion を試してみましたが、常に存在しないと言われます....そして半分のケースでは、私がそれを提供しなかったので存在すべきではありません!!!!!

これをサブプロジェクトで機能させるにはどうすればよいですか?

ありがとう、ディーン

4

2 に答える 2

6

allprojectsルート build.gradle の構成セクションに次のスニペットを追加します。

allprojects {

   if (project.hasProperty('myVersion')) {
     project.version = project.myVersion
   } else {
     project.version = 'Developer-Build'
   }

} 

そして、コマンドラインでバージョンを として渡します-PmyVersion=1.0.2。かなり古いGradle 1.0-milestone-3でテスト済み

于 2012-09-28T09:25:51.760 に答える
0

新しいバージョンでそれを行う適切な方法が機能しました...(extの追加に注意してください)。

   if (project.hasProperty('myVersion')) {
     project.ext.xVersion = project.myVersion
   } else {
     project.ext.xVersion = 'Developer-Build'
   }

興味深いことに、「バージョン」はある種の予約済みプロパティのようで、起動時に未指定に設定されているため、これは機能しません...

   if (project.hasProperty('version')) {
     project.ext.xVersion = project.version
   } else {
     project.ext.xVersion = 'Developer-Build'
   }

バージョンは予約済みのプロパティのように見えるため、アーティファクトの公開に使用される可能性が最も高いため、最善の解決策はおそらく次のとおりです

   if (project.hasProperty('myVersion')) {
     project.version = project.myVersion
   } else {
     project.version = 'Developer-Build'
   }

myVersion の自動ビルド パスと開発者はもちろんパスしません。

于 2012-09-28T12:33:57.233 に答える