在自定义Gradle插件中管理版本号
我正在开发一个定制的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
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”