Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Gradle中组合属性文件?_Gradle_Ant - Fatal编程技术网

如何在Gradle中组合属性文件?

如何在Gradle中组合属性文件?,gradle,ant,Gradle,Ant,我有一个ant任务,它将两个属性文件组合在一起,形成一个属性文件 base.config包含大多数属性,override.config包含一个或多个修改base.config中的值的属性 如何在gradle中执行相同的操作而不导入ant任务?gradle有5个属性“作用域”用于查找属性。它们是: 项目实例本身 额外属性 扩展 习俗 任务 使用上述方法进行项目父级递归查找 您可以在此处阅读更深入的概述: Gradle按该顺序搜索属性。因此,您可以在链的较低位置定义基本属性,并在链的较高位置提供覆盖

我有一个ant任务,它将两个属性文件组合在一起,形成一个属性文件

base.config包含大多数属性,override.config包含一个或多个修改base.config中的值的属性


如何在gradle中执行相同的操作而不导入ant任务?

gradle有5个属性“作用域”用于查找属性。它们是:

项目实例本身 额外属性 扩展 习俗 任务 使用上述方法进行项目父级递归查找 您可以在此处阅读更深入的概述:

Gradle按该顺序搜索属性。因此,您可以在链的较低位置定义基本属性,并在链的较高位置提供覆盖。

有一项任务可以可靠地保存属性

然后,只需以覆盖基的方式传递属性

e、 g


这并不能回答问题。
<!--Combine the base.config and override.config together to create a properties file-->
<target name="generateProperties" depends="init">
    <property prefix="app.properties" file="override.config"/>
    <property prefix="app.properties" file="base.config"/>
    <echoproperties destfile="${build.dir}/combined.properties">
        <propertyset>
            <propertyref prefix="app.properties"/>
            <mapper type="glob" from="app.properties.*" to="*"/>
        </propertyset>
    </echoproperties>
</target>
task generateProperties(type: WriteProperties) {
    Properties combinedProperties = new Properties()
    File baseProperties = file('base.config')
    baseProperties.withInputStream {
        combinedProperties.load(it)
    }
    File overrideProperties = file('override.config')
    overrideProperties.withInputStream {
        combinedProperties.load(it)
    }
    properties = combinedProperties
    outputFile = file("$buildDir/combined.properties")
}