<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.gatein.pc</groupId>
      <artifactId>pc-parent</artifactId>
      <version>2.2.0-GA</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>pc-test</artifactId>
   <packaging>jar</packaging>
   <name>GateIn - Portlet Container (test)</name>

   <dependencies>

      <dependency>
         <groupId>org.gatein.common</groupId>
         <artifactId>common-mc</artifactId>
      </dependency>


      <dependency>
         <groupId>org.gatein.common</groupId>
         <artifactId>common-logging</artifactId>
      </dependency>

      <dependency>
         <groupId>org.gatein.wci</groupId>
         <artifactId>wci-wci</artifactId>
      </dependency>
      <dependency>
         <groupId>org.gatein.wci</groupId>
         <artifactId>wci-tomcat</artifactId>
      </dependency>

      <dependency>
         <groupId>org.gatein.pc</groupId>
         <artifactId>pc-controller</artifactId>
      </dependency>
      <dependency>
         <groupId>org.gatein.pc</groupId>
         <artifactId>pc-portlet</artifactId>
      </dependency>
      <dependency>
         <groupId>org.gatein.pc</groupId>
         <artifactId>pc-mc</artifactId>
      </dependency>
      <dependency>
         <groupId>org.gatein.pc</groupId>
         <artifactId>pc-api</artifactId>
      </dependency>

      <dependency>
         <groupId>apache-log4j</groupId>
         <artifactId>log4j</artifactId>
      </dependency>

      <dependency>
         <groupId>org.jboss.unit</groupId>
         <artifactId>jboss-unit</artifactId>
         <exclusions>
           <exclusion>
             <groupId>cargo</groupId>
             <artifactId>core</artifactId>
           </exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.jboss.unit</groupId>
         <artifactId>jboss-unit-remote</artifactId>
         <exclusions>
           <exclusion>
             <groupId>cargo</groupId>
             <artifactId>core</artifactId>
           </exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.jboss.unit</groupId>
         <artifactId>jboss-unit-mc</artifactId>
      </dependency>
      <dependency>
         <groupId>org.jboss.unit</groupId>
         <artifactId>jboss-unit-tooling-ant</artifactId>
      </dependency>
      <dependency>
         <groupId>org.jboss.unit</groupId>
         <artifactId>portal-test</artifactId>
      </dependency>
      <dependency>
         <groupId>org.jboss.unit</groupId>
         <artifactId>portal-test-generic</artifactId>
      </dependency>

      <dependency>
         <groupId>org.jboss.remoting</groupId>
         <artifactId>jboss-remoting</artifactId>
      </dependency>


      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-simple</artifactId>
      </dependency>

      <dependency>
         <groupId>concurrent</groupId>
         <artifactId>concurrent</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.microcontainer</groupId>
         <artifactId>jboss-kernel</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss</groupId>
         <artifactId>jboss-reflect</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>jboss</groupId>
         <artifactId>jboss-serialization</artifactId>
         <scope>test</scope>
      </dependency>

      <dependency>
         <groupId>jboss</groupId>
         <artifactId>jboss-common-logging-jdk</artifactId>
      </dependency>
      <dependency>
         <groupId>jboss</groupId>
         <artifactId>jboss-common-logging-log4j</artifactId>
      </dependency>

      <dependency>
         <groupId>commons-logging</groupId>
         <artifactId>commons-logging</artifactId>
      </dependency>
      <dependency>
         <groupId>commons-httpclient</groupId>
         <artifactId>commons-httpclient</artifactId>
      </dependency>
      <dependency>
         <groupId>cargo</groupId>
         <artifactId>cargo-manager</artifactId>
         <type>war</type>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.codehaus.cargo</groupId>
         <artifactId>cargo-core-uberjar</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.codehaus.cargo</groupId>
         <artifactId>cargo-ant</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.codehaus.cargo</groupId>
         <artifactId>cargo-jetty-deployer</artifactId>
         <type>war</type>
         <scope>test</scope>
      </dependency>
      
      <dependency>
        <groupId>javax.ccpp</groupId>
        <artifactId>ccpp</artifactId>
      </dependency>
      <dependency>
         <groupId>javax.portlet</groupId>
         <artifactId>portlet-api</artifactId>
      </dependency>

      <!-- JSTL for Tomcat -->
      <dependency>
         <groupId>apache-taglibs</groupId>
         <artifactId>jstl</artifactId>
      </dependency>
      <dependency>
         <groupId>apache-taglibs</groupId>
         <artifactId>standard</artifactId>
      </dependency>
   </dependencies>

   <profiles>
      <!--By default Annotation Processing Tool related classes need to be disabled-->
      <profile>
         <id>default</id>
         <activation>
            <activeByDefault>true</activeByDefault>
         </activation>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <executions>
                     <execution>
                        <goals>
                           <goal>compile</goal>
                        </goals>
                     </execution>
                  </executions>
                  <configuration>
                     <excludes>
                        <exclude>org/gatein/pc/test/unit/reports/*</exclude>
                     </excludes>
                  </configuration>
               </plugin>
            </plugins>
         </build>
      </profile>

      <profile>
         <id>apt</id>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.myfaces.tobago</groupId>
                  <artifactId>maven-apt-plugin</artifactId>
                  <executions>
                     <execution>
                        <phase>package</phase>
                        <configuration>
                           <factory>org.gatein.pc.test.unit.reports.TestCaseAPF</factory>
                           <force>true</force>
                           <target>1.5</target>
                           <nocompile>true</nocompile>
                           <showWarnings>true</showWarnings>
                        </configuration>
                        <goals>
                           <goal>testExecute</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
         <dependencies>
            <dependency>
               <groupId>sun.jdk</groupId>
               <artifactId>tools</artifactId>
               <version>1.5.0</version>
               <scope>system</scope>
               <systemPath>${java.home}/../lib/tools.jar</systemPath>
            </dependency>
         </dependencies>
      </profile>
      <!--On MacOSX the tools.jar should be already in the classpath-->
      <profile>
         <id>apt-mac</id>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.myfaces.tobago</groupId>
                  <artifactId>maven-apt-plugin</artifactId>
                  <executions>
                     <execution>
                        <phase>package</phase>
                        <configuration>
                           <factory>org.gatein.pc.test.unit.reports.TestCaseAPF</factory>
                           <force>true</force>
                           <target>1.5</target>
                           <nocompile>true</nocompile>
                           <showWarnings>true</showWarnings>
                        </configuration>
                        <goals>
                           <goal>testExecute</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
      </profile>
   </profiles>

   <build>
      <plugins>
         <plugin>
            <groupId>org.jboss.unit</groupId>
            <artifactId>jboss-unit-tooling-maven2</artifactId>
            <executions>
               <execution>
                  <phase>test</phase>
                  <goals>
                     <goal>execute</goal>
                  </goals>
               </execution>
            </executions>
            <configuration>
               <!--<jpda>false</jpda>-->
               <!--<jpdaPort>9000</jpdaPort>-->
               <!--<jpdaSuspend>true</jpdaSuspend>-->
               <failOnError>true</failOnError>
               <!--<assertions>true</assertions>-->
               <testsuites>
                  <testsuite>
                     <config>test/local-jboss-unit.xml</config>
                  </testsuite>
               </testsuites>
               <reports>
                  <xml>target/tests/reports/xml/local</xml>
                  <html>target/tests/reports/html/local</html>
               </reports>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.jvnet.maven-antrun-extended-plugin</groupId>
            <artifactId>maven-antrun-extended-plugin</artifactId>
            <version>1.13</version>

            <dependencies>

               <dependency>
                  <groupId>org.jboss.unit</groupId>
                  <artifactId>jboss-unit-tooling-ant</artifactId>
                  <version>${version.jboss.unit}</version>
               </dependency>

               <!-- stuff to run servers for tests -->
               <dependency>
                  <groupId>org.codehaus.cargo</groupId>
                  <artifactId>cargo-ant</artifactId>
                  <version>${version.cargo}</version>
               </dependency>
               <dependency>
                  <groupId>org.codehaus.cargo</groupId>
                  <artifactId>cargo-core-uberjar</artifactId>
                  <version>${version.cargo}</version>
               </dependency>

            </dependencies>
            <executions>
               <execution>
                  <id>test</id>
                  <phase>integration-test</phase>
                  <configuration>
                     <tasks>

                        <property name="compile_classpath" refid="maven.compile.classpath" />
                        <property name="runtime_classpath" refid="maven.runtime.classpath" />
                        <property name="test_classpath" refid="maven.test.classpath" />
                        <property name="plugin_classpath" refid="maven.plugin.classpath" />
                        <property name="project.version" value="${project.version}" />

                        <property name="dependency.log4j.jar" value="${maven.dependency.apache-log4j.log4j.jar.path}" />
                        <property name="dependency.commons-logging.jar" value="${maven.dependency.commons-logging.commons-logging.jar.path}" />
                        <property name="dependency.commons-httpclient.jar" value="${maven.dependency.commons-httpclient.commons-httpclient.jar.path}" />
                        <property name="dependency.activation.jar" value="${maven.dependency.javax.activation.activation.jar.path}" />
                        <property name="dependency.junit.jar" value="${maven.dependency.junit.junit.jar.path}" />
                        <property name="dependency.jsr168api.jar" value="${maven.dependency.javax.portlet.portlet-api.jar.path}" />
                        <property name="dependency.ccpp.jar" value="${maven.dependency.javax.ccpp.ccpp.jar.path}" />
                        <property name="dependency.jaxb.jar" value="${maven.dependency.sun-jaxb.jaxb-api.jar.path}" />

                        <property name="dependency.portal-common-common.jar" value="${maven.dependency.org.gatein.common.common-common.jar.path}" />
                        <property name="dependency.portal-common-mc.jar" value="${maven.dependency.org.gatein.common.common-mc.jar.path}" />
                        <property name="dependency.portal-common-logging.jar" value="${maven.dependency.org.gatein.common.common-logging.jar.path}" />
                        <property name="dependency.slf4j-simple.jar" value="${maven.dependency.org.slf4j.slf4j-simple.jar.path}" />
                        <property name="dependency.slf4j-api.jar" value="${maven.dependency.org.slf4j.slf4j-api.jar.path}" />

                        <property name="dependency.portal-wci-wci.jar" value="${maven.dependency.org.gatein.wci.wci-wci.jar.path}" />
                        <property name="dependency.portal-wci-tomcat.jar" value="${maven.dependency.org.gatein.wci.wci-tomcat.jar.path}" />

                        <property name="dependency.portal-portlet-portlet.jar" value="${maven.dependency.org.gatein.pc.pc-portlet.jar.path}" />
                        <property name="dependency.portal-portlet-controller.jar" value="${maven.dependency.org.gatein.pc.pc-controller.jar.path}" />
                        <property name="dependency.portal-portlet-mc.jar" value="${maven.dependency.org.gatein.pc.pc-mc.jar.path}" />
                        <property name="dependency.portal-portlet-api.jar" value="${maven.dependency.org.gatein.pc.pc-api.jar.path}" />

                        <property name="dependency.jboss-unit.jar" value="${maven.dependency.org.jboss.unit.jboss-unit.jar.path}" />
                        <property name="dependency.jboss-unit-mc.jar" value="${maven.dependency.org.jboss.unit.jboss-unit-mc.jar.path}" />
                        <property name="dependency.jboss-unit-remote.jar" value="${maven.dependency.org.jboss.unit.jboss-unit-remote.jar.path}" />
                        <property name="dependency.portal-test.jar" value="${maven.dependency.org.jboss.unit.portal-test.jar.path}" />
                        <property name="dependency.portal-test-generic.jar" value="${maven.dependency.org.jboss.unit.portal-test-generic.jar.path}" />
                        <property name="dependency.jboss-remoting.jar" value="${maven.dependency.org.jboss.remoting.jboss-remoting.jar.path}" />

                        <property name="dependency.concurrent.jar" value="${maven.dependency.concurrent.concurrent.jar.path}" />
                        <property name="dependency.trove.jar" value="${maven.dependency.trove.trove.jar.path}" />
                        <property name="dependency.jboss-logging-spi.jar" value="${maven.dependency.jboss.jboss-common-logging-spi.jar.path}" />
                        <property name="dependency.jboss-logging-jdk.jar" value="${maven.dependency.jboss.jboss-common-logging-jdk.jar.path}" />
                        <property name="dependency.jboss-logging-log4j.jar" value="${maven.dependency.jboss.jboss-common-logging-log4j.jar.path}" />
                        <property name="dependency.jboss-kernel.jar" value="${maven.dependency.org.jboss.microcontainer.jboss-kernel.jar.path}" />
                        <property name="dependency.jboss-dependency.jar" value="${maven.dependency.org.jboss.microcontainer.jboss-dependency.jar.path}" />
                        <property name="dependency.jboss-reflect.jar" value="${maven.dependency.org.jboss.jboss-reflect.jar.path}" />
                        <property name="dependency.jboss-common-core.jar" value="${maven.dependency.org.jboss.jboss-common-core.jar.path}" />
<!--                        <property name="dependency.jaxb.jar" value="${maven.dependency.javax.xml.bind.jaxb-api.jar.path}" /> -->
                        <property name="dependency.jboss-mdr.jar" value="${maven.dependency.org.jboss.jboss-mdr.jar.path}" />
                        <property name="dependency.javassist.jar" value="${maven.dependency.org.jboss.javassist.jar.path}" />
                        <property name="dependency.resolver.jar" value="${maven.dependency.apache-xerces.resolver.jar.path}" />
                        <property name="dependency.xercesImpl.jar" value="${maven.dependency.apache-xerces.xercesImpl.jar.path}" />
                        <property name="dependency.xml-apis.jar" value="${maven.dependency.apache-xerces.xml-apis.jar.path}" />
                        <property name="dependency.jbossxb.jar" value="${maven.dependency.org.jboss.jbossxb.jar.path}" />
                        <property name="dependency.jboss-serialization.jar" value="${maven.dependency.jboss.jboss-serialization.jar.path}" />

                        <property name="dependency.cargo-core-uberjar.jar" value="${maven.dependency.org.codehaus.cargo.cargo-core-uberjar.jar.path}" />
                        <property name="dependency.cargo-ant.jar" value="${maven.dependency.org.codehaus.cargo.cargo-ant.jar.path}" />
                        <property name="dependency.cargo-manager.war" value="${maven.dependency.cargo.cargo-manager.war.path}" />

                        <property name="dependency.apache-jstl.jar" value="${maven.dependency.apache-taglibs.jstl.jar.path}" />
                        <property name="dependency.apache-standard.jar" value="${maven.dependency.apache-taglibs.standard.jar.path}" />
                        <property name="dependency.cargo.jetty-deployer" value="${maven.dependency.org.codehaus.cargo.cargo-jetty-deployer.war.path}" />

                        <ant antfile="${basedir}/src/test/build.xml">
                           <target name="tests" />
                           <target name="package-tck-portal" />
                        </ant>

                     </tasks>
                  </configuration>
                  <goals>
                     <goal>run</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
      </plugins>

   </build>

</project>
