我有test.properties文件,这是3个存储库的常用文件。因此我在git中签入代码。让我说我有testA,testB和testC作为三个回购。 现在我想要testA首先下载test.properties,加载它。那么所有任务都应该引用属性值。 我怎么能在gradle中做到这一点?
答案 0 :(得分:0)
您是否考虑过将其下载到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)
}
}