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

4
我有一段Java代码,它会在build目录下生成一些文件。但我希望它能够遵循Gradle的buildDir参数。
当我从gradle.properties文件或使用-PbuildDir命令行选项设置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个回答

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

谢谢您的回答。我更新了问题,因为我忘记写一些东西。对此感到抱歉。上面的代码是库的一部分。这个库稍后会被一个Gradle项目使用。我想将Gradle参数传递给这个库。 - geaaeg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接