Please deploy your components to maven central #165

Closed
dschmitz opened this Issue Feb 11, 2014 · 23 comments

Comments

Projects
None yet
7 participants

Please deploy your components to maven central according to these guidelines:

https://maven.apache.org/guides/mini/guide-central-repository-upload.html

Your repository URL does not work at all I get 404 with:
http://sevntu-checkstyle.github.com/sevntu.checkstyle/maven2

And standard convention of deploying everything of your project to maven central is more convenient. As I do not have to configure my Maven Proxy Server (Nexus) to handle your repo.
Imagine I would have to do that for every 3rd party library I am using. I have also had reliabilty problems with other maven repo stuff on github. So I would recommend aiming at a deployment to maven central.

Owner

romani commented Feb 14, 2014

Our repository works fine. Tt is github feature to not show folder structure, and print 404.

See example project, that work fine:
https://github.com/sevntu-checkstyle/checkstyle-samples/tree/master/maven-project

But will definitely go to maven central.

alexkravin was assigned by daniilyar Jul 7, 2014

Owner

daniilyar commented Jul 7, 2014

@rivanov, lets discuss in Skype

alexkravin was unassigned by romani Jul 7, 2014

Owner

romani commented Jul 7, 2014

that issues have to be done by mentors.
Instructions: https://github.com/sevntu-checkstyle/dsm-maven-plugin/wiki (see all pages)

daniilyar added the task label Jul 13, 2014

@daniilyar daniilyar added moderate and removed task labels Aug 15, 2014

daniilyar self-assigned this Nov 15, 2014

daniilyar was unassigned by romani Dec 26, 2014

Owner

daniilyar commented Jan 12, 2015

We can deploy our jars to bintray and automate deployment using script like this: https://github.com/bintray/bintray-examples/blob/master/bash-example/pushToBi

@daniilyar daniilyar added a commit to daniilyar/sevntu.checkstyle that referenced this issue Apr 9, 2016

@daniilyar daniilyar Issue #165: Deploy your components to Maven central
1. Switched sevtu-checks to SNAPSHOT version in order to be able to deploy it with Maven release plugin
2. Updated sevntu-checks pom to allow deploying sevntu-checks artifact to Maven central
3. Added deploy-to-central shell script. Usage: `./deploy_to_maven_central.sh --artifact sevntu-checks`

See more info at https://dzone.com/articles/deploy-maven-central
12e1156
Owner

daniilyar commented Apr 10, 2016

Blocked by #409, switching on it first

Owner

romani commented Apr 14, 2016

Ideally I would love to remove all binaries from gh-pages at all, so deployment to bintray is in demand (maven central could host only maven standard packages, but we have more).

As location of binaries change we need to update :
https://github.com/sevntu-checkstyle/checkstyle-samples
https://github.com/checkstyle/checkstyle/blob/master/pom.xml#L213

Contributor

vorburger commented Aug 9, 2016

+1 ... FYI I've recently introduced sevntu-checkstyle to our community (http://OpenDaylight.org), and while we have added http://sevntu-checkstyle.github.com/sevntu.checkstyle/maven2 to our https://nexus.opendaylight.org, some people considers this... "sub optimal", and would prefer to pull things only from Maven central, see e.g. discussion on https://lists.opendaylight.org/pipermail/dev/2016-August/002533.html

Is there anything in particular that one could help with to support this move? Is this currently really "just" blocked by #409 ? So best way to support this would be to contribute to #409, yes?

PS: Full disclosure - I've personally been "on the other side" of such a request, see vorburger/MariaDB4j#21, and have myself gone through the hoops of Central deployment - so I appreciate for you guys maintaining sevntu.checkstyle this is a "moderate", but my FLOSS experience has been that deployment to Maven central does seem to ease a project's seamless adoption by others.

Owner

romani commented Aug 9, 2016

I marked #409 as resolved.

we need update our shell file that do release to github and maven central.

huxi commented Jan 11, 2017

Another +1 since this prevents me from using sevntu-checks because of company guidelines.

A less bureaucratic reason to avoid just adding repositories to builds is that those additional repos will also be used to check for other artifacts, thus potentially causing a general impact on the build performance. While that impact can be avoided, e.g. by using a caching, internal repository like Nexus or Artifactory, it's not necessarily apparent that the problem even exists.

Can you guys please reconsider this issue... We keep having our builds stalling at Artemis for this... we will likely remove the usage as the repository keeps going back and forth.

Owner

romani commented May 24, 2017

release process is a bit automated - deploy-all.sh
I need help from community to make sure it continue to work and deploy to maven central additionally (as not all jars that we generate could be stored in maven).

Issue is not done only because I over busy in main project with active Pull Requests (PR) and feedback to active contributors.
If smb could help this issue to be done - I will be happy to accept PR.

I think you can do this only once by using the "Approved Repository Hosting"..

I'm not sure how to apply for it though.. but it is not something complicated afaik. It's more about assuring identity of the repo than anything else.

Owner

romani commented May 25, 2017

we need to change group id for "sevntu-check"
from <groupId>com.github.sevntu.checkstyle</groupId>
to <groupId>com.github.sevntu-checkstyle</groupId>

we already got a place on maven :) , I already forgot about this - https://repo1.maven.org/maven2/com/github/sevntu-checkstyle/ .

if smb have time - please provide PR.

Owner

romani commented May 25, 2017

First step , to change groupId - #588

Owner

