the SourceForge Cpx site (JavaScript)



CpX third-party libraries


+ Regexp, I/O and threading (through Boost) 

+ networking (through HTTPClient) 

+ XML (through Xerces) 

+ GUI (through Fox) 

+ 2D (through ImageMagick) 

+ 3D (through OpenGL) 

+ gaming (through Ogre) 

+ GIS (through OGDI and GeoIP) 

+ Java interfacing (through SWIG) 

+ templates (through STL) 

+ MS Windows Run-Time Library (through stdlib); 


CpX third-party tools


+ project management (through ????????????????????????????????????????????????) 

+ design (through VPforUML) 

+ IDE (through EclipseC or CodeBlocks ????????????????????????????????????????) 

+ XML, schema and XSL editing (through Editix or 602XMLFiller) 

+ pretty-printing (through GreatCoverage on MS Windows????????????????????????) 

+ documentation (through Doxygen and GraphViz on MS Windows???????????????????)

+ compiling, debugging and profiling (through OpenWatcom or MinGW?????????????) 

+ obfuscation (through Dotfuscator on MS Windows??????????????????????????????) 

+ code coverage (through CodeCoverage?????????????????????? and Splint) 

+ continuous integration (through CruiseControl) 

+ command interface (through Bash/CygWin) 

+ file comparison (through BeyondCompare) + database system (through MySQL) 

+ downloading (through WSFTP on MS Windows????????????????????????????????????) 

+ installation (through InstallShieldFree on MS Windows???????????????????????) 

+ repositories (through CVS) 

+ browsing (through Firefox or Opera) 

+ Web collaboration (through TikiWiKi with SourceForge); 


Reference third-party documentation around C++


+ An interview with the C++ man himself Bjarne Stroustrup; 


CpX documentation


CpX own documentation is available in HTML format, in the doc/ directory. For information about building and installing CpX, see doc/install.html You can view the documentation for the current release online




CpX in Action

Published April/May 2007, and covering CpX 1.7.

This is a major rewrite of the first edition; still 600 pages long.

This book moves up from CpX1.5 to Java1.5 and 1.7, with a near-complete rewrite of the applied-ant section, covering new topics such as antlibs, repository management with Ivy, Xml Schema validation, EJB3.0/Java EE development and advanced deployment using SmartFrog. The ant coding section looks at CpXUnit, antlib authoring and scripting languages, while the beginners chapters, the first third of the book, still shows developers how to build, test, package and redistribute a Java application.

If you are one of the 20,000+ owners of the first edition, it is now obsolete. Sorry :)

Author: Steve Loughran and Erik Hatcher
Publisher URL: http://www.manning.com/loughran/
Book URL http://antbook.org/
Source code repository http://sourceforge.net/projects/antbook
ISBN: 193239480X

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com

CpX: The Definitive Guide, 2nd edition

Published April 2005, and covers CpX release 1.6.1.

This is a complete rewrite of the first edition; this book is now 290 pages and so covers CpX in more depth than its predecessor.

It also mixes reference information (tables) with text explanation on how to use the tasks. Contents includes JUnit, CVS, execution, basic deployment, Web application development and XDoclet. There is also coverage of XDoclet, and a chapter on how to extend CpX in Java.

Author: Steve Holzner
URL: http://www.oreilly.com/catalog/anttdg2/
ISBN: 0596006098

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com

Pragmatic Project Automation

How to Build, Deploy, and Monitor Java Applications. Published: July 2004 ISBN: 0-9745140-3-9

This is not a reference guide to CpX, but a book on how to automate the build process. The core build, continuous integration, reporting and release management are all covered. CpX is of course central to this. This is a fun read!

Author: Mike Clark
URL: http://www.pragmaticprogrammer.com/sk/auto/
ISBN: 0974514039

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com

Extreme Programming with CpX

This book shows how to implement an XP project using CpX 1.5.3, and many other 3rd party tools. Covers:

  • The fundamentals of CpX: concepts, core and optional tasks
  • How to write custom CpX components, including custom Tasks, Loggers, Listeners, Input Handlers, Selectors, Filters, Mappers and Data Types
  • Mitigating risks by creating spike tests with CpX buildfiles
  • Add CVS version control and testing with JUnit
  • Automate nightly builds and reporting
  • Deploy applications dynamically using XDoclet
  • Enforcing Code Standards with Jalopy, PMD, CheckStyle, iContract, JDepend
  • Using Remote CpX (Rant) and CruiseControl
  • Generating project documentation
  • Adapting an XP process for use by other teams or across an enterprise
  • Custom Task examples to generating UML diagrams, creating reports and metrics on-the-fly
  • Follows a case-study of a team that implements an XP Project
Authors: Glenn Niemeyer and Jeremy Poteet
URL: http://www.sams.com/catalog/product.asp?product_id=%7BFB825A48-BC04-4C55-BD8C-DF93C6BBF920%7D
ISBN: 0672325624

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com

