Export to GitHub

disruptor - issue #2

Publish to Maven Central


Posted on Jul 15, 2011 by Happy Bear

What steps will reproduce the problem? 1. Disruptor project is not available through Maven Centrall

What is the expected output? What do you see instead? I would like to import the disruptor library as a maven dependency like so: <dependency> <groupId>uk.co.lmaxtrader</groupId> <artifactId>distruptor</artifactId> <version>1.2.1</version> </dependency>

What version of the product are you using? On what operating system? All versions. All OSes

Please provide any additional information below. Sonatype provides free maven repository pushes for open source projects:

https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide https://oss.sonatype.org/

I use them for my projects with great success and have had no problems.

Comment #1

Posted on Aug 30, 2011 by Helpful Rhino

This is an enhancement, not a defect.

Comment #2

Posted on Sep 4, 2011 by Happy Horse

I volunteer to work on this if you want.

Comment #3

Posted on Sep 9, 2011 by Grumpy Horse

Please find in the attached patch all the stuff (and something more, maybe unneeded but in the wishlist) needed to deploy disruptor in the maven central repo Note that I didn't modify your source tree at all, I just added the pom.xml and some other useful config file such as the distribution package descriptor.

To test the whole lifecycle, just run {{mvn clean site package -P release}}

Performances tests are included in a separate profile, to have them included, type {{mvn clean site package -P perf,release}}

Feel free to contact me even directly if something is not clear, I would be happy to provide any other kind of help.

To release on central repo, you just need to perform other extra step as described in the documentation attached in the initial report.

Hope that helps!

Attachments

Comment #4

Posted on Sep 9, 2011 by Happy Monkey

Definitely something needed

Comment #5

Posted on Sep 26, 2011 by Happy Giraffe

+1. Maven is central to enterprise Java development these days. Great work!

Comment #6

Posted on Sep 26, 2011 by Happy Wombat

+1. We use Maven for dependency management. Having to manually deploy an artifact to our repository manager is a barrier to entry that generally means we end up not using a library.

Comment #7

Posted on Oct 29, 2011 by Happy Panda

+1 Also please mavenize whole project. It will help in supporting of IDE configurations and build scripts to be consistent, simplify understanding and building of project by using maven conventions and plugins.

Comment #8

Posted on Oct 29, 2011 by Grumpy Horse

The patch I submitted contributes on mavenize the project, without requiring any project structure modification - that means less work for disruptor maintainers and maven early adoption. Let's hope project owners take the patch in consideration to apply it soon.

Comment #9

Posted on Oct 29, 2011 by Happy Monkey

And if sonatype setup feels a bit too work to implement I would suggest hosting the repository in your svn. I did it in github in the past and it requires not more than 30 minutes to get up and running

http://www.thewebsemantic.com/2009/04/11/your-very-own-google-code-maven-repo/

Comment #10

Posted on Oct 29, 2011 by Happy Horse

I maintain a Mavenized mirror at GitHub https://github.com/mingfang/disruptor

Comment #11

Posted on Oct 29, 2011 by Happy Monkey

@mingfang, that's good but why don't you setup a hosted repository as well, as the lmax guys don't seem too interested in doing that? It's easy and it would be a good thing for the whole community - see instructions here: http://cemerick.com/2010/08/24/hosting-maven-repos-on-github/

Comment #12

Posted on Oct 31, 2011 by Grumpy Horse

there's no reason to NOT publish HQ software such as Disruptor in the central repo - pom in the patch is ready and what is needed is just a GPG key and a Nexus account!

Comment #13

Posted on Oct 31, 2011 by Happy Monkey

Agreed

Comment #14

Posted on Dec 7, 2011 by Grumpy Elephant

Having the library in Maven Central and mavenizing the whole project are two different things. I would suggest you use Gradle to build the project AND to publish to Maven Central (via Sonatype or some other repo).

Comment #15

Posted on Dec 7, 2011 by Grumpy Horse

the patch doesn't mavenize the project, it adds the maven build without altering any single existing line of original disruptor source code - moreover already setup to publish artifacts on central repo via Sonatype

Comment #16

Posted on Dec 7, 2011 by Swift Horse

It's also possible to upload the existing JARs manually into Maven Central through Sonatype. I've written a script which packages existing artifacts into a bundle (you just need to write the pom.xml) which can then be uploaded through Sonatype's site: https://github.com/orfjackal/maven-central-bundler

Comment #17

Posted on Dec 20, 2011 by Helpful Rhino

Will make it into 2.7.1

Comment #18

Posted on Aug 2, 2012 by Swift Bear

2.10 and 2.10.1 are not in the repo http://central.maven.org/maven2/org/axonframework/com/lmax/disruptor/

Comment #19

Posted on Aug 14, 2012 by Grumpy Elephant

They are on central there but under different artifact co-ordinates http://mvnrepository.com/artifact/com.googlecode.disruptor. Not sure if these are the right ones though. The previous ones had these co-ordinates: http://mvnrepository.com/artifact/com.googlecode/disruptor/2.7.1.

Comment #20

Posted on Aug 14, 2012 by Grumpy Elephant

Just found out these are the right ones. Have a look at http://code.google.com/p/disruptor/wiki/ChangeLog. "Artefacts made available via maven central repository. (groupId:com.googlecode.disruptor, artifactId:disruptor)"

Status: Fixed

Labels:
Priority-Medium Type-Enhancement