我有很多蚂蚁项目,我想迁移到gradle。所有项目都有一个共同的config.xml
文件。此文件存在的原因与构建无关,但我想将其信息保存在一个位置,因此我也会在ant构建期间对其进行评估。
我使用PluginExtension和ParserTask创建了一个自定义插件。 PluginExtension允许用户提供config.xml
路径作为属性。 ParserTask自动定位文件或使用提供的路径定位文件,如果找到则解析文件。然后使用config.xml
中的相应配置数据填充剩余的PluginExtension属性。
这很有效,但有一个主要缺点:由于解析是在一个任务中完成的,所以PluginExtension的各个属性在构建的配置阶段没有填充来自config.xml
的信息。这会在我的构建文件中导致所有类型的异常变通方法,因为我无法在配置阶段设置存档基本名称或在该阶段配置清单,因此我需要在执行阶段更新此信息。
如何在构建期间解析config.xml
,以便在配置阶段已经使用正确的值填充了属性?
将配置信息移动到属性文件并在构建期间重新生成config.xml
不是一个选项,因为我还需要维护ant构建一段时间。另外,我需要config.xml
文件作为版本控制的一部分。
编辑:尽管我自己找到了答案,但我仍然对其他答案感兴趣,特别是如果他们解决了我留下的问题。
答案 0 :(得分:0)
我现在将解析移动到PluginExtension并从PluginExtension构造函数调用解析器。还有一个缺点。我无法再使用该扩展程序配置搜索config.xml
的位置。相反,我必须完全依赖文件搜索。这对我目前的用例来说没问题。