Developer HOWTO

This short HOWTO is intended for developers. The following things need to be done:

  1. Download and install Java SE 5.0 (jdk-1.5.x)
  2. Download and install Maven 2
  3. Configure the $HOME/.m2/settings.xml
  4. Check out the JASS project (version > 0.2) from CVS
  5. Run mvn eclipse:eclipse
  6. Run mvn package

Download and install Java SE 5.0

Download the J2SE Development Kit (JDK Version 5.0 or greater) from http://java.sun.com. Follow the installation instructions.

Download and install Maven 2

Download Maven 2 (Version 2.0.4 or greater) from http://maven.apache.org. Follow the installation instructions.

Configure the '$HOME/.m2/settings.xml'

In order to use all features of maven2, e.g. the deployment of artifacts in the remote repository and the generation and deployment of the website, the project has to be configured in the settings.xml as follows:
               
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Settings XML resides at $HOME/.m2/settings.xml -->
<settings>
  <localRepository>/home/andreas/.m2/repository</localRepository>
  <!-- For the RD-TM maven plugin needed -->
  <pluginGroups>
    <pluginGroup>org.objectweb.jass.rdtm</pluginGroup>
  </pluginGroups>
  <servers>  
    <server>
      <id>jass-repository</id>
      <!-- Your ObjectWeb username and password -->
      <username>aausting</username>
	   <password>*****</password>
    </server>
    <server>
      <id>jass-website</id>
      <username>aausting</username>
      <password>*****</password>
    </server>
  </servers>
  <profiles>
    <profile>
      <id>jass</id>   
      <!-- The placeholders in the POM (pom.xml) will be replaced by maven
           using this properties. -->   
      <properties>
        <!-- Name of our project -->
        <jass.organisation.name>JASS - ObjectWeb Consortium</jass.organisation.name>
        <jass.organisation.url>http://jass.objectweb.org/</jass.organisation.url>
         
        <!-- We use SVN -->
        <jass.scm.connection>scm:svn://svn.forge.objectweb.org\
            /svnroot/jass/main/trunk/jass</jass.scm.connection>
        <jass.scm.developerConnection>scm:svn+ssh://aausting@svn.forge.objectweb.org\
            /svnroot/jass/main/trunk/jass</jass.scm.developerConnection>
        <jass.release.tagBase>scm:svn+ssh://aausting@svn.forge.objectweb.org/svnroot\
            /jass/main/tags</jass.release.tagBase>
        <jass.scm.url>http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/jass/main/trunk/jass/</jass.scm.url>
      
        <!-- This was the old CVS connecttion -->
        <!--
        <jass.scm.connection>scm:cvs:pserver:aausting:@cvs.forge.objectweb.org:\
               /cvsroot/jass:jass-jee</jass.scm.connection>
        <jass.scm.developerConnection>scm:cvs:pserver:aausting:@cvs.forge.objectweb.org:\
               /cvsroot/jass:jass-jee</jass.scm.developerConnection>
        <jass.scm.url>http://cvs.forge.objectweb.org/cgi-bin/viewcvs.cgi/jass</jass.scm.url>
        -->

        <!-- Compile against 1.5 -->
        <jass.compile.source>1.5</jass.compile.source>
        <jass.compile.target>1.5</jass.compile.target>

        <!-- This are the site settings -->        
        <jass.site.http>http://jass.objectweb.org</jass.site.http>
        <!-- Deploy site per file system to a local folder and upload changes manually -->
        <jass.site.url>file:/home/andreas/public_html/jass</jass.site.url>
        <!-- Deploy site per file system, if webdav device mounted to /mnt/jass -->
        <!-- <jass.site.url>file:/mnt/jass</jass.site.url> -->        
        <!-- Deploy site per ssh. But this won't work, cause ssh connections 
             are not allowed by ObjetcWeb. -->
        <!-- <jass.site.url>scp://shell.forge.objectweb.org\
              /var/lib/gforge/chroot/home/groups/jass/htdocs</jass.site.url>-->

        <!-- Some properties for the site plugin -->
        <jass.site.locale>en</jass.site.locale>
        <jass.site.outputEncoding>UTF-8</jass.site.outputEncoding>
        <jass.changelog.date.from>2006-05-10</jass.changelog.date.from>
        <jass.changelog.date.to>2006-06-10</jass.changelog.date.to>
               
        <!-- Connection Settings for the repository -->        
        <!-- Use a local 'remote' repository and upload changes manually -->
        <jass.repository.url>file:/home/andreas/public_html/jass</jass.repository.url>
        <jass.repository.http>http://localhost/~andreas/jass</jass.repository.http>
        <!-- Deploy artifacts per SCP (works) -->
        <!-- <jass.repository.url>scp://shell.forge.objectweb.org\
               /var/lib/gforge/chroot/home/groups/jass/htdocs</jass.repository.url> -->          
        <!-- Deploy artifacts per file system, if webdav device mounted to /mnt/jass -->
        <!-- <jass.repository.url>file:/mnt/jass</jass.repository.url>
             <jass.repository.http>file:/mnt/jass</jass.repository.http> -->
        
      </properties>
    </profile>
  <activeProfiles>
    <activeProfile>jass</activeProfile>
  </activeProfiles>
</settings>

               
            

Check out the JASS project (version > 0.2) from CVS

To check out the jass project, use the following commands:
               svn checkout svn://svn.forge.objectweb.org/svnroot/jass/main/trunk/jass              
            
Or if you have an ObjectWeb account and you want to participate:
               svn checkout svn+ssh://developername@svn.forge.objectweb.org/svnroot/jass/main/trunk/jass
            

Run 'mvn eclipse:eclipse'

Go to your favorite JASS project, e.g. $JASS_HOME/project/jass-impl/ and run:
                  mvn eclipse:eclipse
               

A .project and a .classpath file are generated and you can import the project into Eclipse.

Run 'mvn package'

The artifact can be builded by typing:

               mvn package
            

In the target directory should be a jar or sar file generated.