<?xml version="1.0"?>
<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>org.apache.tapestry</groupId>
  <artifactId>tapestry-project</artifactId>
  <packaging>pom</packaging>
  <version>5.2.6</version>
  <name>Tapestry 5 Project</name>
  <description>Master project for the modules of Tapestry 5.</description>
  <inceptionYear>2006</inceptionYear>
  <url>http://tapestry.apache.org/tapestry5.1/</url>
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>6</version>
  </parent>
  <issueManagement>
    <system>Jira</system>
    <url>https://issues.apache.org/jira/browse/TAP5</url>
  </issueManagement>
  <licenses>
    <license>
      <name>Apache Software License 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org</url>
  </organization>
  <scm>
    <connection>scm:svn:https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/releases/5.2.6</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/releases/5.2.6</developerConnection>
    <url>http://svn.apache.org/viewvc/tapestry/tapestry5/tags/releases/5.2.6</url>
  </scm>
  <developers>
    <developer>
      <id>hls</id>
      <name>Howard M. Lewis Ship</name>
      <email>hlship@apache.org</email>
      <url>http://howardlewisship.com</url>
      <roles>
        <role>Menace</role>
      </roles>
      <timezone>PDT</timezone>
    </developer>
    <developer>
      <id>gredler</id>
      <name>Daniel Gredler</name>
      <email>gredler@apache.org</email>
      <url>http://daniel.gredler.net/</url>
      <roles>
        <role>Newbie</role>
      </roles>
      <timezone>EDT</timezone>
    </developer>
    <developer>
      <id>dadams</id>
      <name>Dan Adams</name>
      <email>dadams@apache.org</email>
      <roles>
        <role>Engineer</role>
      </roles>
      <timezone>EST</timezone>
      <organization>Interactive Factory</organization>
      <organizationUrl>http://ifactory.com</organizationUrl>
    </developer>
    <developer>
      <id>kmenard</id>
      <name>Kevin Menard</name>
      <email>kmenard@servprise.com</email>
      <organization>Servprise International, Inc.</organization>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>tedst</id>
      <name>Ted Steen</name>
      <email>ted.steen@gmail.com</email>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>drobiazko</id>
      <name>Igor Drobiazko</name>
      <email>drobiazko@apache.org</email>
      <url>http://tapestry5.de/</url>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>robertdzeigler</id>
      <name>Robert Zeigler</name>
      <email>robertdzeigler@apache.org</email>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>-6</timezone>
    </developer>
    <developer>
      <id>thiagohp</id>
      <name>Thiago H. de Paula Figueiredo</name>
      <email>thiagohp@apache.org</email>
      <url>http://www.arsmachina.com.br/thiago</url>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>-3</timezone>
    </developer>
    <developer>
      <id>uli</id>
      <name>Ulrich Stärk</name>
      <email>uli@apache.org</email>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>andyhot</id>
      <name>Andreas Andreou</name>
      <email>andyhot@apache.org</email>
      <url>http://blog.andyhot.gr</url>
      <roles>
        <role>PMC</role>
        <role>Developer</role>
      </roles>
      <timezone>+2</timezone>
    </developer>
    <developer>
      <id>ccordenier</id>
      <name>Christophe Cordenier</name>
      <email>ccordenier@apache.org</email>
      <url>http://spreadthesource.com</url>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
  </developers>
  <ciManagement>
    <system>hudson</system>
    <url>http://hudson.apache.org/hudson/view/Tapestry/</url>
    <notifiers>
        <notifier>
	    <type>mail</type>
	    <address>dev@tapestry.apache.org</address>
        </notifier>
    </notifiers>
  </ciManagement>
  <mailingLists>
    <mailingList>
      <name>Tapestry User List</name>
      <subscribe>users-subscribe@tapestry.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@tapestry.apache.org</unsubscribe>
      <archive>http://markmail.org/search/list:org.apache.tapestry.users</archive>
    </mailingList>
    <mailingList>
      <name>Tapestry Developer List</name>
      <subscribe>dev-subscribe@tapestry.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@tapestry.apache.org</unsubscribe>
      <archive>http://markmail.org/search/list:org.apache.tapestry.dev</archive>
    </mailingList>
    <mailingList>
      <name>Tapestry Commits List</name>
      <subscribe>commits-subscribe@tapestry.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@tapestry.apache.org</unsubscribe>
      <archive>http://markmail.org/search/list:org.apache.tapestry.commits</archive>
    </mailingList>
  </mailingLists>
  <modules>
    <module>tapestry-json</module>
    <module>tapestry-func</module>
    <module>tapestry-test</module>
    <module>tapestry-ioc</module>
    <module>tapestry-annotations</module>
    <module>tapestry-core</module>
    <module>tapestry-beanvalidator</module>
    <module>tapestry-jmx</module>
    <!-- Integrations -->
    <module>tapestry-spring</module>
    <module>tapestry-hibernate-core</module>
    <module>tapestry-hibernate</module>
    <module>tapestry-upload</module>
    <!-- Now we're getting into the archetypes. -->
    <module>quickstart</module>
    <!-- And the Maven plugin. -->
    <module>tapestry-component-report</module>
    <!-- Tutorials -->
    <module>tapestry-tutorial1</module>
  </modules>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>3.0</version>
        <scope>test</scope>
      </dependency>
      <!-- Now, artifacts created by Tapestry sub-projects. -->
      <dependency>
        <groupId>org.apache.tapestry</groupId>
        <artifactId>tapestry-ioc</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tapestry</groupId>
        <artifactId>tapestry-core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tapestry</groupId>
        <artifactId>tapestry-hibernate-core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tapestry</groupId>
        <artifactId>tapestry-test</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.1.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>2.3</version>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>2.0-beta-5</version>
        </plugin>
        <!-- We configure this either way, but it's only active when the "deploy" profile is active. -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>1.3</version>
          <executions>
            <execution>
              <id>sign-artifacts</id>
              <phase>verify</phase>
              <goals>
                <goal>sign</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <descriptorRefs>
              <descriptorRef>bin</descriptorRef>
              <descriptorRef>src</descriptorRef>
            </descriptorRefs>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <executions>
            <execution>
              <goals>
                <goal>jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>1.5</source>
            <target>1.5</target>
            <optimize>true</optimize>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.4.3</version>
          <configuration>
            <suiteXmlFiles>
              <suiteXmlFile>src/test/conf/testng.xml</suiteXmlFile>
            </suiteXmlFiles>
            <argLine>-Xmx500m -XX:MaxPermSize=256m</argLine>
            <redirectTestOutputToFile>false</redirectTestOutputToFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <archive>
              <compress>true</compress>
              <index>true</index>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <configuration>
            <!-- Will be true for profile "deploy" -->
            <updateReleaseInfo>${update-release-info}</updateReleaseInfo>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <configuration>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.1</version>
          <configuration>
            <tagBase>https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/releases/</tagBase>
            <mavenExecutorId>forked-path</mavenExecutorId>
          </configuration>
        </plugin>
        <plugin>
	    <groupId>org.codehaus.mojo</groupId>
	    <artifactId>clirr-maven-plugin</artifactId>
	    <version>2.2.1</version>
	</plugin>
      </plugins>
    </pluginManagement>
  </build>
  <profiles>
    <profile>
      <!-- Used only when cuttting a full release.  Configures the deploy plugin to mark
          each artifact as a release (especially important for the archetype). Signs each
          file deployed (it actually signs way too many files and we have to clean up a bit
          once deployed). -->
      <id>deploy</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
      <properties>
        <update-release-info>true</update-release-info>
        <!--  Don't re-run tests as part of the deploy build. -->
        <maven.test.skip>true</maven.test.skip>
      </properties>
    </profile>
    <!--  Only enable Javadoc as part of the output site when the javadoc profile is active. -->
    <profile>
      <id>javadoc</id>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <!--  Version 2.3 is broken: See http://jira.codehaus.org/browse/MJAVADOC-145 -->
            <version>2.2</version>
            <configuration>
              <linksource>true</linksource>
              <links>
                <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
                <link>http://java.sun.com/j2ee/1.4/docs/api/</link>
                <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
              </links>
              <stylesheetfile>${basedir}/src/site/resources/css/jdstyle.css</stylesheetfile>
              <aggregate>true</aggregate>
            </configuration>
          </plugin>
        </plugins>
      </reporting>
    </profile>
  </profiles>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>license</report>
              <report>scm</report>
              <report>project-team</report>
              <report>mailing-list</report>
              <report>cim</report>
              <report>issue-tracking</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>
  <!-- 
      Check out http://maven.apache.org/developers/committer-settings.html
      to review the settings you need to have in your ~/.m2/settings.xml
    -->
  <distributionManagement>
    <site>
      <id>tapestry</id>
      <url>scpexe://people.apache.org/www/tapestry.apache.org/tapestry5.2-dev/</url>
    </site>
  </distributionManagement>
  <properties>
    <!-- Version 2.1 lists everything as 100% covered, weird. -->
    <cobertura-plugin-version>2.2</cobertura-plugin-version>
    <update-release-info>false</update-release-info>
    <testng-version>5.12.1</testng-version>
  </properties>
</project>
