transloadit / java-sdk

Java client for Transloadit upload service
https://transloadit.com
MIT License
11 stars 7 forks source link

Setup Maven Publishing #52

Closed cdr-chakotay closed 3 years ago

cdr-chakotay commented 3 years ago

We have to talk about the usage of the Adopt Open JDK in the build process. I configured Java 8. Are there any conflicts in licensing?

We should also set the Variables with the Sonatype Credentials

Do we have any chance for a dry run, testing this configuration anyhow?

closing #40 closing #43 closing #54

cdr-chakotay commented 3 years ago

I guess we have to edit the repository URL for that right ? https://s01.oss.sonatype.org/content/repositories/snapshots/

cdr-chakotay commented 3 years ago

We should also set the Variables with the Sonatype Credentials

I have already done that.

I do not have access, what are their names ?

Acconut commented 3 years ago

I guess we have to edit the repository URL for that right ?

Might be, yes. We can change it briefly for the test and then revert back.

I do not have access, what are their names ?

The same as in the Github Actions script: SONATYPE_USER and SONATYPE_KEY. So there is no need to change anything, I assume.

cdr-chakotay commented 3 years ago

I think we should be able to perform singing on the releases. @Acconut we should place the needed secrets at GitHub Secrets

cdr-chakotay commented 3 years ago

We could use this Plugin in order to configure the releasing process on Maven central: https://github.com/gradle-nexus/publish-plugin/

Pros:

Cons:

There should be also a possibility to wrap Ant Tasks directly in Gradle to control the nexus staging process. But i think this would be super complicated.

Conclusion:

Maybe i should focus on other issues and just click the close button by hand for now and focus on other issues before this gets super complex. But i could also try to implements this if you want me to.

Acconut commented 3 years ago

release works completely automated

That would be amazing :100:

3rd Party Plugin, which deals with our credentials

Good point. As long as it is a community-trusted project with a pinned version, we should also trust it.

Manual Repo Closing doesn't hurt that much and makes a review of the uploaded artifacts possible

Kevin and I are very fond fans of automating releases as much as possible :) I can understand that a single click does not sound a lot of work. However, it has happened often in the past that changes were not released because the barrier for a release it too high (for example, there is no version 0.1.6 on Maven Central). Furthermore, this manual step is another thing we would need to document and then teach new maintainers, which is easy to forget.

Needs new Gradle config

Sounds doable :D

focus on other issues before this gets super complex.

If you are not really interested in this right now, we can also work on this in the future. However, I am very keen on having fully automated releases soon-ish (especially before we forget about the full release procedure again). And don´t worry about the time investment: The entire CI procedure we develop here will then also be adopted for the Android SDK, tus-java-client and tus-android-client. So the time investment will definitely pay off :)

cdr-chakotay commented 3 years ago

Turned out it was foolproof with signing and everything being already set up :D

I'm ready for review and testing @Acconut.

SNAPSHOTS still remain open, but i will take care of them

Guess everything works