Skip to content

Figure out pushing a package to bintray via API #952

Description

@bruno-garcia

Depends on #950 #951

  • get the artifacts from zeus (Pull artifacts from CI/zeus to publish #951) which craft does automatically.
  • unzip the artifact to get the individual files
    • It'll be one artifact per package (like io.sentry_sentry.zip, io.sentry_sentry-android.zip)
  • pgp sign them (expected the local machine to have the key)
  • it's OK to expect the device has environment variables set with API keys
  • Push the files to maven central via an API

Something like:

curl -v -F r=central -F hasPom=true -F e=jar -F file=@pom.xml -F file=@project-1.0.jar -u admin:admin123 http://localhost:8081/nexus/service/local/artifact/maven/content

The ultimate goal is to create a craft target to maven central:
https://github.com/getsentry/craft/tree/master/src/targets

This target could be invoking a command (like mvn, or ./gradle task where task is somethign in this repo written in Kotlin) but ideally it would just be written there in TypeScript.

We can push to bintray only, which does the sync now that the repositories got sorted out. Pushing directly to jcenter and maven central will be more complex and now bintray is sorted to sync all Java and Android packages.

Some resources:
https://central.sonatype.org/pages/ossrh-guide.html
https://support.sonatype.com/hc/en-us/articles/213465818-How-can-I-programmatically-upload-an-artifact-into-Nexus-2-

Metadata

Metadata

Labels

CraftCraft - Making a release
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions