2017-03-15 18 views
0

私はカスタムのgradleプラグインを開発しています。私は私のカスタムプラグインのユニットと統合テストフェーズ中に使用のGradleプロジェクトの数を持っているカスタムGradleプラグインでバージョン番号を管理

version '0.1.3'

:プラグインのbuild.gradleファイルの上部には、私はプラグインのバージョン番号を指定します。これらのプロジェクトごとに、カスタムプラグインのjarをプロジェクトのbuild.gradleファイルの依存として宣言する必要があります。たとえば:

classpath files('libs/UmpleGradlePlugin-0.1.3.jar')

は理想的には、私は、バージョン番号が明示的に私が使用するすべてのテストプロジェクトでそれを書くのではなく、一つの場所に書かなければならないと思います。そのために、static final string VERSION_NUMBER = "0.1.3"を含む定数ファイルConstants.javaを作成しました。私はVERSION_NUMBERをプロジェクトのビルドファイルに使用したいのですが、バージョン番号を明示的に書くのではなく、

私はConstants.javaをコンパイルし、をclasspathに追加しました。私はbuild.gradleファイルでConstants.VERSION_NUMBERを使用しようとすると、しかし、Gradleでは、私は存在しないプロパティを使用しようとしていると考えて:

FAILURE: Build failed with an exception. Could not find property 'Constants' on root project 'UmpleGradlePlugin'.

どのように私は、ビルドファイルでVERSION_NUMBERを使用することができますか?

答えて

1

あなたはbuild.gradleからクラスを使用したい場合は、buildscript依存関係として追加する必要があります。

buildscript { 
    dependencies { 
     classpath files('libs/UmpleGradlePlugin-0.1.3.jar') 
    } 
} 

そして、あなたはbuild.gradleから直接それを使用することができました。例:

println("pi = ${Math.PI}") // works and prints static variable. 
println("2 * pi = ${java.lang.Math.PI}") // works fine too 

「import com.package.Constants」という行は必須ではありませんが、これについてはわかりません。

+0

私はクラス* in * 'build.gradle'を使用したいと思います。 'build.gradle'の中の' Constants.java'の 'VERSION_NUMBER'フィールドを使いたいと思います。 – Adam

+0

私の英語では申し訳ありませんが、buildscriptの依存関係として追加すると、クラス* in * build.gradleを使用することができます。 – Kright

+0

ああ!これは便利です、明確化のおかげで。 '.jar'の代わりに一つのクラスファイルを含めることはできますか? 'classpath files( 'Math.class')'のようなものでしょうか?私はちょうど私が必要とするバージョン情報を持つ1つのファイルを持っています。 – Adam

関連する問題