<!-- 
Bundled by J. Alejandro Zepeda C., jalejandrozepedac@gmail.com, 2011/06/05. 
As a simple user of ECJ I hope you may enjoy this finest framework from The Maven Land! 
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>edu.gmu.cs</groupId>
    <artifactId>ecj</artifactId>
    <packaging>jar</packaging>
    <version>20.0</version>
    <name>ECJ</name>
    <url>http://cs.gmu.edu/~eclab/projects/ecj/</url>
    
    <description>
        ECJ, A Java-based Evolutionary Computation Research System.
        ECJ is a research EC system written in Java. It was designed to be highly flexible, with nearly all classes (and all of their settings) dynamically determined at runtime by a user-provided parameter file. All structures in the system are arranged to be easily modifiable. Even so, the system was designed with an eye toward efficiency.
        ECJ is developed at George Mason University's ECLab Evolutionary Computation Laboratory. The software has nothing to do with its initials' namesake, Evolutionary Computation Journal. ECJ's sister project is MASON, a multi-agent simulation system which dovetails with ECJ nicely. 
    </description>
    
    <organization>
        <name>Evolutionary Computation Laboratory at George Mason University</name>
        <url>http://cs.gmu.edu/~eclab/</url>
    </organization>
    
    <licenses>
        <license>
            <name>The Academic Free License, version 3.0</name>
            <url>http://www.opensource.org/licenses/afl-3.0.php</url>
            <distribution>repo</distribution>
            <comments>
                Most of ECJ is licensed under the Academic Free License, version 3.0,
                except for the MersenneTwister and MersenneTwisterFast files, which
                are licensed under the BSD license and carry that license within their
                source code.    
            </comments>
        </license>
    </licenses>
    
    <scm>
        <connection>scm:svn:http://ecj.googlecode.com/svn/trunk/</connection>
        <url>http://code.google.com/p/ecj/source/browse/</url>
    </scm>    
    
    <developers>
        <developer>
            <name>Sean Luke</name>
            <email>sean@cs.gmu.edu</email>
        </developer>
        <developer>
            <name>Liviu Panait</name>
        </developer>
        <developer>
            <name>Gabriel Balan</name>
        </developer>
        <developer>
            <name>Sean Paus</name>
        </developer>
        <developer>
            <name>Zbigniew Skolicki</name>
        </developer>
        <developer>
            <name>Elena Popovici</name>
        </developer>
        <developer>
            <name>Keith Sullivan</name>
        </developer>
        <developer>
            <name>Joseph Harrison</name>
        </developer>
        <developer>
            <name>Jeff Bassett</name>
        </developer>
        <developer>
            <name>Robert Hubley</name>
        </developer>
        <developer>
            <name>Alexander Chircop</name>
        </developer>
        <developer>
            <name>Jack Compton</name>
        </developer>
        <developer>
            <name>William Haddon</name>
        </developer>
        <developer>
            <name>Stephen Donnelly</name>
        </developer>
        <developer>
            <name>Beenish Jamil</name>
        </developer>
        <developer>
            <name>Joseph Zelibor</name>
        </developer>
        <developer>
            <name>Eric Kangas</name>
        </developer>
        <developer>
            <name>Faisal Abidi</name>
        </developer>
        <developer>
            <name>Houston Mooers</name>
        </developer>
        <developer>
            <name>James O'Beirne</name>
        </developer>
    </developers>

    <build>
        <plugins>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.4</source>
                    <target>1.4</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                        <configuration>
                            <useAgent>true</useAgent>    
                        </configuration>
                    </execution>
                </executions>
            </plugin>       

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <executions>
                   
                    <execution>
                        <id>wget</id>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <phase>validate</phase>
                        <configuration>
                             
                            <target if="wget">
                                <property name="tmp.dir" value="${user.home}/tmp"/>
                                <property name="target.tgz" value="${tmp.dir}/ecj.tar.gz"/>
                                <property name="target.jar" value="${tmp.dir}/ecj.jar"/>
                                <echo>Getting ecj.tar.gz (if it is not exists already)...</echo>
                                <mkdir dir="${user.home}/tmp"/>
                                <get src="http://www.cs.gmu.edu/~eclab/projects/ecj/ecj.tar.gz" dest="${target.tgz}" verbose="false" skipexisting="true"/>
                                <echo>We always use the original sources, uncompressing...</echo>
                                <untar src="${target.tgz}" dest="${tmp.dir}" compression="gzip"/>
                                
                                <echo>We clean the house...</echo>
                                <delete dir="${project.basedir}/src/main/java"/>
                                <delete dir="${project.basedir}/target"/>
                                <echo>We must clean some stuff... it must be a well behaved jar.</echo>
                                <delete file="${tmp.dir}/ecj/ecj.tar"/>
                                <delete file="${tmp.dir}/ecj/out.stat"/>
                                <delete dir="${tmp.dir}/ecj/docs"/>
                                <delete dir="${tmp.dir}/ecj/start"/>
                                
                                <copy todir="${project.basedir}/src/main/java/ec">
                                    <fileset dir="${tmp.dir}/ecj/ec"> 
                                        <exclude name="**/*.class"/>
                                    </fileset>
                                </copy>    
                                
                                <copy todir="${project.basedir}" file="${tmp.dir}/ecj/LICENSE"/>
                                
                            </target>

                        </configuration>
                    </execution>                                
                    
                    <execution>
                        <id>copy</id>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <phase>test</phase>
                        
                        <configuration>
                            <target if="copy">
                                
                                <!-- http://svn.codehaus.org/sonar/tags/1.5/tests/integration/build.xml -->
                                <macrodef name="mvn">
                                    <attribute name="failonerror" default="true"/>
                                    <attribute name="args" default=""/>
                                    <sequential>
                                        <exec failonerror="@{failonerror}" executable="mvn.bat" osfamily="Windows">
                                            <arg line="@{args}"/>
                                        </exec>
                                        <exec failonerror="@{failonerror}" executable="mvn" osfamily="unix">
                                            <arg line="@{args} "/>
                                        </exec>
                                    </sequential>
                                </macrodef>
                                
                                <mvn args="install:install-file -Dfile=${project.basedir}/target/ecj-20.jar -DgroupId=ecj -DartifactId=ecj -Dversion=20 -Dpackaging=jar" />
                                
                            </target>                            

                        </configuration>
                    </execution>        
                    
                </executions>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.8</version>
                <configuration>
                    <show>private</show>
                    <nohelp>true</nohelp>
                </configuration>
                <executions>
                    <execution>
                        <id>javadoc-jar</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>   
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1.2</version>
        
                <executions>
                    <execution>
                        <id>source-jar</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>        
            </plugin>                
            
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <id>dist</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>

                        <configuration>
                            <finalName>ecj-${project.version}</finalName>
                            <descriptors>
                                <descriptor>src/main/assembly/distributable.xml</descriptor>
                            </descriptors>

                        </configuration>
                    </execution>
                </executions>
            </plugin>            
            
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>jfree</groupId>
            <artifactId>jfreechart</artifactId>
            <version>1.0.13</version>
            <type>jar</type>
            <optional>true</optional>
        </dependency>
        
        <dependency>
            <groupId>jfree</groupId>
            <artifactId>jcommon</artifactId>
            <version>1.0.15</version>
            <type>jar</type>
            <optional>true</optional>
        </dependency>
        
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.1.7</version>
            <type>jar</type>
            <optional>true</optional>
        </dependency>
        
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jzlib</artifactId>
            <version>1.0.7</version>
            <type>jar</type>
            <optional>true</optional>
        </dependency>        
    </dependencies>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>
