feat(maven): Add maven target to deploy to Maven Central - #258
Conversation
AbhiPrasad
left a comment
There was a problem hiding this comment.
Looks good so far!
We might have to adjust the maven upload command to be a little more configurable but I think that’s a non-issue right now
mavent target to deploy to Maven Centralmaven target to deploy to Maven Central
AbhiPrasad
left a comment
There was a problem hiding this comment.
Last set of comments, will then wait for undraft to finish review
These credentials are the same as OSSRH credentials, so no need to have required duplicated vars.
| // Maven central is very flaky, so retrying with an exponential delay in | ||
| // in case it fails. | ||
| await retrySpawnProcess(this.mavenConfig.gradleCliPath, [ | ||
| 'closeAndReleaseRepository', | ||
| ]); |
There was a problem hiding this comment.
right now a Gradle plugin does it (close and promote the releases): https://github.com/vanniktech/gradle-maven-publish-plugin/tree/master/src/main/kotlin/com/vanniktech/maven/publish/nexus
if we do those HTTP requests directly via Craft, we could remove the Gradle plugin for good.
There was a problem hiding this comment.
There's no support for the Gradle plugin yet, it will be supported at a later stage. This is targeting https://github.com/getsentry/sentry-java.
There was a problem hiding this comment.
that's not really related to our sentry android gradle plugin, but rather the graadle plugin that calls closeAndReleaseRepository.
if we replicate what that plugin does via craft, we can eliminate the usage of 3rd party plugins to release our things
There was a problem hiding this comment.
the maven cli does not have the ability to close the repo and promote the releases on sonatype, thats why we use this plugin, otherwise, we'd need to do it manually.
There was a problem hiding this comment.
Added a TODO, we can address this later.
BYK
left a comment
There was a problem hiding this comment.
We should probably add a todo somewhere about updating the Docker image to include the necessary binaries?
The goal of the `symbol-collector` target is to continue automating the release of [`sentry-java`](https://github.com/getsentry/sentry-java) (Android and Java). #258 automated publishing to Maven Central, and this PR automates uploading symbols to the Android Bucket.
The goal of the new
maventarget is to automate the publishing ofsentry-java(Android and Java) to Maven Central.