SBT depend on specific snapshot version

前端 未结 3 1423
北恋
北恋 2021-02-07 14:29

I have artifactory with multiple snapshots versions such as artifact-0.1-20120831.103456-5.

My project depends on specific snapshot version. If I tell SBT

3条回答
  •  死守一世寂寞
    2021-02-07 14:45

    Addition Apart from the unique version plugin, sbt also has the aether-deploy plugin (see below).

    There is the unique version plugin which lets you resolve your artifacts like you want. Quote from the page:

    How to point at it

    "0.1.0" or "0.1.0-20120602-073010" you can always use the static version number.
    "0.1.0-+" selects the latest 0.1.0 snapshot.
    "latest.integration" selects the latest revision regardless of its status.
    "latest.milestone" selects the latest revision with either Milestone or Release status.
    "latest.release" selects the latest with the Release status.
    

    But you also have to publish with this plugin, since the artifacts are published in a different manner regarding the version: In your example, the artifact won't be stored under 0.1-SNAPSHOT directory but under 0.1-20120831.103456-5

    Addition There is also the aether-deploy plugin which uses Aether (Aether offers a standard way of interacting with Maven repositories). Problem is that this plugin currently works for deploying only (as the name of the plugin suggests). Maybe the author has plans to extend it so that it works for resolving as well (sounds like a useful feature to me). If you can't publish with the unique version plugin (e.g. if the snapshots are not owned by you), then you could ask that at the sbt forum.

    So I can't offer a solution that works precisely as maven does for your use case, but hopefully it gives some useful info for you and others.

提交回复
热议问题