1

これは私のbuild.gradleです:のGradle相当

group 'whatever' 
version '1.0.0-SNAPSHOT' 

... 

dependencies { 
    compile 'whatever:2.2.1-SNAPSHOT' 
} 

私は、例えば、特定の値に両方のバージョンを設定する必要性を含むプロセスを、リリース自動化します1.1.0または2.2.0を使用してください。あらゆる種類の自動インクリメントはオプションではありません。 Mavenので

、私はmaven-versions-pluginを使ってこれを行うだろう:

mvn versions:set -DnewVersion=${WHATEVER_NEW_VERSION} 

私はGradleのと同じことを行うことができますどのように?私は尋ねたthis未回答の質問。それを行う簡単な方法があるはずですか?

答えて

0

私はgradle.propertiesにバージョン番号を抽出し、sedのを使用して自動ビルドスクリプトの一部としてそれらを更新してしまった:

sed -i -e \"/someVersionNumber=/ s/=.*/=${SOME_NEW_VERSION_NUMBER}/\" gradle.properties 

それは私が欲しいものです。私にとっては、Mavenの背景から来ていますが、これは当然のようです。私は後で別の選択肢を研究するかもしれない。

0

出版に関連していないが、以下のように、コマンドラインプロパティを渡すための一つの方法は次のとおりです。

gradle -PWHATEVER_NEW_VERSION=2.0.0 

は、次のbuild.gradleスニペットを考えてみましょう:

def newVersion = project."WHATEVER_NEW_VERSION" 
println newVersion 

は別のアプローチのためにthis project~/utils/gradle/version.gradleを参照してください。これは、メジャーバージョン、マイナーバージョン、および増分バージョンの環境変数を別々に使用し、自動的に文字列を作成します。 gradleディレクトリに存在するため、build.gradleにインポートするだけで定型文が表示されなくなります。