Java/Gradle:如何从Java代码访问Gradle项目属性



我有一个Java代码,它在构建目录下生成一些文件。但我希望它尊重Gradle的buildDir参数。

当我使用-PbuildDir从grade.properties文件或命令行设置Gradle的buildDir参数时,我需要根据该参数更新以下Java中的"build"字符串。

private List<String> getX() {
List<String> AList = new ArrayList<>();
AList.add("build/dir1/");
AList.add("build/dir2/");
return AList;
}

这怎么可能?

-----更新-----

上面的代码是库的一部分。此库稍后将由渐变项目使用。我想将渐变参数传递给库。

这段java代码是一个渐变任务吗?如果是,那么就是

private List<String> getX() {
String buildDir = getProject().getBuildDir().getAbsolutePath();
return Arrays.asList(
buildDir + "/dir1", 
buildDir + "/dir2"
);
}

但如果你想以"Gradle方式"来做,你可能会这样做:

public FileCollection getX() {
String buildDir = getProject().getBuildDir().getAbsolutePath();
return getProject().files(
buildDir + "/dir1", 
buildDir + "/dir2"
);
}

最新更新