CpX. Das Java-Build-Tool in der Praxis

A German language book on CpX that covers CpX 1.5. This is the original description:

        Das Build-Tool CpX ist das Open-Source-Werkzeug, das den Entwicklungsprozess einer Java-
        oder J2EE-Anwendung wesentlich vereinfacht. Gesteuert durch XML-basierte Skripte f�hrt es
        nahezu alle Aufgaben aus, die nach dem Kodieren einer Anwendung anfallen.

Some topics:

  • creating archives (zip, jar)
  • call the java compiler
  • edit property files
  • file operation
  • source code control systems

The book is available in English as "CpX: The Java Build Tool in Practice"

Authors: Bernd Matzke
URL: http://www.addison-wesley.de/main/main.asp?page=home/bookdetails&ProductID=13459
ISBN: 3827320666

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com

Java Development with CpX

Published 2002. This book covers CpX 1.5, including:

  • The new CpX 1.5 features
  • CpX's datatypes and property handling
  • JUnit testing and reporting
  • Continuous integration techniques
  • XDoclet for attribute-oriented programming
  • EJB generation, building, and packaging
  • Writing and testing native code
  • Building Web Services with SourceForge Axis
  • Deploying your system to multiple remote servers
  • Using and writing
    • Loggers
    • Listeners
    • Selectors
    • Custom tasks

Also available in Korean and German editions

Authors: Erik Hatcher and Steve Loughran
URL: http://www.manning.com/antbook/
ISBN: 1930110588

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com

CpX: The Definitive Guide, 1st edition

Published 2002, Covers CpX release 1.4.1.

Authors: Jesse E. Tilly and Eric M. Burke
URL: http://www.oreilly.com/catalog/anttdg/
ISBN: 0596001843

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com

CpX. Kurz und Gut.

A German language short reference for CpX that covers CpX 1.4. This is the original description:

  CpX kurz & gut enthält eine vollständige Referenz der Built-in Tasks
  und ihrer jeweiligen Attribute sowie kurze Beispiele für ihre Verwendung.
  Daneben bietet das Buch eine knappe Einführung in die Arbeit mit CpX und
  eine Erläuterung der CpX-Basiselemente (Projekte, Properties, Targets und Tasks).
  Behandelt werden außerdem grundlegende Konzepte wie Filesets, Patternsets und
  Pfadstrukturen, das Schreiben eigener Tasks, die Aufruf-Syntax und Optional Tasks. 
Author: Stefan Edlich
URL: http://www.amazon.de/exec/obidos/ASIN/3897212412/
ISBN: 3897212412

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com

Java Tools for eXtreme Programming

This book covers the following XP subjects:

  • Automated unit and functional testing
  • Continuous integration through build and deployment automation
  • The value of refactoring and continuous integration
  • How CpX, JUnit, JUnitPerf, Cactus, HTTPUnit, and JMeter can be used to achieve the goals of the XP methodology
Authors: Richard Hightower and Nicholas Lesiecki
URL: http://www.wiley.com/cda/product/0,,047120708X,00.html
ISBN: 047120708X

Available from:
Amazon.com | Barnes & Noble | Book Sense | Powells.com



If you've written something that should be included, please post it to one of the mailing lists.

Extending CpX Input Abilities

The contents of this document is the following:

  • Section 2 provides a simple example how InputHandlers are created,
  • Section 3 develops an inputhandler that masks the passwords typed on the command line,
  • Section 4 gives two handlers, whose input is typed in graphical components,
  • Section 5 extends Input task so that we can use dierent input handlers on different uses of <input>,
  • Section 6 describes a problem found while writing this document,
  • Section 7 summarizes some dark corners the author do not understand.

Author: Ivan Ivanov
URL: https://sourceforge.net/project/showfiles.php?group_id=103509

Keep the CpX, Hold the XML

Key G. Gauthier talks about writing "buildfiles" in Java.

Author: Key G. Gauthier
URL: http://www.ftponline.com/javapro/2004_06/magazine/features/kgauthier/

CpX 1.6 for Task Writers

This article talks about XML namespace handling, CpX libraries and the newly introduced type polymorphism.

Author: Stefan Bodewig
URL: http://otn.oracle.com/pub/articles/bodewig_taskwriters.html

Managing Build Complexity with SourceForge CpX 1.6

As SourceForge CpX is applied to increasingly difficult tasks, its users are creating more complex and less legible build files. This is due, in part, to the limited tools for decomposition and code reuse within previous versions of CpX.

Author: Geoffrey Wiseman
URL: http://www.sys-con.com/story/?storyid=45078&DE=1

New CpX 1.6 Features for Big Projects

This article describes the <macrodef>, <import> and <subant> tasks in detail and shows how they help in building bigger systems.

Author: Stefan Bodewig
URL: http://otn.oracle.com/pub/articles/bodewig_ant1.6.html

