Grails - 未安装 SCM 提供程序

Grails - No SCM provider installed

我需要将我的插件部署到 Nexus 存储库中并在我的 SCM (Subversion) 中创建标签。 在 BuildConfig.groovy 中,我在 插件部分 中写了 build ":release:3.0.1" 并设置了存储库:

grails.project.repos.releases.url="http://my-nexus:8081/content/repositories/releases" grails.project.repos.releases.username="deployment" grails.project.repos.releases.password="deployment123"

当我启动 grails publish-plugin --repository=releases 命令时,我得到 WARN: No SCM provider installed.

如果我修正这个警告,它会在 Subversion 上创建一个标签吗? 请问我该如何解决这个警告?

这是一个可以忽略的警告。在我们从 http://svn.codehaus.org/grails-plugins/ to expecting that developers will maintain their own source (many were already doing this) and releasing plugins to the Artifactory server at http://repo.grails.org/grails/webapp/home.html?0

发布插件和源代码后,从插件中删除了对 Subversion 的支持

当前"standard"发布过程没有创建任何标签;相反,它会为当前版本创建一个新的子文件夹,并部署插件 zip plugin.xml 和 Maven POM 文件,例如http://repo.grails.org/grails/simple/plugins-releases-local/org/grails/plugins/acegi/0.5.3.2/

如果您想标记您的源代码,您可以查看插件的 Git 历史记录(源代码是 here),看看它以前是如何在 Groovy/Java 中以编程方式完成的, 或者制作脚本的那一部分并在 运行 发布脚本之后从命令行执行它。

如果您在 BuildConfig 中包含必要的依赖项,SVN 标记实际上在 2.4.4 中仍然有效。我没有意识到它是故意删除的。事实上,在迁移到 Git 之后,我实际上是在寻找让这个工作的方法,这让我来到了这里。我可能会诉诸于让构建服务器为 Git 做标记,但这里是如何让它为 SVN 工作:

   repositories {
        //Required for SVN dependencies
        mavenRepo "http://maven.tmatesoft.com/content/repositories/releases/"
    }
    dependencies {
        build("org.tmatesoft.svnkit:svnkit:1.8.6") {
            //excludes "jna", "trilead-ssh2", "sqljet"
            export = false
        }
    }
    plugins {
        build (":release:3.0.1") {
            export = false
        }
        build (":svn:1.0.2") {
            export = false
        }
    }