Grails - 未安装 SCM 提供程序
Posted
技术标签:
【中文标题】Grails - 未安装 SCM 提供程序【英文标题】:Grails - No SCM provider installed 【发布时间】:2015-01-15 10:34:41 【问题描述】:我需要将我的插件部署到 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
command 时,我得到WARN: No SCM provider installed.
如果我修复了这个警告,它会在 Subversion 上创建一个标签吗? 请问我该如何解决这个警告?
【问题讨论】:
【参考方案1】:这是一个可以忽略的警告。在我们从 http://svn.codehaus.org/grails-plugins/ 发布插件和源代码切换到期望开发人员将维护自己的源代码(许多人已经在这样做)并在 http://repo.grails.org/grails/webapp/home.html?0 向 Artifactory 服务器发布插件后,Subversion 支持已从插件中删除。
当前的“标准”发布过程不会创建任何标签;相反,它为当前版本创建一个新的子文件夹,并在那里部署插件 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 中以编程方式执行此操作的,或者将其作为脚本的一部分并执行运行发布脚本后从命令行中。
【讨论】:
【参考方案2】:如果您在 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
【讨论】:
顺便说一句,这仅在您的插件在 SVN 中结构化并且其内容直接在主干中时才有效。所以结构应该看起来像svn/repo/trunk/grails-app,svn/repo/trunk/MyGrailsPlugin.groovy等。如果它在trunk的子目录中,它将不起作用。以上是关于Grails - 未安装 SCM 提供程序的主要内容,如果未能解决你的问题,请参考以下文章