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

时间:2018-11-28 12:38:33

标签: java gradle

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

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

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

怎么可能?

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

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

1 个答案:

答案 0 :(得分:1)

此Java代码是否是gradle任务?如果是,那将会是

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"
    );
}