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

在自定义Gradle插件中管理版本号,gradle,Gradle,我正在开发一个定制的gradle插件。在插件的build.gradle文件顶部,我指定插件的版本号: 版本“0.1.3” 在自定义插件的单元和集成测试阶段,我使用了许多Gradle项目。对于这些项目中的每一个,我都必须在项目的build.gradle文件中将自定义插件的jar声明为依赖项。例如: println("pi = ${Math.PI}") // works and prints static variable. println("2 * pi = ${java.lang.Math.PI

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

版本“0.1.3”

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

println("pi = ${Math.PI}") // works and prints static variable.
println("2 * pi = ${java.lang.Math.PI}") // works fine too
classpath文件('libs/UmpleGradlePlugin-0.1.3.jar')

理想情况下,我会将版本号写在一个地方,而不是在我使用的每个测试项目中明确地写出来。为此,我创建了一个常量文件
constants.java
,其中包括
静态最终字符串版本\u NUMBER=“0.1.3”
。我希望在项目的构建文件中使用
VERSION\u NUMBER
,而不是显式地编写版本号

我编译了
Constants.java
,并将
Constants.class
添加到
classpath
。但是,当我试图在
build.gradle
文件中使用
Constants.VERSION\u NUMBER
时,gradle认为我试图使用的属性不存在:

失败:生成失败,出现异常。在根项目“UmpleGradlePlugin”上找不到属性“Constants”。


如何在生成文件中使用
VERSION\u NUMBER

如果要使用build.gradle中的类,必须将其添加为构建脚本依赖项:

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”不是必需的,但我不确定这一点。

我想在
build.gradle
中使用一个类。我想在
build.gradle
中使用
Constants.java
中的
VERSION\u NUMBER
字段。对不起,我的英语,我的意思是,如果您将类添加为buildscript依赖项,您可以在build.gradle中使用它。哦!这很方便,谢谢你的澄清。我可以包含单个类文件而不是
.jar
?可能类似于
类路径文件('Math.class')
?我只有一个包含我需要的版本信息的文件。我现在已经尝试了。例如:/dir/com/package/Constants.class,然后类路径文件('dir')和in build.gradle应该是“import com.package.Constants.class”P.S.行。您可以从简单的文本文件中读取版本,而不是加载java类。类似于“版本=新文件(文件名).text”