<?xml version="1.0" encoding="UTF-8"?>

<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<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">
  <parent>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-parent</artifactId>
    <version>15</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <packaging>pom</packaging>
  <groupId>commons-jelly</groupId>
  <name>Commons Jelly</name>
  <artifactId>commons-jelly-parent</artifactId>
  <version>1.1-SNAPSHOT</version>
  <inceptionYear>2002</inceptionYear>
  <description>Jelly is a Java and XML based scripting engine. Jelly combines the best ideas from JSTL, Velocity, DVSL, Ant and Cocoon all together in a simple yet powerful scripting engine.</description>
  <url>http://commons.apache.org/jelly/</url>
  <issueManagement>
    <system>jira</system>
    <url>http://issues.apache.org/jira/browse/JELLY</url>
  </issueManagement>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/jelly/trunk</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/jelly/trunk</developerConnection>
    <url>http://svn.apache.org/viewvc/commons/proper/jelly/trunk</url>
  </scm>

  <modules>
    <module>jelly</module>
    <module>jelly-tags/ant</module>
    <module>jelly-tags/antlr</module>
    <module>jelly-tags/avalon</module>
    <module>jelly-tags/bean</module>
    <module>jelly-tags/beanshell</module>
    <module>jelly-tags/betwixt</module>
    <module>jelly-tags/bsf</module>
    <module>jelly-tags/define</module>
    <module>jelly-tags/dynabean</module>
    <module>jelly-tags/email</module>
    <module>jelly-tags/fmt</module>
    <module>jelly-tags/html</module>
    <module>jelly-tags/http</module>
    <module>jelly-tags/interaction</module>
    <module>jelly-tags/jaxme</module>
    <module>jelly-tags/jetty</module>
    <module>jelly-tags/jface</module>
    <module>jelly-tags/jms</module>
    <module>jelly-tags/jmx</module>
    <module>jelly-tags/jsl</module>
    <module>jelly-tags/junit</module>
    <module>jelly-tags/log</module>
    <module>jelly-tags/memory</module>
    <module>jelly-tags/ojb</module>
    <module>jelly-tags/quartz</module>
    <module>jelly-tags/regexp</module>
    <module>jelly-tags/soap</module>
    <module>jelly-tags/sql</module>
    <module>jelly-tags/swing</module>
    <module>jelly-tags/swt</module>
    <module>jelly-tags/threads</module>
    <module>jelly-tags/util</module>
    <module>jelly-tags/validate</module>
    <module>jelly-tags/velocity</module>
    <module>jelly-tags/xml</module>
    <module>jelly-tags/xmlunit</module>
  </modules>

  <properties>
    <maven.compile.source>1.5</maven.compile.source>
    <maven.compile.target>1.5</maven.compile.target>
    <commons.componentid>jelly</commons.componentid>
    <commons.release.version>1.0</commons.release.version>
    <commons.jira.id>JELLY</commons.jira.id>
    <commons.jira.pid>10012</commons.jira.pid>
    <jelly.doc.location>${basedir}/xdocs</jelly.doc.location>
  </properties>

  <developers>
    <developer>
      <name>James Strachan</name>
      <id>jstrachan</id>
      <email>jstrachan@apache.org</email>
      <organization>SpiritSoft, Inc.</organization>
    </developer>
    <developer>
      <name>Geir Magnusson Jr.</name>
      <id>geirm</id>
      <email>geirm@adeptra.com</email>
      <organization>Adeptra, Inc.</organization>
    </developer>
    <developer>
      <name>Bob McWhirter</name>
      <id>werken</id>
      <email>bob@eng.werken.com</email>
      <organization>The Werken Company</organization>
    </developer>
    <developer>
      <name>dIon Gillard</name>
      <id>dion</id>
      <email>dion@multitask.com.au</email>
      <organization>Multitask Consulting</organization>
      <roles>
        <role>Interested party</role>
      </roles>
    </developer>
    <developer>
      <name>Morgan Delagrange</name>
      <id>morgand</id>
      <email>morgand@apache.org</email>
    </developer>
    <developer>
      <name>Rodney Waldhoff</name>
      <id>rwaldhoff</id>
      <email>rwaldhoff@apache.org</email>
    </developer>
    <developer>
      <name>Peter Royal</name>
      <id>proyal</id>
      <email>proyal@apache.org</email>
    </developer>
    <developer>
      <name>Martin van den Bemt</name>
      <id>mvdb</id>
      <email>martin@mvdb.net</email>
    </developer>
    <developer>
      <name>Paul Libbrecht</name>
      <id>polx</id>
      <email>paul@activemath.org</email>
    </developer>
    <developer>
      <name>Robert Burrell Donkin</name>
      <id>rdonkin</id>
      <email>rdonkin@apache.org</email>
    </developer>
    <developer>
      <name>Daniel F. Savarese</name>
      <id>dfs</id>
      <email>dfs -&gt; apache.org</email>
    </developer>
    <developer>
      <name>Brett Porter</name>
      <id>brett</id>
      <email>brett@apache.org</email>
    </developer>
    <developer>
      <name>Hans Gilde</name>
      <id>hgilde</id>
      <email>hgilde@apache.org</email>
    </developer>
  </developers>

  <contributors>
    <contributor>
      <name>Erik Fransen</name>
      <email>erik167@xs4all.nl</email>
      <roles>
        <role>Logo designer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Calvin Yu</name>
    </contributor>
    <contributor>
      <name>Stephen Haberman</name>
      <email>stephenh@chase3000.com</email>
    </contributor>
    <contributor>
      <name>Vinay Chandran</name>
      <email>sahilvinay@yahoo.com</email>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Theo Niemeijer</name>
    </contributor>
    <contributor>
      <name>Joe Walnes</name>
      <email>joew@thoughtworks.com</email>
      <organization>ThoughtWorks, Inc.</organization>
      <roles>
        <role>Inventor of Mock Tags</role>
      </roles>
    </contributor>
    <contributor>
      <name>Otto von Wachter</name>
      <email>vonwao@yahoo.com</email>
      <organization/>
      <roles>
        <role>Author of the tutorials</role>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Robert Leftwich</name>
      <email>robert@leftwich.info</email>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Jim Birchfield</name>
      <email>jim.birchfield@genscape.com</email>
      <organization>Genscape, Inc.</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Jason Horman</name>
      <email>jhorman@musicmatch.com</email>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Tim Anderson</name>
      <email>tima@intalio.com</email>
      <organization>Intalio, Inc.</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Theo Niemeijer</name>
      <email>theo.niemeijer@getthere.nl</email>
      <organization/>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>J. Matthew Pryor</name>
      <email>matthew_pryor@versata.com</email>
      <organization/>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Knut Wannheden</name>
      <email/>
      <organization/>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Kelvin Tan</name>
      <email/>
      <organization/>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Todd Jonker</name>
      <email/>
      <organization/>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Christiaan ten Klooster</name>
      <email/>
      <organization/>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>Pete Kazmier</name>
      <email>kaz@apache.org</email>
      <organization/>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>John Spackman</name>
      <email>john.spackman@zenesis.com</email>
      <organization>Zenesis Limited</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>John Spackman</name>
      <email>john.spackman@zenesis.com</email>
      <organization>Zenesis Limited</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
    <contributor>
      <name>John Spackman</name>
      <email>john.spackman@zenesis.com</email>
      <organization>Zenesis Limited</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </contributor>
  </contributors>

  <dependencyManagement>
    <dependencies>

      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.8.2</version>
      </dependency>

      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
      </dependency>

      <dependency>
        <groupId>commons-discovery</groupId>
        <artifactId>commons-discovery</artifactId>
        <version>0.2</version>
      </dependency>

      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.0</version>
      </dependency>

      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
      </dependency>

      <dependency>
        <groupId>commons-jexl</groupId>
        <artifactId>commons-jexl</artifactId>
        <version>1.1</version>
      </dependency>

      <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
      </dependency>

      <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1-beta-8</version>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.0.6</version>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.3</version>
      </dependency>

      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xerces</artifactId>
        <version>2.2.1</version>
      </dependency>
    
      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.0.b2</version>
      </dependency>
    </dependencies>

  </dependencyManagement>

  <build>
    <resources>
      <resource>
        <directory>${basedir}</directory>
        <targetPath>META-INF</targetPath>
        <includes>
          <include>NOTICE.txt</include>
          <include>LICENSE.txt</include>
        </includes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assembly/src.xml</descriptor>
            <descriptor>src/assembly/bin.xml</descriptor>
          </descriptors>
          <tarLongFileMode>gnu</tarLongFileMode>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <!--
     - Profile to generate Tag documentation for Jelly Tag Library
     -
     - Run "mvn -Ptagdoc generate-sources"
    -->
  <profiles>
    <profile>
      <id>doclet</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>tag.doclet</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>

                  <tasks if="jelly.tag.doclet">
                    <javadoc sourcepath="${project.build.sourceDirectory}" 
                             classpathref="maven.compile.classpath"
                             docletpathref="maven.plugin.classpath">
                        <doclet name="org.apache.maven.jellydoc.TagXMLDoclet">
                            <param name="-d" value="${project.build.directory}"/>
                        </doclet>
                    </javadoc>
                  </tasks>
                </configuration>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>maven</groupId>
                <artifactId>maven-jellydoc-plugin</artifactId>
                <version>1.3.1</version>
                <exclusions>
                  <exclusion>
                    <groupId>commons-jelly</groupId>
                    <artifactId>commons-jelly-tags-jsl</artifactId>
                  </exclusion>
                  <exclusion>
                    <groupId>commons-jelly</groupId>
                    <artifactId>commons-jelly-tags-xml</artifactId>
                  </exclusion>
                  <exclusion>
                    <groupId>javadoc</groupId>
                    <artifactId>javadoc</artifactId>
                  </exclusion>
                </exclusions>
              </dependency>
              <dependency>
                <groupId>com.sun</groupId>
                <artifactId>tools</artifactId>
                <version>1.4.2</version>
                <scope>system</scope>
                <systemPath>${java.home}/../lib/tools.jar</systemPath>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
