繁体   English   中英

如何从ant构建文件读取属性到gradle构建脚本?

How to read a property from an ant build file to a gradle build script?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在寻找一种可能简洁明了的方法来从ant的build.xml文件中提取属性。

我知道我可以使用ant.importBuild 'build.xml'但这会导入所有目标,可能会导致名称冲突,例如与Java插件冲突,这是一个已知问题

我正在使用gradle 1.6。

1 个回复

一种方法是手动解析XML文件,例如使用Groovy的XmlSlurper类。 但是,这不会替换属性值中出现的任何属性引用。 另一种方法是配置org.apache.tools.ant.Project对象(类似于ant.importBuild工作方式),然后从那里获取属性值。 就像是:

import org.apache.tools.ant.Project
import org.apache.tools.ant.ProjectHelper

task printPropertyValue {
    doLast {
        def antProject = new Project()
        ProjectHelper.configureProject(antProject, file("build.xml"))
        def value = antProject.getProperty("some.property")
        while (value.contains('${')) {
            value = antProject.replaceProperties(value)
        }
        println value

    }
}

递归替换属性引用可能有更好的方法,但是我找不到。

另一个可能的解决方案是使用由Ant和Gradle读取的外部属性文件。

1 gradle如何执行一个ant构建文件

我一直在疯狂地尝试将我的 custom_rules.xml 重建为 gradle 中的某些内容,但事实证明这非常困难。 所以我的下一步是我试图将我在 gradle 中无法做的最后几件事作为 build.xml 导入。 然而,这似乎并没有做任何事情。 当我尝试使用 ant.importBuild ' ...

2 在gradle构建脚本中读取和写入属性文件

我是Gradle构建脚本的新手。 说,我的文件系统中有两个属性文件。 我想读取两个属性文件中的所有字段并写入新的属性文件。 如何实现这一目标? 例如, file1.properties包含: file2.properties包含: 我希望构建脚本读取两个文件中的所有字 ...

3 如何从ant build中的.properties文件读取部分?

我有.properties文件,变量=值,我想根据环境/模式(DEV,QA,PROD)覆盖其中的一些 我想根据部分从文件中读取属性。 要读取任何部分之外的所有默认属性,并且应根据给定的部分名称覆盖某些属性,我可以在读取属性文件时从ant脚本传递这些名称。 ---project.pr ...

4 从Gradle插件读取构建脚本块

有一个id为(“ com.my.plugin”)的gradle插件。 使用此插件的项目具有以下build.gradle文件: 实现该插件的类如下: 在插件的project.afterEvaluate {...}块中,我需要检查使用此插件在项目的build.gradle文件中 ...

5 如何在gradle构建脚本中传递trustStore属性

我试图通过gradle脚本为SOAP Web服务生成类。 我正在使用插件gradle-jaxws-plugin ,它可以在maven中心使用。 我的脚本如下所示: 如果我按原样使用此脚本,则会出现以下错误 解决此错误的一种方法是,我尝试了gradle build -Dja ...

7 从build.gradle读取excel文件

我是gradle的新手。有人可以帮助我找出一种可以从build.gradle脚本中的excel文件中读取一些值的方法。 这些值将用于确定需要动态运行的testng测试套件 ...

2018-12-25 00:56:22 1 163   gradle
8 从Gradle构建文件调用Ant jar目标

如何从Gradle构建文件中将Ant目标称为“ jar”? 我尝试了很多事情都没有用。 重命名Ant构建文件中的“ jar”目标不是一种选择。 我正在将基于Ant的构建系统转换为Gradle的过程中,第一步需要从Gradle调用所有Ant目标。 “ jar”任务是默认的Gradle任 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM