相关疑难解决方法(0)

创建密封Maven构建

我正在尝试创建一种方法,可以在仍然依赖项目中的SNAPSHOT依赖项的同时实现密码构建.

出于举例的目的,假设我有一个具有如下依赖结构的项目:

             ? other-1.2-SNAPSHOT
mine-1.2.3 ???
             ? thing-3.1-SNAPSHOT ?? gizmo-6.1.3-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

我想要做的是将所有SNAPSHOT依赖项本地解析为与我当前版本相关的内容,然后将这些作为发行版部署到我的Nexus发布存储库.并非所有这些依赖都是内部的,所以我不能简单地在每个上发布.

所以,在这个例子中,other-1.2-SNAPSHOT会成为像other-1.2-mine-1.2.3thing-3.1-SNAPSHOT会成为thing-3.1-mine-1.2.3.这在大约60行python中相对微不足道.

然而,问题在于将传递SNAPSHOT解析为具体版本.所以我还需要转换gizmo-6.1.3-SNAPSHOTgizmo-6.1.3-mine.1.2.3thing-3.1-mine-1.2.3依赖于它.

这只是实现我想要的一种方式的一个例子.目标是在未来一两年内,我可以检查我的版本1.2.3的发布分支,并能够运行mvn clean package等,而不必担心解决长期以来的SNAPSHOT依赖关系.

重要的是,这个分支是可编译的,而不仅仅是使用jar-and-dependencies程序集插件的功能来保留所有依赖项.我希望能够修改源文件并进行另一个版本构建(例如,应用修补程序).

所以,

  • 有没有这样的东西可以以递归的方式转换SNAPSHOT依赖项具体?
  • 是否有任何插件可以为您管理此类事情?发布插件在其branch目标上有一些配置选项的承诺,但它没有解决我想要的程度的外部deps.
  • 是否有其他技术可用于创建密封Maven构建?

build-automation maven-plugin maven-3 maven

9
推荐指数
1
解决办法
930
查看次数

标签 统计

build-automation ×1

maven ×1

maven-3 ×1

maven-plugin ×1