This message was deleted.
# community-support
s
This message was deleted.
a
We currently make use of the
gradle-nexus/publish-plugin
which goes through a nexus repository. Nexus has the ability to stage a set of changes which would theoretically work. The only issue is this isn't implemented yet: https://github.com/gradle-nexus/publish-plugin/issues/19 We're pondering taking this up or forking the plugin but wanted to see if I'm missing something obvious or find out what others are doing.
g
I just declare project-local repo and publish to it via `publishAllPublicationsToLocalRepository`:
Copy code
publishing.repositories {
  maven {
    name = "local"
    setUrl(rootProject.layout.buildDirectory.dir("repo"))
  }
}
Releases are done automatically from a tag. If you have reproducible builds it could be used instead of staging. Keep in mind that it's not really a staging though. Also it could be good for integration/functional/e2e testing (especially of the gradle plugins).
a
Thanks. My question is a more how to go from a local staging repo to a remote maven repository (specifically nexus) though. It seems like the ideal use case would be to build across all the various machines and then combine all the artifacts into a single local staging folder and publish that (without the need to rebuild anything). I see two paths. 1. Forgo the publishing plugin and just use curl or whatever to upload to maven repository. Once everything is staged including the pom files there is no additional work really other than to upload the artifacts. 2. Create a custom MavenPublication based on the pre-built local directory contents (e.g. via
setArtifacts()
) (1) may end up being the easiest I'm just not sure if I'm missing anything here or if it's more complicated than that. (2) seems like it may be hard to get the pom files correct as documentation indicates it's going to generate a pom file when we already have one at this point.