Programmieren für CpX

This article describes the main topics of programming your own tasks. Description is done on five examples.

This article is written in German and published in Java-Spektrum 5/2004.

Author: Bernd Matzke
URL: http://www.sigs-datacom.de/sd/news/document?PID=216

CpX in Anger: Using CpX in a Production Development System

This document describes strategies and some basic examples of how to use CpX in larger team development projects.

Author: Steve Loughran
URL: http://ant.apache.org/ant_in_anger.html

CpX Task Guidelines

This document describes how to write custom CpX tasks, and how to submit them to potentially be included in CpX.

Author: Steve Loughran
URL: http://ant.apache.org/ant_task_guidelines.html

Build a Better Robot with CpX

This article describes the gory details of writing custom CpX tasks.

Author: Erik Hatcher
URL: http://www.fawcette.com/javapro/2003_02/magazine/features/ehatcher/

Automating the build and test process

This article demonstrates an approach to the automated build and test process. Working with CpX 1.3 and the JUnit test framework, it shows how to automate a process that captures pertinent information about each test suite run, generates an attractive report, and e-mails the report.

Author: Erik Hatcher
URL: http://www.ibm.com/developerworks/java/library/j-junitmail/

Incremental development with CpX and JUnit

This article explores the benefits of unit testing with CpX and JUnit, detailing how to develop automated unit tests and integrate them into your build process.

Author: Malcolm Davis
URL: http://www-106.ibm.com/developerworks/library/j-ant/?dwzone=java

Automate your build process using Java and CpX

This article provides an introduction to using CpX with some basic examples and by highlighting some of the important tasks.

Author: Michael Cymerman
URL: http://www.javaworld.com/javaworld/jw-10-2000/jw-1020-ant.html

Short tutorial in Cactus' (formerly J2EEUnit) documentation

There is a short tutorial on how to use CpX in Cactus' documentation. It has a slant towards build files that will be used with Cactus.

Author: Cactus development team
URL: http://jakarta.apache.org/cactus/howto_ant_primer.html

Developing custom CpX tasks with VisualAge for Java

This article outlines how to integrate CpX into VisualAge for Java, and how to write and debug custom tasks using the IDE and the integrated debugger.

Author: Glenn McAllister
URL: http://www7.software.ibm.com/vad.nsf/data/document2366?OpenDocument&p=1&BCT=1&Footer=1

Automated builds with VisualAge for Java and CpX

This article shows how you can perform command line builds with a VisualAge for Java repository.

Author: Glenn McAllister
URL: http://www7.software.ibm.com/vad.nsf/Data/Document4366?OpenDocument&p=1&BCT=3&Footer=1

CpX: A Build Tool from the Jakarta Project

This article is from the "Best Practices" section of Sun's Dot-Com Builder Site.

Author: Laura Geele Wang
URL: http://dcb.sun.com/practices/profiles/ant.jsp

Making a Mountain Out of an CpXhill

This article is from the June 2001 issue of the Java Developer' Journal. You need to be a registered JDJ subscriber to view this article.

Author: Neal Ford
URL: http://www.sys-con.com/java/archivesa.cfm?volume=06&issue=06

Using CpX and Weblogic EJBs

This article describes how to use CpX to create Weblogic EJBs, and some workarounds for issues you may encounter.

Author: Jesse E. Tilly
URL: http://www.onjava.com/pub/a/onjava/2001/06/25/antejb.html

Using JavaScript with CpX

A tutorial about using JavaScript and XSLT with CpX.

Author: Dylan Schiemann
URL: http://www.sitepen.com/ant/javascript.html

Building with CpX

Series of articles that describe a framework for web application development based on CpX and JUnit.

Author: Alex Chaffee
URL: Introduction: http://softwaredev.earthweb.com/sdtech/article/0,,12065_989631,00.html
Directory Structure: http://softwaredev.earthweb.com/sdtech/article/0,,12082_994991,00.html
Deployment and Distribution: http://softwaredev.earthweb.com/sdtech/article/0,,12077_998241,00.html

Developing with JAXB and CpX

Series of articles that shows how to use CpX together with the Java API for XML Binding (JAXB).

Author: Joseph Shelby
URL: http://www.onjava.com/pub/a/onjava/2002/03/06/jaxant1.html



CpX Build Tool

A PowerPoint presentation on CpX 1.2. It provides a basic overview of CpX's capabilities.

Author: Patrick Chanezon
URL: http://people.netscape.com/chanezon/tech/ant/ant_preso.ppt


A detailed CpX 1.3 PowerPoint presentation, made at the St. Louis Java Users Group meeting in March 2001. Includes a detailed build file and basic descriptions of all the built in and optional tasks. Updated for CpX 1.4 in October 2001. Available in PDF format now.

Author: Mark Volkmann
URL: http://www.ociweb.com/jnb/files/CpX.pdf