1

以下のコードを使用して、JenkinsBUILD_NUMBERをBuildConfigオブジェクトに配置しています。

gradle.propertiesからこの値をデフォルトにできるようにしたいのですが、問題が発生しています。ドキュメントからは、変数が相互にオーバーライドしているように見えますが、このandroid conext内からは、変数にアクセスできませんでした...したがって、System.getenv()を使用する必要があります...

       android{
             ....

    defaultConfig{
        ext.env = System.getenv()
        ext.buildNumber = env.BUILD_NUMBER?.toInteger()
        ext.buildId = env.BUILD_ID
        println "Build Number: $buildNumber"
        println "Build Id: $buildId"
        buildConfig "public final static int BUILD_NUMBER = $buildNumber;"
        buildConfig 'public final static String BUILD_ID = "' + ext.buildId + '";'
    }
       }

更新:これをもう少し遊んだ後、android {}内で、build.gradleで定義されている変数にアクセスできるが、gradle.propertiesからはアクセスできないことに気付きました。

この範囲に到達するための秘訣があるかもしれませんが、私はまだそれを見つけていません。

例:gradle.properties "foo = bar"に変数があり、これがbuild.gradleである場合

def foo2="bar2"

println foo2 // works
println foo // works

android{

     println foo2 // works
     println foo // works

     productFlavors {

          println foo2 // works
          println foo // works
          tablet{
              println foo2 // works
              println foo // blows up 

          }
     }


}
4

0 に答える 0