在自定义Gradle插件中管理版本号

时间:2017-03-15 04:11:45

标签: gradle

我正在开发一个自定义gradle插件。在插件的build.gradle文件的顶部,我指定了插件的版本号:

version '0.1.3'

我在自定义插件的单元和集成测试阶段使用了许多Gradle项目。对于这些项目中的每一个,我必须将我的自定义插件的jar声明为项目的build.gradle文件中的依赖项。例如:

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

理想情况下,我将版本号写在一个地方,而不是在我使用的每个测试项目中明确地编写它。为此,我创建了一个包含Constants.java的常量文件static final string VERSION_NUMBER = "0.1.3"。我想在我的项目的构建文件中使用VERSION_NUMBER而不是明确地编写版本号。

我已编译Constants.java并将Constants.class添加到classpath。但是,当我尝试在Constants.VERSION_NUMBER文件中使用build.gradle时,Gradle认为我正在尝试使用不存在的属性:

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

如何在构建文件中使用VERSION_NUMBER

1 个答案:

答案 0 :(得分: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”不是必需的,但我不确定。