<?xml version="1.0" encoding="UTF-8"?>
<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.jboss.seam</groupId>
   <artifactId>seam-parent</artifactId>
   <packaging>pom</packaging>
   <version>13</version>
   <name>Seam Parent</name>

   <description>
      The parent for Seam modules, containing example and test dependencies
   </description>

   <url>http://seamframework.org</url>

   <licenses>
      <license>
         <name>Apache License, Version 2.0</name>
         <distribution>repo</distribution>
         <url>http://www.apache.org/licenses/LICENSE-2.0</url>
      </license>
   </licenses>

   <developers>
      <developer>
         <name>Seam committers</name>
      </developer>
   </developers>
   
   <organization>
      <name>Seam Framework</name>
      <url>http://www.seamframework.org</url>
   </organization>

   <!--
      seam-parent declares versions that should NOT be exported to
      consuming projects such as test dependencies and example
      dependencies
   -->
   <properties>
      <!-- Force encoding to UTF-8 (bug in OS X)-->
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
   
      <!-- Testing library versions -->
      <testng.version>5.10</testng.version>
      <junit.version>4.8.1</junit.version>
      <mockito.version>1.8.4</mockito.version>
      <hamcrest.version>1.3.RC2</hamcrest.version>

      <!-- Arquillian versions -->
      <arquillian.version>1.0.0.CR2</arquillian.version>
      <arquillian.jboss.version>1.0.0.CR1</arquillian.jboss.version>
      <arquillian.jboss7.version>1.0.0.CR1</arquillian.jboss7.version>
      <arquillian.jetty.version>1.0.0.CR1</arquillian.jetty.version>
      <arquillian.tomcat.version>1.0.0.CR1</arquillian.tomcat.version>
      <arquillian.weld.version>1.0.0.CR2</arquillian.weld.version>
      <arquillian.glassfish.version>1.0.0.CR1</arquillian.glassfish.version>

      <!-- Container versions -->
      <jbossas7.version>7.0.1.Final</jbossas7.version>
      <glassfish.embedded.version>3.1.1</glassfish.embedded.version>
      
      <!-- Container BOM version - UPDATE WHEN UPDATING THIS POM VERSION!!! -->
      <container.bom.version>13</container.bom.version>

      <mortbay.jetty.version>6.1.26</mortbay.jetty.version>
      <eclipse.jetty.version>8.0.0.M1</eclipse.jetty.version>

      <slf4j.version>1.6.1</slf4j.version>
      <log4j.version>1.2.16</log4j.version>

      <weld.api.version>1.1.Final</weld.api.version>
      <weld.version>1.1.0.Final</weld.version>

      <glassfish.el.version>2.2.1-b04</glassfish.el.version>

      <hibernate.validator.version>4.1.0.Final</hibernate.validator.version>
      <hibernate.core.version>4.0.0.Beta5</hibernate.core.version>
      <openjpa.version>2.0.0</openjpa.version>

      <jboss_javaee6_spec.version>2.0.0.Final</jboss_javaee6_spec.version>
      <jsf.impl.version>2.0.2</jsf.impl.version>
      <jsfmock.version>1.0.6</jsfmock.version>
      <prettyfaces.version>3.22.0</prettyfaces.version>
      <hsqldb.version>1.8.0.10</hsqldb.version>
      <subetha.version>3.1.4</subetha.version>
      <jersey.version>1.5</jersey.version>

      <jbossas.servermanager.version>1.0.4.Final</jbossas.servermanager.version>
      <jbossas.client.version>6.0.0.Final</jbossas.client.version>
      <glassfish.server.version>3.1-b37</glassfish.server.version>
      
      <selenium.java.client.version>1.0.1</selenium.java.client.version>
      <richfaces.selenium.version>1.5.1.Final</richfaces.selenium.version>
      <ftest.testng.version>5.12.1</ftest.testng.version>
      <selenium.maven.plugin.version>1.1</selenium.maven.plugin.version>

      <weld.docbook.version>1.1.1-Beta3</weld.docbook.version>
      <seam.docbook.version>1.1.0.GA</seam.docbook.version>
      <jbossorg.docbook.version>1.1.0</jbossorg.docbook.version>
      
      <!-- Repository Deployment URLs -->
      <jboss.releases.repo.url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</jboss.releases.repo.url>
      <jboss.snapshots.repo.url>https://repository.jboss.org/nexus/content/repositories/snapshots/</jboss.snapshots.repo.url>
      <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
   </properties>
   
   <prerequisites>
      <maven>3.0</maven>
   </prerequisites>
   
   <modules>
      <module>test/glassfish-embedded-3.1</module>
      <!--module>test/glassfish-remote-3.1</module>
      <module>test/jbossas-managed-6</module-->
      <module>test/jbossas-managed-7</module>
      <!--module>test/jbossas-remote-6</module>
      <module>test/jbossas-remote-7</module>
      <module>test/jetty-embedded-7</module>
      <module>test/openejb-embedded-3.1</module>
      <module>test/openwebbeans-embedded-1</module>
      <module>test/resin-embedded-4</module>
      <module>test/tomcat-embedded-6</module-->
      <module>test/weld-ee-embedded-1.1</module>
      <!--module>test/weld-se-embedded-1.1</module-->
   </modules>

   <dependencyManagement>
      <dependencies>
        
         <!-- TESTING -->

         <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>${testng.version}</version>
            <classifier>jdk15</classifier>
            <scope>test</scope>
            <exclusions>
               <exclusion>
                  <groupId>junit</groupId>
                  <artifactId>junit</artifactId>
               </exclusion>
            </exclusions>
         </dependency>

         <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
         </dependency>
         
         <dependency>
            <groupId>junit</groupId>
            <artifactId>junit-dep</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
         </dependency>         

         <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
         </dependency>

         <!-- Hamcrest is used for test matching -->
         <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>${hamcrest.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian</groupId>
            <artifactId>arquillian-bom</artifactId>
            <version>${arquillian.version}</version>
            <scope>import</scope>
            <type>pom</type>
         </dependency>
         
         <!-- AS7 dependencies -->
         <dependency>
            <groupId>org.jboss.as</groupId>
            <artifactId>jboss-as-arquillian-container-managed</artifactId>
            <version>${jbossas7.version}</version>
            <scope>compile</scope>
         </dependency>
         
         <dependency>
            <groupId>org.jboss.as</groupId>
            <artifactId>jboss-as-dist</artifactId>
            <version>${jbossas7.version}</version>
         </dependency>
         
         <!-- Glassfish dependencies -->
         
         <dependency>
            <groupId>org.glassfish.extras</groupId>
            <artifactId>glassfish-embedded-all</artifactId>
            <version>${glassfish.embedded.version}</version>
            <scope>compile</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-jbossas-remote-6</artifactId>
            <version>${arquillian.jboss.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-jbossas-managed-6</artifactId>
            <version>${arquillian.jboss.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-jbossas-remote-7</artifactId>
            <version>${arquillian.jboss7.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-jbossas-managed-7</artifactId>
            <version>${arquillian.jboss7.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-glassfish-embedded-3.1</artifactId>
            <version>${arquillian.glassfish.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-glassfish-remote-3.1</artifactId>
            <version>${arquillian.glassfish.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-jetty-embedded-7</artifactId>
            <version>${arquillian.jetty.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-tomcat-embedded-6</artifactId>
            <version>${arquillian.tomcat.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-weld-se-embedded-1</artifactId>
            <version>${arquillian.weld.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-weld-se-embedded-1.1</artifactId>
            <version>${arquillian.weld.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-weld-ee-embedded-1.1</artifactId>
            <version>${arquillian.weld.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty</artifactId>
            <version>${mortbay.jetty.version}</version>
         </dependency>

         <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jsp-2.1-jetty</artifactId>
            <version>${mortbay.jetty.version}</version>
         </dependency>

         <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-naming</artifactId>
            <version>${mortbay.jetty.version}</version>
         </dependency>

         <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-plus</artifactId>
            <version>${mortbay.jetty.version}</version>
         </dependency>

         <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-webapp</artifactId>
            <version>${eclipse.jetty.version}</version>
         </dependency>

         <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-plus</artifactId>
            <version>${eclipse.jetty.version}</version>
            <exclusions>
               <exclusion>
                  <groupId>org.apache.geronimo.specs</groupId>
                  <artifactId>geronimo-jta_1.1_spec</artifactId>
               </exclusion>
            </exclusions>
         </dependency>         

         <dependency>
            <groupId>org.glassfish.deployment</groupId>
            <artifactId>deployment-client</artifactId>
            <version>${glassfish.server.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.jbossas</groupId>
            <artifactId>jboss-server-manager</artifactId>
            <version>${jbossas.servermanager.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.jbossas</groupId>
            <artifactId>jboss-as-client</artifactId>
            <version>${jbossas.client.version}</version>
            <type>pom</type>
            <scope>test</scope>
         </dependency>       
         
         <!-- Container BOMs -->
         
         <dependency>
            <groupId>org.jboss.seam.test</groupId>
            <artifactId>jbossas-managed-7</artifactId>
            <version>${container.bom.version}</version>
            <type>pom</type>
            <scope>test</scope>
         </dependency>
         
         <!-- Selenium is used to drive functional tests -->
         
         <dependency>
            <groupId>org.seleniumhq.selenium.client-drivers</groupId>
            <artifactId>selenium-java-client-driver</artifactId>
            <version>${selenium.java.client.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>org.jboss.test</groupId>
            <artifactId>richfaces-selenium</artifactId>
            <version>${richfaces.selenium.version}</version>
            <scope>test</scope>
         </dependency>           
         
         <!-- LOGGING -->

         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
         </dependency>

         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>${slf4j.version}</version>
            <scope>runtime</scope>
         </dependency>

         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-jdk14</artifactId>
            <version>${slf4j.version}</version>
            <scope>runtime</scope>
         </dependency>

         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j</artifactId>
            <version>${slf4j.version}</version>
            <scope>runtime</scope>
         </dependency>
         
         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
            <scope>runtime</scope>
         </dependency>
         
         <!-- Required for Weld EE embedded -->
         <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
            <scope>runtime</scope>
         </dependency>
         
         <!-- WELD -->

         <dependency>
            <groupId>org.jboss.weld</groupId>
            <artifactId>weld-api</artifactId>
            <version>${weld.api.version}</version>
         </dependency>

         <dependency>
            <groupId>org.jboss.weld</groupId>
            <artifactId>weld-core</artifactId>
            <version>${weld.version}</version>
         </dependency>

         <dependency>
            <groupId>org.jboss.weld.se</groupId>
            <artifactId>weld-se</artifactId>
            <version>${weld.version}</version>
         </dependency>

         <dependency>
            <groupId>org.jboss.weld.se</groupId>
            <artifactId>weld-se-core</artifactId>
            <version>${weld.version}</version>
         </dependency>

         <dependency>
            <groupId>org.jboss.weld.servlet</groupId>
            <artifactId>weld-servlet</artifactId>
            <version>${weld.version}</version>
         </dependency>
         
         <!-- Java EE6 dependencies -->
         <dependency>
            <groupId>org.jboss.spec</groupId>
            <artifactId>jboss-javaee-6.0</artifactId>
            <version>${jboss_javaee6_spec.version}</version>
            <type>pom</type>
            <scope>provided</scope>
            <exclusions>
               <exclusion>
                  <groupId>org.apache.xalan</groupId>
                  <artifactId>xalan</artifactId>
               </exclusion>
            </exclusions>
         </dependency>
         
         <dependency>
            <groupId>org.jboss.spec</groupId>
            <artifactId>jboss-javaee-web-6.0</artifactId>
            <version>${jboss_javaee6_spec.version}</version>
            <type>pom</type>
            <scope>provided</scope>
            <exclusions>
               <exclusion>
                  <groupId>org.apache.xalan</groupId>
                  <artifactId>xalan</artifactId>
               </exclusion>
            </exclusions>
         </dependency>
         
         <!-- JSF -->

         <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>${jsf.impl.version}</version>
         </dependency>
         
         <dependency>
            <groupId>org.jboss.test-jsf</groupId>
            <artifactId>jsf-mock</artifactId>
            <version>${jsfmock.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>com.ocpsoft</groupId>
            <artifactId>prettyfaces-jsf11</artifactId>
            <version>${prettyfaces.version}</version>
         </dependency>

         <dependency>
            <groupId>com.ocpsoft</groupId>
            <artifactId>prettyfaces-jsf12</artifactId>
            <version>${prettyfaces.version}</version>
         </dependency>

         <dependency>
            <groupId>com.ocpsoft</groupId>
            <artifactId>prettyfaces-jsf2</artifactId>
            <version>${prettyfaces.version}</version>
         </dependency>         
         
         <!-- EL -->

         <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>el-impl</artifactId>
            <version>${glassfish.el.version}</version>
            <exclusions>
               <exclusion>
                  <groupId>javax.el</groupId>
                  <artifactId>el-api</artifactId>
               </exclusion>
            </exclusions>
         </dependency>

         <!-- Hibernate / JPA -->

         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>${hibernate.validator.version}</version>
         </dependency>

         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.core.version}</version>
         </dependency>

         <dependency>
           <groupId>org.apache.openjpa</groupId>
           <artifactId>openjpa-all</artifactId>
           <version>${openjpa.version}</version>
         </dependency>
         
         <!-- Hypersonic -->

         <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>${hsqldb.version}</version>
         </dependency>
         
         <!-- Unknown -->
         
         <dependency>
            <groupId>org.subethamail</groupId>
            <artifactId>subethasmtp</artifactId>
            <version>${subetha.version}</version>
            <scope>test</scope>
         </dependency>

         <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-bundle</artifactId>
            <version>${jersey.version}</version>
         </dependency>

         <dependency>
            <groupId>com.sun.jersey.contribs</groupId>
            <artifactId>jersey-multipart</artifactId>
            <version>${jersey.version}</version>
         </dependency>

      </dependencies>
   </dependencyManagement>

   <build>
      <pluginManagement>
         <plugins>
         
            <!-- Confirm that we require this -->
            <plugin>
               <groupId>ch.qos.cal10n.plugins</groupId>
               <artifactId>maven-cal10n-plugin</artifactId>
               <version>0.7.2</version>
            </plugin>
            
            <!-- Compiles Java code to class files -->        
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>2.3.2</version>
               <configuration>
                  <source>1.6</source>
                  <target>1.6</target>
               </configuration>
            </plugin>              
         
            <!-- Used to generate our docbook reference documentation -->
            <plugin>
               <groupId>org.jboss.maven.plugins</groupId>
               <artifactId>maven-jdocbook-plugin</artifactId>
               <version>2.3.5</version>
               <extensions>true</extensions>
               <dependencies>
                  <!--dependency>
                     <groupId>org.jboss.weld</groupId>
                     <artifactId>weld-docbook-xslt</artifactId>
                     <version>${weld.docbook.version}</version>
                  </dependency-->
                  <dependency>
                     <groupId>org.jboss.seam</groupId>
                     <artifactId>seam-docbook-xslt</artifactId>
                     <version>${seam.docbook.version}</version>
                  </dependency>
                  <dependency>
                     <groupId>org.jboss.seam</groupId>
                     <artifactId>seam-jdocbook-style</artifactId>
                     <version>${seam.docbook.version}</version>
                     <type>jdocbook-style</type>
                  </dependency>
                  <dependency>
                     <groupId>org.jboss</groupId>
                     <artifactId>jbossorg-jdocbook-style</artifactId>
                     <version>${jbossorg.docbook.version}</version>
                     <type>jdocbook-style</type>
                  </dependency>
               </dependencies>
               <configuration>
                  <sourceDirectory>${project.basedir}/src/main/docbook</sourceDirectory>
                  <sourceDocumentName>master.xml</sourceDocumentName>
                  <masterTranslation>en-US</masterTranslation>
                  <imageResource>
                     <directory>${project.basedir}/src/main/docbook/en-US</directory>
                     <includes>
                        <include>images/*.png</include>
                     </includes>
                  </imageResource>
                  <formats>
                     <format>
                        <formatName>pdf</formatName>
                        <stylesheetResource>classpath:/xslt/org/jboss/seam/pdf.xsl</stylesheetResource>
                        <finalName>${pdf.name}</finalName>
                     </format>
                     <format>
                        <formatName>html</formatName>
                        <stylesheetResource>classpath:/xslt/org/jboss/seam/xhtml.xsl</stylesheetResource>
                        <finalName>index.html</finalName>
                     </format>
                     <format>
                        <formatName>html_single</formatName>
                        <stylesheetResource>classpath:/xslt/org/jboss/seam/xhtml-single.xsl</stylesheetResource>
                        <finalName>index.html</finalName>
                     </format>
                  </formats>
                  <options>
                     <xincludeSupported>true</xincludeSupported>
                     <xmlTransformerType>saxon</xmlTransformerType>
                     <docbookVersion>1.72.0</docbookVersion>
                     <localeSeparator>-</localeSeparator>
                  </options>
               </configuration>
            </plugin>
         
            <!-- Used to build releases -->            
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-release-plugin</artifactId>
               <configuration>
                  <arguments>-Drelease </arguments>
                  <autoVersionSubmodules>true</autoVersionSubmodules>
               </configuration>
               <version>2.2.1</version>
            </plugin>         

            <!-- Executes unit tests and generates xml and txt reports -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.9</version>
            </plugin>
            
            <!-- Generates reports based on test results -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-report-plugin</artifactId>
               <version>2.9</version>
            </plugin>
            
            <!-- Cleans up after the build -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-clean-plugin</artifactId>
               <version>2.4.1</version>
            </plugin>
            
            <!-- Deploys the built artifacts to the remote repository -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-deploy-plugin</artifactId>
               <version>2.6</version>
            </plugin>

            <!-- Used to create distribution archives -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-assembly-plugin</artifactId>
               <version>2.2.1</version>
               <executions>
                  <execution>
                     <id>distribution</id>
                     <phase>package</phase>
                     <goals>
                        <goal>single</goal>
                     </goals>
                     <configuration>
                        <descriptors>
                           <descriptor>src/main/assembly/assembly.xml</descriptor>
                        </descriptors>
                        <finalName>${project.build.finalName}-${project.version}</finalName>
                        <appendAssemblyId>false</appendAssemblyId>
                     </configuration>
                  </execution>
               </executions>
            </plugin>
            
            <!-- Installs the built artifact into the local repository -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-install-plugin</artifactId>
               <version>2.3.1</version>
            </plugin>
            
            <!-- Builds a JAR of source files -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-source-plugin</artifactId>
               <version>2.1.2</version>
            </plugin>
            
            <!-- Copies project resources to the output directory for including in the jar -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-resources-plugin</artifactId>
               <version>2.5</version>
            </plugin>
            
            <!-- Dependency manipulation -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-dependency-plugin</artifactId>
               <version>2.3</version>
            </plugin>
            
            <!-- Builds a project JAR file -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-jar-plugin</artifactId>
               <version>2.3.1</version>
               <configuration>
                  <archive>
                     <!-- Seam requires different version defaults -->
                     <manifestEntries>
                        <Implementation-Version>${project.version}</Implementation-Version>
                        <Implementation-Vendor-Id>org.jboss.seam</Implementation-Vendor-Id>
                        <Specification-Version>${project.version}</Specification-Version>
                        <Implementation-URL>${project.url}</Implementation-URL>
                        <Implementation-Title>${project.name}</Implementation-Title>
                        <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                        <Specification-Title>${project.name}</Specification-Title>
                        <Specification-Vendor>${project.organization.name}</Specification-Vendor>
                     </manifestEntries>
                     <manifestSections>
                        <manifestSection>
                           <name>Build-Information</name>
                           <manifestEntries>
                              <Maven-Version>${maven.version}</Maven-Version>
                              <Java-Version>${java.version}</Java-Version>
                              <Java-Vendor>${java.vendor}</Java-Vendor>
                              <Os-Name>${os.name}</Os-Name>
                              <Os-Arch>${os.arch}</Os-Arch>
                              <Os-Version>${os.version}</Os-Version>
                              <SCM>r${buildNumber}</SCM>
                              <Build-Time>${maven.build.timestamp}</Build-Time>
                           </manifestEntries>
                        </manifestSection>
                     </manifestSections>
                  </archive>
               </configuration>
            </plugin>
            
            <!-- Assists with Maven build lifecycle -->
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>build-helper-maven-plugin</artifactId>
               <version>1.5</version>
               <executions>
                  <execution>
                     <phase>validate</phase>
                     <goals>
                        <!-- Sets a property containing the current version of Maven -->
                        <goal>maven-version</goal>
                        <!-- Sets properties containing the parsed components of a version string -->
                        <goal>parse-version</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            
            <!-- The JavaDoc plugin is used to generate API documentation -->
            <plugin>
               <groupId>org.jboss.maven.plugins</groupId>
               <artifactId>maven-javadoc-plugin</artifactId>
               <version>2.8</version>               
               <configuration>
                  <links>
                     <link>http://download.oracle.com/javaee/6/api</link>
                  </links>
                  <keywords>true</keywords>
                  <author>true</author>
               </configuration>
            </plugin>
            
            <!-- Creates signatures for artifacts and poms -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-gpg-plugin</artifactId>
               <version>1.3</version>
            </plugin>
            
            <!-- Controls environmental constraints, such as Maven and JDK versions, etc -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-enforcer-plugin</artifactId>
               <version>1.0.1</version>
               <executions>
                  <execution>
                     <id>seam-build-req</id>
                     <goals>
                        <goal>enforce</goal>
                     </goals>
                     <inherited>true</inherited>
                     <configuration>
                        <rules>
                           <requireJavaVersion>
                              <version>1.6.0</version>
                           </requireJavaVersion>
                           <requireMavenVersion>
                              <version>[3.0.0,)</version>
                           </requireMavenVersion>
                        </rules>
                     </configuration>
                  </execution>                  
               </executions>
            </plugin>      
            
            <!-- Used to build shaded jars -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-shade-plugin</artifactId>
               <version>1.4</version>
            </plugin>
            
            <!-- Generates an eclipse project file for the current project -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-eclipse-plugin</artifactId>
               <configuration>
                  <classpathContainers>
                     <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
                  </classpathContainers>
               </configuration>
            </plugin>
            
            <!-- Glassfish plugin -->
            <plugin>
               <groupId>org.glassfish</groupId>
               <artifactId>maven-embedded-glassfish-plugin</artifactId>
               <version>3.0</version>
               <configuration>
                  <goalPrefix>glassfish</goalPrefix>
                  <app>${project.build.directory}/${project.build.finalName}.war</app>
                  <port>7070</port>
                  <contextRoot>${project.build.finalName}</contextRoot>
               </configuration>
               <executions>
                  <execution>
                     <phase>install</phase>
                     <goals>
                        <goal>run</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            
            <!-- Jetty plugin -->
            <plugin>
               <groupId>org.mortbay.jetty</groupId>
               <artifactId>maven-jetty-plugin</artifactId>
               <version>6.1.21</version>
               <configuration>
                  <!-- Delete this block to have Jetty run default port (8080) -->
                  <connectors>
                     <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                        <port>9090</port>
                     </connector>
                  </connectors>
                  <!-- force friendly name instead of artifact name + version -->
                  <contextPath>${project.build.finalName}</contextPath>
                  <!--
                     Where the BeanManager is constructed. This is where
                     you'll declare datasources.
                  -->
                  <jettyEnvXml>${basedir}/src/main/resources/jetty-env.xml</jettyEnvXml>
                  <!-- This parameter will auto-deploy modified classes. -->
                  <!--
                     You can save changes in a file or class and refresh
                     your browser to view the changes.
                  -->
                  <scanIntervalSeconds>3</scanIntervalSeconds>
               </configuration>
            </plugin>
            
            <!-- Tomcat plugin -->
            <!-- Embedded Tomcat (package tomcat:run) -->
            <!-- Standalone Tomcat (package tomcat:deploy) -->
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>tomcat-maven-plugin</artifactId>
               <version>1.0-beta-1</version>
               <inherited>true</inherited>
               <configuration>
                  <path>/${project.build.finalName}</path>
                  <!-- Embedded port -->
                  <port>6060</port>
                  <!--
                     The default authentication credentials for remote
                     deployment are username "admin" with no password To
                     override credentials, define a server in
                     settings.xml and activate it using the <server>
                     element
                  -->
                  <url>http://localhost:8080/manager</url>
               </configuration>
            </plugin>
            
            <!-- Builds a war file for the current project -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-war-plugin</artifactId>
               <version>2.1.1</version>
               <inherited>true</inherited>
               <configuration>
                  <failOnMissingWebXml>false</failOnMissingWebXml>
                  <warName>${project.build.finalName}</warName>
               </configuration>
            </plugin>

             
            <!-- Nexus plugin https://repository.sonatype.org/content/sites/maven-sites/nexus-maven-plugin/-->
            <plugin>
               <groupId>org.sonatype.plugins</groupId>
               <artifactId>nexus-maven-plugin</artifactId>
               <version>1.7</version>
               <configuration>
                  <nexusUrl>https://repository.jboss.org/nexus</nexusUrl>
                  <serverAuthId>jboss-releases-repository</serverAuthId>
               </configuration>
            </plugin>
            
            <!-- JBoss AS plugin http://mojo.codehaus.org/jboss-maven-plugin/ -->
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>jboss-maven-plugin</artifactId>
               <version>1.5.0</version>
            </plugin>
            
            <!-- Emma code coverage plugin http://mojo.codehaus.org/emma-maven-plugin/ -->
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>emma-maven-plugin</artifactId>
               <version>1.0-alpha-2</version>
            </plugin>
            
            <!-- Emma code coverage plugin -->
            <plugin>
               <groupId>org.sonatype.maven.plugin</groupId>
               <artifactId>emma4it-maven-plugin</artifactId>
               <version>1.3</version>
            </plugin>
            
            <!-- Looks for bugs in Java code http://mojo.codehaus.org/findbugs-maven-plugin/ -->
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>findbugs-maven-plugin</artifactId>
               <version>2.3.2</version>
               <configuration>
                  <effort>Max</effort>
                  <threshold>Low</threshold>
                  <xmlOutput>true</xmlOutput>
                  <failOnError>false</failOnError>
               </configuration>
               <executions>
                  <execution>
                     <goals>
                        <goal>check</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            
            <!-- Thin wrapper that allows you to manipulate Java EE containers in a standard way http://cargo.codehaus.org/ -->
            <plugin>
               <groupId>org.codehaus.cargo</groupId>
               <artifactId>cargo-maven2-plugin</artifactId>
               <version>1.1.2</version>
            </plugin>
            
            <!-- Automated web-application testing http://mojo.codehaus.org/selenium-maven-plugin/-->
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>selenium-maven-plugin</artifactId>
               <version>2.0</version>
            </plugin>
            
            <!-- Run the JUnit integration tests in an isolated classloader. http://maven.apache.org/plugins/maven-failsafe-plugin/ -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>failsafe-maven-plugin</artifactId>
               <version>2.9</version>
            </plugin>
            
            <!-- Executes common scm commands -->
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-scm-plugin</artifactId>
               <version>1.4</version>
            </plugin>
            
         </plugins>
      </pluginManagement>

   </build>

   <profiles>
      <profile>
         <id>distribution</id>
         <activation>
            <property>
               <name>release</name>
            </property>
         </activation>
         <build>
            <plugins>
               <!-- Generate javadoc artifacts -->
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>attach-javadocs</id>
                        <goals>
                           <goal>jar</goal>
                        </goals>
                        <configuration>
                           <detectOfflineLinks>false</detectOfflineLinks>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
               
               <!-- Sign project artifacts -->
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-gpg-plugin</artifactId>
                  <configuration>
                     <passphrase>${gpg.passphrase}</passphrase>
                     <useAgent>${gpg.useAgent}</useAgent>
                  </configuration>
                  <executions>
                     <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                           <goal>sign</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
               
               <plugin>
                  <groupId>org.sonatype.plugins</groupId>
                  <artifactId>nexus-maven-plugin</artifactId>
                  <configuration>
                     <auto>true</auto>
                     <description>[nexus-maven-plugin] closing
                        repository after release:perform</description>
                  </configuration>
               </plugin>
               
               <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>buildnumber-maven-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>validate-scm</id>
                        <goals>
                           <goal>create</goal>
                        </goals>
                        <!-- Disabled, doesn't support git -->
                        <phase>none</phase>
                        <configuration>
                           <doUpdate>true</doUpdate>
                           <doCheck>true</doCheck>
                        </configuration>
                     </execution>
                  </executions>
                  <inherited>true</inherited>
               </plugin>
            </plugins>
         </build>
      </profile>
      
      <profile>
         <id>code-coverage</id>
         <activation>
            <property>
               <name>code-coverage</name>
            </property>
         </activation>
         <build>
            <pluginManagement>
               <plugins>
                  <plugin>
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>emma-maven-plugin</artifactId>
                     <executions>
                        <execution>
                           <id>instrumentation</id>
                           <phase>process-classes</phase>
                           <goals>
                              <goal>instrument</goal>
                           </goals>
                           <configuration>
                              <verbose>true</verbose>
                           </configuration>
                        </execution>
                        <execution>
                           <id>instrumentation-clean</id>
                           <phase>clean</phase>
                           <goals>
                              <goal>clean</goal>
                           </goals>
                        </execution>
                     </executions>
                  </plugin>

                  <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-surefire-plugin</artifactId>
                     <inherited>true</inherited>
                     <configuration>
                        <forkMode>once</forkMode>
                        <classesDirectory>${project.build.directory}/generated-classes/emma/classes</classesDirectory>
                     </configuration>
                  </plugin>

                  <plugin>
                     <groupId>org.sonatype.maven.plugin</groupId>
                     <artifactId>emma4it-maven-plugin</artifactId>
                     <executions>
                        <execution>
                           <id>report</id>
                           <phase>test</phase>
                           <goals>
                              <goal>report</goal>
                           </goals>
                           <configuration>
                              <sourceSets>
                                 <sourceSet>
                                    <directory>${project.build.sourceDirectory}</directory>
                                 </sourceSet>
                              </sourceSets>
                           </configuration>
                        </execution>
                     </executions>
                  </plugin>
               </plugins>
            </pluginManagement>
         </build>
      </profile>
      
      <profile>
         <id>jboss-public-repository</id>
         <activation>
            <property>
               <name>jboss-public-repository</name>
               <value>!false</value>
            </property>
         </activation>
         
         <repositories>
            <repository>
               <id>jboss-public-repository-group</id>
               <name>JBoss Public Maven Repository Group</name>
               <url>http://repository.jboss.org/nexus/content/groups/public</url>
               <releases>
                  <enabled>true</enabled>
                  <updatePolicy>never</updatePolicy>
               </releases>
               <snapshots>
                  <enabled>false</enabled>
                  <updatePolicy>never</updatePolicy>
               </snapshots>
            </repository>
         </repositories>
         
         <pluginRepositories>
            <pluginRepository>
               <id>jboss-public-repository-group</id>
               <name>JBoss Public Maven Repository Group</name>
               <url>http://repository.jboss.org/nexus/content/groups/public</url>
               <releases>
                  <enabled>true</enabled>
                  <updatePolicy>never</updatePolicy>
               </releases>
               <snapshots>
                  <enabled>false</enabled>
                  <updatePolicy>never</updatePolicy>
               </snapshots>
            </pluginRepository>
         </pluginRepositories>
         
      </profile>
      
      <profile>
         <id>ftest</id>
         <properties>
            <selenium.browser>*firefoxproxy</selenium.browser>
            <selenium.browser.url>http://localhost:8080</selenium.browser.url>
            <selenium.server.port>14444</selenium.server.port>
            <selenium.server.host>localhost</selenium.server.host>
            <selenium.speed>0</selenium.speed>
            <selenium.timeout>30000</selenium.timeout>
            <selenium.debug>false</selenium.debug>
            <selenium.log.dir>${project.build.directory}/ftest</selenium.log.dir>
            <application.deploy.timeout>300</application.deploy.timeout>
            <browserSessionReuse>true</browserSessionReuse>
            <cargo.jvmargs.additional />
            <cargo.timeout.deploy>120000</cargo.timeout.deploy>
            <context.host>localhost</context.host>
            <context.root>http://${context.host}:8080/</context.root>
            <context.path>/${project.build.finalName}/</context.path>
            <context.deploy.path>${context.path}</context.deploy.path>
            <deployable.location />
            <ftest.version.discriminator />
            <deployable.type>war</deployable.type>
            <method>*</method>
            <selenium.maximize>false</selenium.maximize>
            <selenium.timeout.ajax>15000</selenium.timeout.ajax>
            <selenium.timeout.default>30000</selenium.timeout.default>
            <selenium.timeout.gui>5000</selenium.timeout.gui>
            <selenium.timeout.model>30000</selenium.timeout.model>
            <ftest.suite.xml>src/test/resources/ftests.xml</ftest.suite.xml>
         </properties>
         <build>
            <plugins>
               <!-- Skip unit tests -->
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <configuration>
                     <skip>true</skip>
                  </configuration>
               </plugin>
               <!-- Start Selenium -->
               <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>selenium-maven-plugin</artifactId>
                  <version>${selenium.maven.plugin.version}</version>
                  <executions>
                     <execution>
                        <id>start-selenium</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                           <goal>start-server</goal>
                        </goals>
                        <configuration>
                           <background>true</background>
                           <port>${selenium.server.port}</port>
                           <logOutput>true</logOutput>
                           <logFile>${selenium.log.dir}/selenium-server.log</logFile>
                           <browserSideLog>${selenium.debug}</browserSideLog>
                           <debug>${selenium.debug}</debug>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>failsafe-maven-plugin</artifactId>
                  <configuration>
                     <suiteXmlFiles>
                        <suiteXmlFile>${basedir}/${ftest.suite.xml}</suiteXmlFile>
                     </suiteXmlFiles>
                     <argLine>-Xmx748m</argLine>
                     <forkMode>once</forkMode>
                     <systemProperties>
                        <property>
                           <name>method</name>
                           <value>${method}</value>
                        </property>
                        <property>
                           <name>browser</name>
                           <value>${selenium.browser}</value>
                        </property>
                        <property>
                           <name>context.root</name>
                           <value>${context.root}</value>
                        </property>
                        <property>
                           <name>context.path</name>
                           <value>${context.path}</value>
                        </property>
                        <property>
                           <name>selenium.host</name>
                           <value>${selenium.server.host}</value>
                        </property>
                        <property>
                           <name>selenium.port</name>
                           <value>${selenium.server.port}</value>
                        </property>
                        <property>
                           <name>selenium.debug</name>
                           <value>${selenium.debug}</value>
                        </property>
                        <property>
                           <name>selenium.maximize</name>
                           <value>${selenium.maximize}</value>
                        </property>
                        <property>
                           <name>maven.resources.dir</name>
                           <value>${resources.dir}</value>
                        </property>
                        <property>
                           <name>maven.project.build.directory</name>
                           <value>${project.build.directory}</value>
                        </property>
                        <property>
                           <name>selenium.timeout.default</name>
                           <value>${selenium.timeout.default}</value>
                        </property>
                        <property>
                           <name>selenium.timeout.gui</name>
                           <value>${selenium.timeout.gui}</value>
                        </property>
                        <property>
                           <name>selenium.timeout.ajax</name>
                           <value>${selenium.timeout.ajax}</value>
                        </property>
                        <property>
                           <name>selenium.timeout.model</name>
                           <value>${selenium.timeout.model}</value>
                        </property>
                        <property>
                           <name>selenium.speed</name>
                           <value>${selenium.speed}</value>
                        </property>
                        <property>
                           <name>selenium.timeout</name>
                           <value>${selenium.timeout}</value>
                        </property>
                        <property>
                           <name>basedir</name>
                           <value>${basedir}</value>
                        </property>
                     </systemProperties>
                  </configuration>
                  <executions>
                     <execution>
                        <id>verify</id>
                        <phase>verify</phase>
                        <goals>
                           <goal>verify</goal>
                        </goals>
                     </execution>
                     <execution>
                        <id>integration-test</id>
                        <phase>integration-test</phase>
                        <goals>
                           <goal>integration-test</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
               <!-- Stop Selenium -->
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-antrun-plugin</artifactId>
                  <executions>
                     <execution>
                        <!-- this ant script runs testng natively -->
                        <id>stop-selenium</id>
                        <phase>post-integration-test</phase>
                        <configuration>
                           <tasks>
                              <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected" />
                              <get taskname="selenium-shutdown" src="http://${selenium.server.host}:${selenium.server.port}/selenium-server/driver/?cmd=shutDownSeleniumServer" ignoreerrors="true" dest="${selenium.log.dir}/selenium.stop.msg" />
                           </tasks>
                        </configuration>
                        <goals>
                           <goal>run</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
      </profile>
   </profiles>

   <scm>
      <connection>scm:git:git://github.com/seam/parent.git</connection>
      <developerConnection>scm:git:git@github.com:seam/parent.git</developerConnection>
      <url>http://github.com/seam/parent</url>
   </scm>
   
   <distributionManagement>
      <repository>
         <id>jboss-releases-repository</id>
         <name>JBoss Releases Repository</name>
         <url>${jboss.releases.repo.url}</url>
      </repository>
      <snapshotRepository>
         <id>jboss-snapshots-repository</id>
         <name>JBoss Snapshots Repository</name>
         <url>${jboss.snapshots.repo.url}</url>
      </snapshotRepository>
   </distributionManagement>

</project>
