是的,我确实需要应用'maven'和'artifactory'插件。但是,有许多现有的Jenkins作业显式调用'uploadArchives'(由maven插件提供)。我想在我自己的插件中重写这个,当'uploadArchives'被使用时强制它调用'artifactoryPublish'。在gradle插件中,如何用artifactory插件'artifactoryPublish'替换Maven插件'uploadArchives'?
我想在我的插件中以编程方式执行此操作,而不是更改数百个build.gradle文件,并且我尝试了所有目前为止没有运气可以考虑的每种调用组合。
最后一点需要注意的是,至少要使用Gradle 2.4,因为正在使用gradle包装,并且在一组构建中调用了几个不同版本的gradle。
任何人都有如何完成这个想法?
这是我试过的最新的东西:
project.getTasks()代替( 'uploadArchives',MyTask)
虽然构造函数被调用(由一个println消息验证),任务本身从未被调用过(通过添加一个明确的'throw'语句并且从未看到异常来验证)。
你是否必须重写该任务?补充工作吗? – RaGe
另外,一旦你成功地构建你的插件,你不必再将你的插件添加到数百个build.gradle文件中吗? – RaGe
我不希望任何人使用uploadArchives,但可能有几百个现有的自动作业调用它。所以,如果这些工作能够调用我的东西,而不必更改所有这些工作,那将会很有帮助。至于添加我的插件,这已经完成 - 我只是改变实现。 –