【问题标题】:Info needed on gradle release plugin as how maven provides release plugingradle 发布插件所需的信息作为 maven 如何提供发布插件
【发布时间】:2013-07-23 23:25:33
【问题描述】:

谁能让我知道 gradle 是否提供了任何发布插件来执行与 Maven 发布插件类似的任务?我知道我们可以在 gradle 中加载 maven 任务,但如果 gradle 提供了任何内置插件,我们不想这样做并保持干净。如果有,请发布示例配置或代码。提前致谢。

在 maven 中,我们通过 maven 发布插件执行以下任务:

release:clean Clean up after a release preparation.
release:prepare Prepare for a release in SCM.
release:prepare-with-pom Prepare for a release in SCM, and generate release POMs that record the fully resolved projects used.
release:rollback Rollback a previous release.
release:perform Perform a release from SCM.
release:stage Perform a release from SCM into a staging folder/repository.
release:branch Create a branch of the current project with all versions updated.
release:update-versions Update the versions in the POM(s).

谢谢 尼丁

【问题讨论】:

    标签: java jakarta-ee gradle build.gradle


    【解决方案1】:

    没错,有很多选择。我测试了大多数发布插件,并自己为不同的客户编写了几个。我真的推荐 nebula-release 插件 (https://plugins.gradle.org/plugin/nebula.nebula-release)。这是由 netflix 人员推动的,有据可查,维护良好,并支持所有类型的用例和自定义。

    【讨论】:

      【解决方案2】:

      为了它的价值,我最近发布了我自己的 gradle-release-plugin (https://github.com/anshulverma/gradle-release-plugin)。

      它适用于约定而不是配置。这就是为什么我首先构建它的原因。 大部分时间我们都想要同样的东西——语义版本控制,能够快照和标记提交,以及发布到 OSS 和 bintray 存储库的能力。这就是这个插件提供并负责大部分配置的内容。

      目前正在积极开发中。如果想到任何改进,请随时提出问题。

      【讨论】:

        【解决方案3】:

        我一直在使用提到的 townsfolk 的发布插件,但由于一些未解决的问题而不再积极开发(更新:似乎 Daniel Tschinder 接管了该插件的开发,所以可能会有更新版本)。

        最近我发现Axion发布插件不使用单独的文件来保持当前版本,而是使用Git提交和标签来确定它。它简化了发布过程并符合持续交付的趋势。还有一点很重要作者很负责。

        除了 README 文件之外,还可以在他们的blog 上找到很好的描述。

        Axion 本身只执行您列表中的版本控制测试,但它可以与 maven-publish、bintray 或任何其他发布插件一起使用,以将工件推送到远程工件存储库。

        【讨论】:

          【解决方案4】:

          据我所知,目前有 4 个发布插件。

          townsfolk 插件是最像 maven 插件的插件,到目前为止它运行良好......但目前没有维护(参见 github)。其他 2 个插件的工作方式与 maven 发布插件有很大不同(并且彼此非常相似)。这另外两个插件使用版本控制 (svn/git) 来跟踪版本号,而不是在 build.gradle 文件中隐藏(和更新)版本号。

          您还可以在此处找到各种方法:https://bitbucket.org/evgenyg/demo-releases-plugin/src/master/build.gradle 还有一些不错的幻灯片:http://www.slideshare.net/evgenyg/release-it

          希望这会有所帮助!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-05-07
            • 2023-03-19
            • 2017-10-17
            • 2021-11-10
            • 2021-05-09
            • 1970-01-01
            相关资源
            最近更新 更多