-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove excessive coupling between sonatype commands and publishSigned #49
Comments
@jvican I don't think there is any dependency between publishSigned and sonatypeRelease command. I don't know why you are seeing this dependency, but my expectation is running publishSigned concurrently for multiple modules, but I usually would like to run sonatypeRelease command only once. If there is a proper way to define a task which can be defined only at the root module, we can make sonatypeRelease as a task, but I struggled to define a task that can be enabled only at the root module other than setting redundant task settings in every projects (e.g., |
The dependency comes from the fact that:
This means there's no support for executing In any case, having all these commands as tasks and decoupling the consumption of state would allow for the parallel execution of I'm not proposing a concrete fix to this situation yet, though I do give some hints. The goal of this comment is to make sure that we're on the same page and remove sources of miscommunication. |
I think I understand your points, and a reason we cannot use tasks right now is sbt auto-plugin will enable sbtSonatypeRelease task for all projects. The early implementation of sbt-sonatype actually used tasks for sonatypeXXX, but gave it up because we cannot distinguish project types (root? aggregated? or sub-module?)
|
I'm not sure if this is related but i've also found that executing |
I really don't understand how |
I've experienced the same, and I documented it here: jvican/sbt-release-early#18. |
@maqdev @jvican Mill's Sonatype publishing support always puts things in a single staging repository, and it will always only close/release the staging repository it published. Mill thus doesn't have any of the weird concurrency issues I used to keep hitting with SBT. Mill's upload-to-sonatype and close-release-from-sonatype functions are just functions, and we pass the profile ID between them as a function parameter |
sbt-sonatype 3.0 supports concurrent publishSigned by using @jvican Let me close this ticket now that we have a solution for this. |
In my experience, there's an indirect dependency between
publishSigned
and all the sonatype commands, meaning that ifpublishSigned
is executed concurrently the whole sonatype release will fail, detecting changes coming from other repositories.I don't know why this is done this way, and I couldn't find the exact way it's done (I think you're polling the repo info from xml files created by
publishSigned
?), but I think this is undesirable:Is there any way we can remove such decoupling? I find the way sbt-bintray handles releases ideal.
bintrayRelease
is completely independent ofpublishSigned
, and can be executed concurrently.Maybe the solution to all this is to get rid of the commands and just have tasks, as bintray does...
The text was updated successfully, but these errors were encountered: