我有一个部分在build.gradle中定义环境变量,我想将其传递给我的自定义插件。
build.gradle的片段如下:
apply "myplugin"
ext {
lombokVersion = '1.18.6'
setEnvironmnetVariables = {
environment -> environment.put{'RUNTIME_ENV', 'test')
}
我想在我的插件“ myplugin”中看到此RUNTIME_ENV。我是这个gradle插件开发的新手。有人可以帮我吗?我正在使用具有Groovy的spring-boot项目。
您通常不能通过Gradle或Java设置环境变量。
但是您可以设置dynamic project properties,这是将信息传达到您的自定义插件的一种方法。
由于您已经在使用extra propeties,因此您可以直接设置所需的值:
// Root project build.gradle
ext {
lombokVersion = "1.18.6"
RUNTIME_ENV = "test
}
然后您的自定义插件,您可以像这样访问它们:
import org.gradle.api.Plugin;
import org.gradle.api.Project;
public class MyPlugin implements Plugin<Project> {
@Override
public void apply(Project project) {
String runtimeEnv = (String) project.getExtensions().getExtraProperties().get("RUNTIME_ENV");
// do something with variable
}
}
Gradle在构建插件方面提供了很棒的指南,请看一下。
此外,如果您在本地安装了Gradle,则可以使用init
任务创建一个框架式Gradle插件项目:
gradle help --task init