如何从Nexus OSS 3.0中检索最新的快照

时间:2016-09-26 14:13:27

标签: maven gradle nexus sonatype

我们目前正在使用Nexus OSS 3.0.0-03,我需要通过控制台检索最新的快照(或快照名称)。

Nexus OSS 3.x中不再提供其他帖子中提到的Rest-API(... / service / local / artifact / maven / ...)(我找不到404)

https://books.sonatype.com/nexus-book/3.0/reference/scripting.html#_writing_scripts中所述,可以编写“自己的”Rest Calls但我没有找到如何编写它们的文档(没有API-Doc,https://github.com/sonatype/nexus-book-examples/tree/nexus-3.0.x中没有示例)

是否有人知道如何以及如何检索快照名称

  • via URL
  • 通过“自己的”Rest-Script(例如repository.getLastestSnapshot(...)
  • 通过Gradle(如repositories.mavenDeployer)

3 个答案:

答案 0 :(得分:0)

目前没有REST API或支持的内部API来计算最新的SNAPSHOT版本。

答案 1 :(得分:0)

Althow我不建议依赖插件get中有一个目标。结合" - 更新快照" flag应该在你的场景中正常工作。

答案 2 :(得分:0)

我使用Groovy Grapes解决了一个小Groovy脚本的问题:

@GrabResolver(name = 'my-SNAPSHOT', root = 'http://mynexus:8081/repository/Snapshot-Repo/', m2Compatible = 'true')
@Grab('commons-io:commons-io:1.2')
import org.apache.commons.io.*


public class exec {
    public static void main(String[] args) {
        try {
            def g = groovy.grape.Grape.grab(group: "com.x.x.x", module: args[0], version: args[1], ext: 'zip')
            def depfile = groovy.grape.Grape.resolve([:], [group: "com.x.x.x", module: args[0], version: args[1], ext: 'zip'])[0]
            def workingFile = new File("release.zip");
            FileUtils.copyFile(new File(depfile), workingFile)
        } catch(Exception e){
            println e
        }
    }
}