gpt4 book ai didi

netbeans - 从Gradle构建NetBeans Ant项目

转载 作者:行者123 更新时间:2023-12-03 03:36:12 24 4
gpt4 key购买 nike

我正在将我们的构建从Ant转换为Gradle。我们的第一步是添加Gradle构建文件,以便我们可以开始使用Gradle作为构建工具。这使我们可以使用现有的构建脚本来使用Ant进行构建,并将它们随时间转换为Gradle。我只想让Gradle调用现有的Ant构建文件。我们的项目都是NetBeans项目,它们具有build.xml和nbproject / build-impl.xml文件。一些项目需要NetBeans构建属性,可以在〜/ .netbeans / 6.5.1 / build.properties中找到它们。我已将NetBeans user.properties.file属性成功设置为〜/ .netbeans / 6.5.1 / build.properties。

当我用Ant进行构建时,我会调用以下代码:

ant -Duser.properties.file=~/.netbeans/6.5.1/build.properties dist

这将执行dist目标,该目标取决于init目标,而init目标取决于以下列出的目标:
pre-init, init-private, init-userdir, init-user, init-project, do-init, post-init, init-check, -init-taskdefs

上面列出的目标按指定的顺序执行。当我调用“gradle dist”时,它将调用init Ant目标,但随后将以-init-taskdefs开始以相反的顺序执行上面列出的目标。从gradle运行时,没有在-init-taskdefs目标之前在目标中设置的必需属性。

确实,我现在要做的就是使用gradle调用Ant来构建我的项目。最好的方法是什么,因为使用gradle使用Ant build.xml文件进行构建似乎无法正常工作?我必须求助于使用exec吗? (我希望不是)。

最佳答案

我发现尝试将Gradle的Ant与Netbeans项目集成在一起太困难且容易出错。相反,我使用Gradle的exec()命令。下面是一个示例,该示例来自我的代码,该代码构建了一个名为“Common Library”的NetBeans项目。

task commonLibrary {
doLast {
ant.echo("Building Common Library")
exec () {
workingDir = "../netbeans/nb/CommonLibrary"
executable = "ant"
args = ['clean', 'jar']
}
}
}

我意识到这不是您想要的答案,但是将其发布为其他人(特别是无法重新构建其build.xml文件的人)的可能解决方案。

关于netbeans - 从Gradle构建NetBeans Ant项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com