Getting the JBossRemoting source and building
The JBossRemoting source code resides in the JBoss Subversion repository under the module jbossremoting. To check out the source using the anonymous account, use the following command:
svn co http://anonsvn.jboss.org/repos/jbossremoting/remoting2/trunk
To check out the source using a committer user id, use the following:
svn co https://svn.jboss.org/repos/jbossremoting/remoting2/trunk
This should checkout the entire remoting project, including doc, tests, libs, etc.
See http://wiki.jboss.org/wiki/Wiki.jsp?page=SubversionMigrationGuide for information about the migration from CVS to Subversion, and for other helpful information about the JBoss Subversion repository.
The build process for JBossRemoting is based of a standard ant build file (build.xml). The version of ant that is supported is ant 1.6.2, but should work with earlier versions as there are not 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
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 tests for JBossRemoting to include functional and performance tests for all the different transports.
clean - removes all the build artifacts and directories.
most - calls clean then jars target.
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.
Building JBossRemoting using the new JBoss build
The new JBoss build system is still being developed, so suggest that use the previous build process unless wanting to test out the new build.
If going to use an IDE (like Intellij or Eclipse), perform all of these steps before creating your jboss remoting project within the IDE. It is suggested to create a new directory, JBossRemoting for example, and change to that directory before executing following steps.
1. Check out the remoting project from cvs using 'cvs co -d remoting JBossRemoting'. This will create a new 'remoting' directory in your root project directory. This directory contains the JBossRemoting project source files.
2. Check out the tools project from cvs using 'cvs co tools'. This will create a new 'tools' directory in your root project directory. This directory contains the libraries needed for the jboss build.
3. Create a cvs.properties file under root remoting directory. Add entry for cvsroot indicating your cvs root. For example:
where 'joe' is your user name. As it stands now, you will have to have a user id for accessing cvs, as the public anonymous pserver access will not work via the automated build. This also means that you will need ssh-agent setup to run cvs without entering a password. If you can execute steps 1 and 2 via a console without having to enter a password, you are good to go (otherwise will need to get a user id for cvs, which includes posting your public key, and making your private key available to your CVS_RSH). NOTE: This entry probably doesn't apply now that we're on Subversion...
4. Go to the remoting directory and run ant -f release.xml synchronize This should pull down all the components needed for build and will create a 'thirdparty' dirctory in your root project directory.
5. Then run ant -f release.xml build. This will run the build for jboss remoting
The new build requires a standard structure for the project directories. For JBossRemoting, this meant having to change the structure to comply, so will notice that the JBossRemoting project substructure now complies as follows:
remoting/src/etc remoting/src/main remoting/src/tests
Another change was to the actual packaging of the test classes. The standard is to start with org.jboss.test.. Therefore, the remoting tests all fall under the org.jboss.test.remoting package structure.
6. Run tests
ant clean most tests.quick