gpt4 book ai didi

apache-flex - 创建 Ant 构建脚本以仅在更新依赖项时进行构建

转载 作者:行者123 更新时间:2023-12-02 04:10:11 24 4
gpt4 key购买 nike

我几天前才刚开始与ant合作。现在,我有一个通用的buildall.xml,应该调用每个项目的build.xml。因为有些项目相互依赖,所以我需要重建一些其他依赖它的项目。这不是问题,我只是设置目标的Depends属性。但是,即使文件没有更改,ant也会始终建立依赖关系。

假设project1没有依赖项; project2取决于project1; project3取决于project1、2; project4取决于project1、2和3;等等。

我可以破解一个查看项目K的解决方案,并检查项目1 ..项目K是否使用uptodate更新了文件。如果是这样,请运行目标。这很杂乱,似乎不必要。

什么是实现此目的的最干净的方法?

编辑:因此,我决定只破解一堆目标“check_projectK”,在该目标上对其所有源文件,其构建文件以及1 .. K-1项目的构建文件执行uptodate检查。由于依赖关系,始终可以正确处理。但是,对于较大的工作空间,这仍然是大量的复制和粘贴。我将保持开放。

最佳答案

简短的回答是,ANT无法做到,除非您有某种方法可以连接到版本控制系统并检查是否有任何更改(您使用的是源代码控制吗?)。 Ant不知道文件上次更改的时间,然后查看它是否与构建的文件匹配。它没有依赖库的概念。 Ant的全部目的是构建它。

解决问题的方法不是 Ant ,而是Maven。 Maven具有依赖项存储库。 Maven还有一个非常漂亮的插件,专门与Flex一起使用,称为FlexMojos。通过使用此功能,Maven可以知道上次构建的时间,因为它已上传到存储库。然后,其他项目可以添加它的依赖项并下载所需的SWC。

最重要的是,它与Hudson,Bamboo和Teamcity之类的持续集成引擎完美地结合在一起,该引擎每次将文件提交到源代码控制系统时都会构建一个项目,然后自动更新所有相关项目!

关于apache-flex - 创建 Ant 构建脚本以仅在更新依赖项时进行构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5664938/

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