Before you can build CXF, you'll need to first check it out from the Source Repository. Then you'll need to install Maven 2.0.x.
Building CXF
To build CXF simply execute:
$ mvn install
To build CXF without running checkstyle do:
$ mvn -Pnochecks
To build CXF without running checkstyle or the tests do:
$ mvn -Pfastinstall
Building releasable/testable kits
The "distribution" stuff is in the distribution module. After building all the stuff above, you can go into the distribution subdirectory and run:
$ mvn install
and that will build both a src kit and a binary kit in target. Alternatively, top level, you can run:
$ mvn install -Peverything
which will cause EVERYTHING to build in one shot.
Deploying snapshots
To deploy a snapshot (apache commiters only), run
mvn -Pdeploy deploy
That will deploy the latest snapshot along with the javadoc and source jar bundles to apaches snapshot repository. After deploying the snapshot, you need to login to people.apache.org and fix the permissions. cd to /www/people.apache.org/repo/m2-snapshot-repositroy and run the fix-permissions.sh script.
Setting up Eclipse
To setup eclipse for CXF, you'll want to check to set up a separate directory /outside of your workspace/. Here is an example of how it might be done:
[/home/joe]$ mkdir /home/dan/cxf [/home/joe]$ cd cxf [/home/joe/cxf]$ svn co https://svn.apache.org/repos/asf/incubator/cxf/trunk [/home/joe/cxf]$ cd trunk [/home/joe/cxf/trunk]$ mvn -Pfastinstall [/home/joe/cxf/trunk]$ mvn -Psetup.eclipse
Once that is done, start up eclipse and set your workspace to "/home/joe/cxf/workspace". You'll then want to import all the CXF modules into eclipse. This can be done by doing:
- File->Import
- Select General->Existing Projects into Workspace
- Enter "/home/joe/cxf/trunk" as the root directory
- Click "Finish"
Performing a release
For the most part, we now follow the same instructions that the maven team uses.
http://maven.apache.org/developers/release/releasing.html
Basically, setup your settings.xml file as they described for your pgp key. The deploy.altRepository should be set to something similar to:
dkulp::default::scp://people.apache.org/home/dkulp/public_html/maven_staging
After that is setup, you should just need to run
mvn release:prepare mvn release:perform
That will tag the release, update the poms, etc... Then build it (off the tag) and deploy everything (including source jars and javadoc jars) to the deploy.altRepository location and gpg signs everything. Once there, call the vote(s) based on that.
After the vote passes, you'll need to "merge" that staging location to the main location. (I'm waiting for docs on the repository-tools plugin that handles this step)