You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

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.5 or higher.

Building CXF

Before building CXF, you need to setup an environment variable to give maven more memory:

set MAVEN_OPTS=-Xmx512M

On 64bit platforms (64bit Linux and Solaris are known to require this), you also need to increase the PermGen space:

export MAVEN_OPTS="-XX:MaxPermSize=128m -Xmx512M"

To build CXF simply execute (from within the 'trunk' directory):

$ 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 committers 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:

  1. File->Import
  2. Select General->Existing Projects into Workspace
  3. Enter "/home/joe/cxf/trunk" as the root directory
  4. 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 except for your gpg key. The version of the gpg plugin we use will ask for it. 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 -Peverything
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. Right now, this process takes a real maven Guru to do. The "stage" plugin that will handle this process has not yet been released. You need to checkout the maven-stage-plugin code and build it. However, it currently relies on some snapshots of other things that haven't been deployed. Thus, building the stage plugin can take some time. Best bet, have Dan Kulp do this until the plugin is released. If you DO get it built, you just need to run something like:

mvn stage:copy \
   -Dsource="http://people.apache.org/~dkulp/stage_cxf/2.0_incubator-RC_take1/maven" \
   -Dtarget="scp://people.apache.org/www/people.apache.org/repo/m2-incubating-repository" \
   -Dversion=2.0_incubator-RC

One note: according to the Maven folks, the stage:copy stuff apparently doesn't work on Windows. Don't bother trying. Use Linux or OSX.

  • No labels