CVS Information

CVS is well know by masses of developers since source code control is a must and CVS is an open source tool. CVS provides intermediate source control functionality and is free. The projects hosted at Jcorporate are available from an up-to-the-minute CVS archive. This archive represents the latest version available of the software, with all the latest features and all the latest bugs.

Version:

Expresso 5.5

Maintainer:

Sandra Cann

Getting CVS Commit Notices

To subscribe to the CVS commit notices, please subscribe to the following listserv: http://mailman.jcorporate.com/mailman/listinfo/cvs.

CVS Read Access

Please download the appropriate client for CVS from http://www.cvshome.org or http://www.cvshome.org or CvsGui.org

Read access enables you the ability to get the latest fixes, announced on our opensource mailing list and in the CVS forum. Anyone can obtain CVS read access on the open source projects onsite. Change to the directory in which you want the source to be located. CVS will create a directory called expresso off of the directory you changed into, thus the source top-level directory will be located at /your/directory/expresso. To check out a copy of the source, if you have not connected to the Expresso CVS server before, then you will need to log in with the following command:

     
 
cvs -d :pserver:guest@jcorporate.com:/home/javacorp/.cvs/expresso login
 
     

You'll be prompted for a password.

The password for guest access is "guest123".

To check out an initial copy of the source, make sure you are in a working directory where you want to download Expresso and issuethe following command:

     
 
cvs -d :pserver:guest@jcorporate.com:/home/javacorp/.cvs/expresso checkout expresso
 
     

To update an existing copy of the source, use the following command:

     
 
cvs -d :pserver:guest@jcorporate.com:/home/javacorp/.cvs/expresso update expresso
 
     

Note that it is also possible to set up a CVSROOT and other environment variables to automate CVS operation (and type much shorter commands!) See the CVS documentation for details.

CVS for Other Open Source Projects

The main Expresso module also includes the other OSS projects built with Expresso, such as eSearch, eForum, ePoll, examples, etc. To access CVS for other open source (OSS) modules replace expresso with the module with component name. For example:

To Build Expresso from scratch you will need to check out the lib module or download the latest Developer Bundle from the Expresso Download Section. For more information on building see the Ant/Build doc

Getting a specific branch from CVS

There are instances where you may wish to download a specific branch from CVS. To do this, you specify the branch to download by adding the -r [branchName] to the checkout command line. The following example checks out the expresso5-0-1 branch from CVS as a guest.

     
 
cvs -d :pserver:guest@jcorporate.com:/home/javacorp/.cvs/expresso checkout -r expresso5-0-3 expresso
 
     

CVS Write access

If you are a core developer or major contributor this entitles you to write access on a project. Additionally Premium Support users may have access to CVS Write access. For commercial Community Source solutions your purchase entitles you to CVS access.

First you need to request via email to support@jcorporate.com for a CVS account to be setup and send along a PGP key (PGP freeware version at http://www.pgpi.org) Please specify what password you would like in an encrypted password. Once you have your name & password set up, you can use CVS as follows:

     
 
cvs -d :pserver:username@jcorporate.com:/home/javacorp/.cvs/expresso login
 
     

Where "username" is your login name.

You'll be prompted for your password. Now go to a working directory where you want to download Expresso and issue this command, again substituting "username" with your authenticated user name (usually your first initial followed by your lastname):

     
 
cvs -d :pserver:username@jcorporate.com:/home/javacorp/.cvs/expresso checkout expresso
 
     

or checkout lib_src [if you want the 3rd party source files. [optional].

You'll be prompted for your password. Proceed as above to download the latest version, or use cvs update to update your current copy with any new changes.We encourage the use of "cvs edit" to specify that you are going to modify a file. To submit your changes for inclusion into the CVS archive.

     
 
cvs commit filename.java
 
     
If you are not familiar with CVS, or don't have write access, please simply email us your updates and we can integrate them for you.

CVS Tree

Since new CVS users do not know exactly what is there within CVS repository Peter Pilgrim contributed this UNIX command to create a text file of the cvs tree.

     
 
% find expresso lib_src -type d -print | grep -v CVS | tee /tmp/expressotree.txt
 
     

Ant Build Facility

Ant is a Java-based build automation tool that removes many of the pitfalls associated with building large Java codebases. As mentioned it is possible to set up a CVSROOT and other environment variables to automate CVS operation. Ant is an open source portable Java technology build faciliaty that is XML driven that is independent of the IDE. Basicially it is a Make replacement without all of Makes idiosyncracies.

Ant simplifies and automates the often complex process associated with deployment for the J2EE platform. It offers direct integration with test harnesses (Junit which we also use) and version control systems (CVS).Please download ANT from http://ant.apache.org. For detailed information on setting up Expresso with Ant please have a look at the document, Setting up Ant to build Expresso. Have a look at the very powerful Ant Task which can be setup to search a specified directory structure for files that meet a predefined filter pattern; such functionality plays a key role in the autodiscovery of framework components.

Conclusion

CVS is an extremely flexible and powerful system. Please review the CVS documentation. In addition to Ant, there are other tools which we recommend as useful in your CVS environment. These tools include Junit and Cactus.

Junit is a Java Technology based unit testing and regression framework. Junit is fast becoming a standard used to test Java software. Unit tests themselves are coded in the Java language and exercise the code. Allows the close integration of testing and development processes. Junit allows for the implementation of a strategic testing methodology. Junit stems from the extreme programming paradigm, which has a lot of valuable insights into methods for testing software (basically making testing part of development). There is a custom task supplied as part of Ant which allows you to fire up a test sequence as part of your build process -- very handy.

Cactus is an extension of Junit for testing Java Servlets and EJB components and is essential to maintain consistent approach for Junit testing of J2EE components. We use Cactus because it provides an environment to execute Junit style tests against the Actions. It eliminates the need to set up a servlet test harness. Please download Cactus from http://jakarta.apache.org/cactus.

If you have a question please email the listserv or post to the forums for help with our CVS archive.

Contributors

Contributors to this document include: Sandra Cann, Michael Nash and Peter Pilgrim

If you find any trouble spots with this document, or something you'd like to see clarified please contact the maintainer of this document.


Copyright © 2002-2004 Jcorporate Ltd. All rights reserved. Copyright Privacy

Last Modified: 08-May-2004