我有3个存储库常见的test.properties文件。因此,我在git中 checkin 代码。可以说我有testA,testB和testC作为三个仓库。
现在我希望testA应该首先下载test.properties并加载它。那么所有任务都应引用属性值。
我该如何在gradle中做到这一点?
最佳答案
您是否考虑过将其下载到Properties
对象,然后使用其中的属性填充test { systemProperties['myProp'] }
伪代码可能看起来像这样:
tasks.create('downloadTestProperties') {
def props = new Properties()
doFirst {
def stream = "http://myurl/test.properties".toURL().openStream()
props.load(stream)
stream.close()
outputs.properties.put('myTestProps', props)
}
}
tasks.withType(Test) { testTask ->
def downloadTask = tasks.findByName('downloadTestProperties')
testTask.dependsOn downloadTask
Properties testProps = downloadTask.outputs.properties.get('myTestProps') as Properties
testProps.each {
testTask.systemProperties[("$it.key")] = (it.value)
}
}
关于gradle - 从Git下载属性文件并在gradle中执行任何任务之前加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43743633/