How to setup development environment for rabbitmq-java-client?

43 views
Skip to first unread message

Владимир Бухтояров

unread,
Sep 3, 2015, 12:39:20 PM9/3/15
to rabbitmq-users
I am going to fix several issues(some of them are already registered in the github issue tracker), but I do not understand how to prepare development environment. If I understand correctly then current build system is "ant", which is little bit legacy and is not integrated with IDE as well as maven or gradle. So, developer should performs an amount of manual setting for its IDE, but there is no instructions how to prepare IDE to work. Could anybody share magic knowledges how to setup IDE? Does not matter eclipse or idea, or netbeans.

Michael Klishin

unread,
Sep 3, 2015, 1:12:44 PM9/3/15
to rabbitm...@googlegroups.com, Владимир Бухтояров
Vladimir,

Thank you for considering a contribution.   

ant is only used for the Java client (we’d like to move to Gradle some day).
You need to clone all rabbitmq repositories via the repo called rabbitmq-public-umbrella.

Then, assuming you have make, Erlang/OTP, JDK 7+ and libxslt available:

cd rabbitmq-public-umbrella
make co
cd rabbitmq-server
make run

(this will run RabbitMQ built from source, as expected by the Java client test suite)

and in another shell:
 
cd rabbitmq-java-client
ant test-functional

there’s also ant test-suite which runs a more extensive test suite.

As for IDEs, while I’m not buying the argument that ant is not supported by IDEs,
the library has no dependencies other than JUnit 3 (bundled in the repo).
ant dist will generate a .pom file which you can import into IDEA.

The only non-obvious thing is that some bits are generated by rabbitmq-codegen:
so make sure `build/gensrc` is marked as a source directory.

See http://www.rabbitmq.com/github.html for an overview of how our contribution process works.

I highly recommend posting some thoughts on what you’d like to work on to the list
before you start. Please also indicate what release your change(s) is intended for:
3.5.5 (no breaking changes allowed, branch off of stable) or 3.6.0 (reasonable
breaking changes are OK, branch off of master).
--
MK

Staff Software Engineer, Pivotal/RabbitMQ


Reply all
Reply to author
Forward
0 new messages