我有一个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参数传递给库。

最佳答案

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

10-08 09:39