EsotericSoftware / jsonbeans

Java object graphs, to and from JSON automatically
BSD 3-Clause "New" or "Revised" License
91 stars 30 forks source link

Integrating Gitflow Slim action + Gradle plugin #15

Closed jjzazuet closed 3 years ago

jjzazuet commented 3 years ago

Ok it's been a while, but now I have a good proposal for discussion.

This PR adds Gradle as the library's build system, while also integrating with this Github Action which will manage SNAPSHOT, MILESTONE and RELEASE artifact version publications for your project towards Sonatype OSS repositories (i.e. Maven Central).

I have listed and documented the costs/benefits of this framework here: https://vaccovecrana.github.io/gitflow-oss-java-slim/

Upon closer inspection of the PR, the most important part to look at is a JSON file which you must customize with your own developer metadata and credentials (sharing those with me is not required, nor encouraged).

So using the documentation above, you'll need to:

  1. Understand what the Github Action + Gradle plugin are doing.
  2. Customize the build file's Org config JSON with your own Sonatype credentials and Maven signing key, and store them as Github Secrets.
  3. Try out an initial SNAPSHOT and MILESTONE action execution in a development branch.
  4. Promote a new RELEASE version in Maven Central once the Org config is defined to your liking.

I have also provided a quick Org config bootstrap section in the Github pages site: https://vaccovecrana.github.io/gitflow-oss-java-slim/04-bootstrap/

Let me know if you have follow up questions or concerns. Thanks!

jjzazuet commented 3 years ago

@NathanSweet an initial private release (using my Org config, signing key and Maven coordinates) is now published to Maven Central, here: https://repo1.maven.org/maven2/io/vacco/jsonbeans/jsonbeans/

If you wish to have the publication under your namespace com.esotericsoftware, please follow the instructions above.

Alternatively, I can continue pulling your changes into my fork and releasing under my namespace. Let me know what you'd like to do.

Thanks!

NathanSweet commented 3 years ago

I would like to make as few changes to the project as possible: