mockito / shipkit

Toolkit for shipping it used by Mockito library
http://shipkit.org
MIT License
158 stars 35 forks source link

Default POM generated by Shipkit does not meet Maven Central requirements #859

Closed jverbus closed 4 years ago

jverbus commented 4 years ago

(I spent a few hours figuring this out and found a solution. I'm submitting and closing this ticket anyway to document it in case someone else runs into the same challenge.)

I publish artifacts for this open source project to Bintray using Shipkit: https://bintray.com/linkedin/maven/isolation-forest

I'd like to sync them with Maven Central using these instructions: https://www.jfrog.com/confluence/display/BT/Syncing+with+Third-Party+Platforms#SyncingwithThird-PartyPlatforms-SyncingArtifactswithMavenCentral

Maven Central has many requirements for the POM file: https://central.sonatype.org/pages/requirements.html

I was able to sync my artifacts into a Maven Central staging repository, but when I tried to close the staging repository to release the artifacts to Maven Central, the POM produced by Shipkit fails the validation step due to the missing <developers> section (Shipkit does produce a <contributors> section).

failureMessage | Invalid POM: /com/linkedin/isolation-forest/isolation-forest_2.4.3_2.11/0.3.1/isolation-forest_2.4.3_2.11-0.3.1.pom: Project description missing, Developer information missing
failureMessage | Invalid POM: /com/linkedin/isolation-forest/isolation-forest_2.3.0_2.11/0.3.1/isolation-forest_2.3.0_2.11-0.3.1.pom: Project description missing, Developer information missing

Based upon manual comparison with the Maven Central requirements, I think there may be a few other missing fields (I didn't see errors for these). In particular, Maven Central requires a <description> section.

jverbus commented 4 years ago

The following screenshot shows the error.

Screen Shot 2020-01-29 at 9 08 04 PM
jverbus commented 4 years ago

After some time looking at the Shipkit docs, the gradle-bintray-plugin docs, and some other existing projects using these tools, I was able to solve this issue with the changes to my shipkit.gradle file in the PR here: https://github.com/linkedin/isolation-forest/pull/9