【问题标题】:Proper Artifactory repo structure for a Grails plugin?Grails 插件的正确 Artifactory 存储库结构?
【发布时间】:2014-08-22 16:21:47
【问题描述】:

我的 Grails 应用程序 (myapp) 需要使用一个 Grails (2.3.6) 插件 (grails-myplugin)。在MyPluginPlugin.groovy 里面,我有:

def version = "0.1.0"

在插件上运行package-plugin 后,我只剩下grails-myplugin-0.1-0.zip

我有一个 Artifactory 服务器位于:

http://myartifactory01/artifactory

在这个 Artifactory 实例内部是一个名为 myorg-releases 的存储库。

myappBuildConfig.groovy 中,我需要将插件指定为一个插件:

plugins {
    compile:    "???"
}

我的问题:

  1. 我的 compile 闭包(在 BuildConfig.groovy 内)需要什么才能从 Artifactory 中拉入插件?
  2. Artifactory 中插件的存储库路径需要是什么?比如:http://myartifactory01/artifactory/simple/myorg-releases/????假设在正常的 Maven/Ivy 情况下,我们的 organizationmyorgmodule 的名称是 grails-myplguin 或只是 myplugin(无论约定如何),当前的 revision0.1.0
  3. 如何处理插件的版本控制?只是增加version(在MyPluginPlugin.groovy 内),然后运行package-plugin 并将新版本发布到Artifactory 是标准做法吗?还是有更好/更受欢迎的方式?

【问题讨论】:

  • 我认为您必须从BuildConfig.groovy 中的repositories 部分开始,然后到mavenRepo "http://myartifactory01/artifactory/" 或类似的部分。之后,您可以在 dependencies 部分中使用您的插件。类似compile "myorg-releases:grails-myplugin:0.1.0"
  • 另外,您可以将您的插件(特别是如果源代码位于主项目附近)导入为grails.plugin.location.'myplugin' = "../.../grails-myplugin/"

标签: grails repository grails-plugin artifactory


【解决方案1】:

这是我使用标准 Artifactory 安装的方法。

编辑:对于第 3 个问题,您可以提高插件描述符中的版本号,或者如果进行细微更改,您可以使用相同的版本号 (--allow-overwrite) 重新发布它并删除 myApp 的目标目录,这将强制安装新插件。

/path/to/myPlugin/grails-app/conf/BuildConfig.groovy:

grails.project.dependency.distribution = {
    remoteRepository(id: "localPluginReleases", url: "http://localhost:8081/artifactory/plugins-release-local/")
    remoteRepository(id: "localPluginSnapshots", url: "http://localhost:8081/artifactory/plugins-snapshot-local/")
}

壳牌:

cd /path/to/myPlugin
grails clean
grails compile
grails publish-plugin --allow-overwrite --noScm --repository=localPluginReleases

/path/to/myApp/grails-app/conf/BuildConfig.groovy:

repositories {
    mavenRepo "http://localhost:8081/artifactory/plugins-snapshot-local/"
    mavenRepo "http://localhost:8081/artifactory/plugins-release-local/"
}

plugins {
    compile ":myplugin:0.1"
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多