【发布时间】:2019-04-09 16:07:18
【问题描述】:
过去几个小时我一直在尝试找到满足我要求的解决方案,但没有运气:
我有一个任务必须在某个路径中运行一些逻辑:
task run(type: MyPlugin) {
pathForPlugin = myPath //Defined as a property in another gradle file
}
我想在另一个任务中动态设置“pathForPlugin”属性,因为它必须从某个配置文件中读取。
task initPaths(type: PathFinder) {
configurationFile = 'C:\\myConfig.conf'
}
myConfig.conf 如下所示:
pathForPlugin = 'C:\\Correct\\Path'
问题是“initPaths”必须在“run”的配置阶段之前运行。 我为此尝试了几种方法(GradleBuild 任务、dependsOn、在插件中使用“延迟配置”的属性),但每种方法仅在执行阶段生效,导致“pathForPlugin”始终保持默认值。
有什么方法可以让我意识到这一点,或者我应该在 gradle 构建之外寻找其他解决方案吗?
【问题讨论】:
-
对不起,没时间像往常一样回复一个例子,但请看here。您需要将路径定义为输出属性。然后在第二个任务中,将其配置为输入。它应该工作。也许我以后会找时间看看。
标签: gradle build properties configuration task