romani commented May 25, 2017 edited

2nd step is to use maven parent (mandatory for maven central artifacts as far as I remember)

<parent>
    	<groupId>org.sonatype.oss</groupId>
    	<artifactId>oss-parent</artifactId>
    	<version>9</version>
</parent>

3rd step
and make sure that source and javadoc jar are generated (this is mandatory in maven central).
Example - https://github.com/sevntu-checkstyle/dsm-maven-plugin/blob/master/pom.xml#L128

4th step:
make sure that mvn deploy on sevntu-checks and maven plugin do deployment to maven central (most likely all except for eclipse jars could go to maven central).
update deploy-all.sh to do deployment to maven central by special flag, as deploy-all.sh is used for build all process.
example of deploy to sevntu-checkstyle group - https://github.com/sevntu-checkstyle/dsm-maven-plugin/wiki/Uploading-maven-plugin-to-maven-central
automation of deploy to maven central - https://github.com/checkstyle/checkstyle/blob/master/pom.xml#L625 or use gdp plugin - https://github.com/sevntu-checkstyle/dsm-maven-plugin/blob/master/pom.xml#L158

romani added the approved label May 25, 2017

@romani romani added a commit that referenced this issue May 25, 2017

@romani romani Issue #165: add sonatype parent cf1ac77
Owner

romani commented May 25, 2017 edited

steps 1-3 are done. 4th is done partly, still need to figure out how to make staging work in deploy-all.sh (deploy to local folder and remote)

@romani seems like great progress here 👍

Owner

romani commented May 27, 2017

current problems with maven central deploy:

Event: Failed: Signature Validation
Saturday, May 27, 2017 06:26:51 PDT (GMT-0700)
typeId  signature-staging
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-sonar-plugin/1.24.0/sevntu-checkstyle-sonar-plugin-1.24.0-sources.jar.asc' does not exist for 'sevntu-checkstyle-sonar-plugin-1.24.0-sources.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-sonar-plugin/1.24.0/sevntu-checkstyle-sonar-plugin-1.24.0.jar.asc' does not exist for 'sevntu-checkstyle-sonar-plugin-1.24.0.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-sonar-plugin/1.24.0/sevntu-checkstyle-sonar-plugin-1.24.0.pom.asc' does not exist for 'sevntu-checkstyle-sonar-plugin-1.24.0.pom'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-sonar-plugin/1.24.0/sevntu-checkstyle-sonar-plugin-1.24.0-javadoc.jar.asc' does not exist for 'sevntu-checkstyle-sonar-plugin-1.24.0-javadoc.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checks/1.24.0/sevntu-checks-1.24.0.pom.asc' does not exist for 'sevntu-checks-1.24.0.pom'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checks/1.24.0/sevntu-checks-1.24.0.jar.asc' does not exist for 'sevntu-checks-1.24.0.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checks/1.24.0/sevntu-checks-1.24.0-javadoc.jar.asc' does not exist for 'sevntu-checks-1.24.0-javadoc.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checks/1.24.0/sevntu-checks-1.24.0-sources.jar.asc' does not exist for 'sevntu-checks-1.24.0-sources.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-maven-plugin/1.24.0/sevntu-checkstyle-maven-plugin-1.24.0.jar.asc' does not exist for 'sevntu-checkstyle-maven-plugin-1.24.0.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-maven-plugin/1.24.0/sevntu-checkstyle-maven-plugin-1.24.0.pom.asc' does not exist for 'sevntu-checkstyle-maven-plugin-1.24.0.pom'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-maven-plugin/1.24.0/sevntu-checkstyle-maven-plugin-1.24.0-sources.jar.asc' does not exist for 'sevntu-checkstyle-maven-plugin-1.24.0-sources.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-idea-extension/1.24.0/sevntu-checkstyle-idea-extension-1.24.0.jar.asc' does not exist for 'sevntu-checkstyle-idea-extension-1.24.0.jar'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-idea-extension/1.24.0/sevntu-checkstyle-idea-extension-1.24.0.pom.asc' does not exist for 'sevntu-checkstyle-idea-extension-1.24.0.pom'.
failureMessage  Missing Signature: '/com/github/sevntu-checkstyle/sevntu-checkstyle-idea-extension/1.24.0/sevntu-checkstyle-idea-extension-1.24.0-sources.jar.asc' does not exist for 'sevntu-checkstyle-idea-extension-1.24.0-sources.jar'.



Event: Failed: Javadoc Validation
Saturday, May 27, 2017 06:26:55 PDT (GMT-0700)
typeId  javadoc-staging
failureMessage  Missing: no javadoc jar found in folder '/com/github/sevntu-checkstyle/sevntu-checkstyle-idea-extension/1.24.0'

clebertsuconic commented May 27, 2017 edited by romani

Owner

romani commented May 27, 2017 edited

Looks like Close&Release process is finished without problems at https://oss.sonatype.org/#stagingRepositories

Artifacts of 1.24.0 and above will be available at https://repo1.maven.org/maven2/com/github/sevntu-checkstyle/
github maven repository will be continue to be in use(with new artifacts) for some time.

@romani romani added a commit that referenced this issue May 28, 2017

@romani romani Issue #165: fix for travis build to avoid gpg pluging , it should be …
…used only by special profile '-Pgpg'
21aa9b5
Owner

romani commented May 28, 2017

looks like all CIs are green finally.
Issue is resolved.

romani closed this May 28, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment