0
votes

Today, my team has a handful of projects which are frequently 'published' for production usage. We are using JFrog's hosted Artifactory solution to host our binaries, but are running into a problem when project publish both jars and assembly files.

From speaking to someone at JFrog, they said the following.

Artifactory expects the deployment to be in the following order (as done by Maven):

  1. jar
  2. pom
  3. classifiers

I suspect that since you are deploying the files on a different order, Artifactory fails to calculate the unique snapshot.
However, there is a way to make it work:

For each artifact add the ‘build.timestamp’ HTTP matrix param with the current time in milliseconds. Note that all of the artifacts from the same build should have the same timestamp value.

For example:
http://myaccount.artifactoryonline.com/myaccunt/libs-snapshots-local/com/artifact-SNAPSHOT.jar;build.timestamp=1375140480339

Two questions out of this: is SBT really publishing in a different order and if so how do I change the publish url to include this build.timestamp?

1

1 Answers

1
votes

sbt doesn't publish in a defined order. I don't think there is a way to put a timesamp in the published URL, so the best option is to implement an order in sbt itself.

Previous discussion: https://groups.google.com/d/topic/simple-build-tool/FZqTfpizI-k/discussion The link there is now at: https://github.com/sbt/sbt/blob/0.13/ivy/src/main/scala/sbt/IvyActions.scala#L257