什么应该存储在“plugins-release-local”和“plugins-snapshot-local”存储库

时间:2016-01-17 23:45:00

标签: maven artifactory release-management

神器网站列出了6种类型的回购,并声称这种命名方案是最佳实践:

我有2个问题,

  1. 应该在plugins- * repos中存储什么。请举一个具体的例子。我不明白为什么插件应该有一个单独的回购。
  2. 此最佳做法记录在哪里?
  3. https://www.jfrog.com/confluence/display/RTF/Local+Repositories

    libs-release-local = Your code releases
    libs-snapshot-local= Your code snapshots
    ext-release-local = Manually deployed 3rd party libs (releases)
    ext-snapshot-local = Manually deployed 3rd party libs (shapshots)
    plugins-release-local = Your and 3rd party plugins (releases)
    plugins-snapshot-local =  Your and 3rd party plugins (snapshots)
    

1 个答案:

答案 0 :(得分:3)

Artifactory只是因为Maven成功而做出这种区分。这与Maven一致。

在Maven中,插件的依赖项和存储库的存储库在2个不同的标记中声明:即<repositories>表示依赖项,<pluginRepositories>表示插件。

插件存储库用于声明对插件的依赖性。例如,Maven正确解析了maven-compiler-plugin,因为Super POM中定义了<pluginRepository>(实际上指向Maven Central)。如果您要在公司内部开发Maven插件,最好将其存储在plugins-* repo中。

关于这个“最佳做法”,没有任何官方网页(我至少可以找到),但请注意quoting the Maven docs(强调我的):

  

存储库是两种主要类型工件的所在地。第一个是用作其他工件的依赖项的工件。这些是位于中央的大多数插件。另一种类型的工件是插件。 Maven插件本身就是一种特殊的工件。因此,插件存储库可能与其他存储库分开(尽管如此,我还没有听到这样做的令人信服的论据)。在任何情况下,pluginRepositories元素块的结构类似于存储库元素。每个pluginRepository元素都指定了Maven可以找到新插件的远程位置。