You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Many people are experiencing issues publishing their projects to Maven Central with SBT.
Typical complaints are:
It takes a lot of time
Many staging repositories may be open (see Found multiple staging repositories xerial/sbt-sonatype#83) and it may be impossible to promote a release in case, for example, a jar and it's signature file got into separate repositories.
Many projects (ZIO, for example) suffer from these problems.
I've investigated the issue a bit and found that just using Nexus-specific APIs may drastically improve user experience. So, in our case I got a 40x speedup - from 80 minutes with SBT to 2 minutes with Nexus publisher.
In order to prepare input for the script you have to publish to a local directory first with publishTo := Some(Resolver.file("file", new File("/path/to/repo")))
I think that SBT must support Nexus APIs and be able to publish to Central efficiently in transactional manner. Countless hours are being wasted because everyone publishes the usual way. And it should be relatively easy to do it.
Also it worths investigating if the same can be done for Artifactory.
Many people are experiencing issues publishing their projects to Maven Central with SBT.
Typical complaints are:
Many projects (ZIO, for example) suffer from these problems.
I've investigated the issue a bit and found that just using Nexus-specific APIs may drastically improve user experience. So, in our case I got a 40x speedup - from 80 minutes with SBT to 2 minutes with Nexus publisher.
The following simple ANT script does the job:
More details may be found here
In order to prepare input for the script you have to publish to a local directory first with
publishTo := Some(Resolver.file("file", new File("/path/to/repo")))I think that SBT must support Nexus APIs and be able to publish to Central efficiently in transactional manner. Countless hours are being wasted because everyone publishes the usual way. And it should be relatively easy to do it.
Also it worths investigating if the same can be done for Artifactory.