Chapter 15. Getting the JBossRemoting source and building

The JBossRemoting source code resides in the JBoss SVN repository. The tagged versions are found in https://svn.jboss.org/repos/jbossremoting/remoting2/tags, and the working branches are found in https://svn.jboss.org/repos/jbossremoting/remoting2/branches.

To check out the source for version 2.4.0.GA using the anonymous account, use the following command:

 svn checkout http://anonsvn.jboss.org/repos/jbossremoting/remoting2/tags/2.4.0-GA.

and to check out the source using a committer user id, use the following:

svn checkout https://svn.jboss.org/repos/jbossremoting/remoting2/tags/2.4.0-GA

On the other hand, to get the working branch for version 2.4, use

 svn checkout http://anonsvn.jboss.org/repos/jbossremoting/remoting2/branches/2.x.

or

svn checkout https://svn.jboss.org/repos/jbossremoting/remoting2/branches/2.x.

These commands should checkout the entire remoting project, including doc, tests, libs, etc.

See http://wiki.jboss.org/wiki/SVNRepository for more information on how to access the JBoss SVN repository and how to get committer access.

The build process for JBossRemoting is based on a standard ant build file (build.xml). The version of ant currently in use is ant 1.7.0, but earlier versions should work as well as there are no special ant features being used.

The main ant build targets are as follows:

compile - compiles all the core JBossRemoting classes.

jars - creates the jboss-remoting.jar file from the compiled classes

dist.jars - creates the subsystem jar files (jboss-remoting-core.jar, jboss-remoting-socket.jar, etc.) from the compiled classes

javadoc - creates the javadoc html files for JBossRemoting

tests.compile - compiles the JBossRemoting test files

tests.jars - creates the jboss-remoting-tests.jar and jboss-remoting-loading-tests.jar files.

tests.quick - runs the functional unit tests for JBossRemoting.

tests - runs all the functional tests for all the different transports.

tests.performance - runs all the performance tests for all the different transports.

tests.versioning.all - runs all the versioning tests for all the different transports.

clean - removes all the build artifacts and directories.

most - calls clean then jars targets.

dist - builds the full JBossRemoting distribution including running the full test suite.

dist.quick - builds the full JBossRemoting distribution, but does not run the test suite.

The root directory for all build output is the output directory. Under this directory will be:

classes - compiled core classes

etc - deployment and JMX XMBean xml files

lib - all the jars and war file produced by the build

tests - contains the compiled test classes and test results

For most development, the most target can be used. Please run the tests.quick target before checking anything in to ensure that code changes did not break any previously functioning test.