<?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"> 
  <modelVersion>4.0.0</modelVersion>

  <name>Apache MyFaces Trinidad API</name>
  <description>Public API for the Apache MyFaces Trinidad project</description>

  <parent>
    <groupId>org.apache.myfaces.trinidad</groupId>
    <artifactId>trinidad</artifactId>
    <version>2.0.1</version>
  </parent>

  <artifactId>trinidad-api</artifactId>
  <packaging>jar</packaging>
  
  <dependencies>

    <dependency>
      <groupId>org.apache.myfaces.trinidad</groupId>
      <artifactId>trinidad-build</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.apache.myfaces.buildtools</groupId>
        <artifactId>myfaces-builder-annotations</artifactId>
    </dependency>
    
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
    </dependency>

    <dependency>
      <groupId>javax.portlet</groupId>
      <artifactId>portlet-api</artifactId>
    </dependency>

    <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
    </dependency>


    <dependency>
      <groupId>org.apache.myfaces.portlet-bridge</groupId>
      <artifactId>portlet-bridge-api</artifactId>
    </dependency>

    <!--dependency>
      <groupId>org.apache.myfaces.core</groupId>
      <artifactId>myfaces-api</artifactId>
      <scope>provided</scope> 
    </dependency-->
    
    <dependency>
      <groupId>com.sun.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <scope>provided</scope> 
    </dependency>

    <!-- "test" scope dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.shale</groupId>
      <artifactId>shale-test</artifactId>
    </dependency>

    <dependency>
      <groupId>jmock</groupId>
      <artifactId>jmock</artifactId>
    </dependency>

    <dependency>
      <groupId>jmock</groupId>
      <artifactId>jmock-cglib</artifactId>
    </dependency>
     <dependency> 	 
       <groupId>commons-lang</groupId> 	 
       <artifactId>commons-lang</artifactId> 	 
       <scope>test</scope> 	 
     </dependency> 	 

     <dependency> 	 
       <groupId>commons-io</groupId> 	 
       <artifactId>commons-io</artifactId> 	 
       <scope>test</scope> 	 
     </dependency> 

  </dependencies>

  <build>
    <plugins>
      <plugin>
         <groupId>org.codehaus.mojo</groupId> 	 
         <artifactId>clirr-maven-plugin</artifactId> 	 
         <version>2.3</version> 	 
         <configuration>
           <minSeverity>error</minSeverity> 	 
           <textOutputFile>${project.basedir}/target/clirr-runner.txt</textOutputFile> 	 
           <failOnError>false</failOnError> 	 
           <comparisonArtifacts> 	 
             <comparisonArtifact> 	 
               <groupId>org.apache.myfaces.trinidad</groupId> 	 
               <artifactId>trinidad-api</artifactId> 	 
               <version>1.2.15</version> 	 
             </comparisonArtifact> 	 
           </comparisonArtifacts> 	 
         </configuration> 	 
         <executions> 	 
           <execution> 	 
             <goals> 	 
               <goal>check</goal> 	 
             </goals> 	 
             <phase>test-compile</phase> 	 
           </execution> 	 
         </executions> 	 
       </plugin>

      <plugin>
        <groupId>org.apache.myfaces.trinidadbuild</groupId>
        <artifactId>maven-jdev-plugin</artifactId>
        <configuration>
          <projectHasTests>true</projectHasTests>
          <testSourceRoots>
            <file>${project.basedir}/src/test</file>
          </testSourceRoots>
        </configuration>
      </plugin>

      <!-- 
          To make the current version of maven available through a property (maven.version),
          the build-helper-maven-plugin can be used.
      -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.5</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>maven-version</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
         <archive>
           <manifest>
             <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
           </manifest>
           <manifestEntries>
             <Maven-Version>${maven.version}</Maven-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>
           </manifestEntries>
         </archive>
       </configuration>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.myfaces.trinidadbuild</groupId>
        <artifactId>maven-xrts-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>generate-sources</goal>
              <goal>generate-test-sources</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <configuration>
          <filtering>true</filtering>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <systemProperties> 	 
            <property> 	 
              <name>trinidad.clirr.golden</name> 	 
              <value>${project.basedir}/src/test/clirr/clirr-runner.txt</value> 	 
            </property> 	 
            <property> 	 
              <name>trinidad.clirr.compare</name> 	 
              <value>${project.basedir}/target/clirr-runner.txt</value> 	 
            </property> 	 
          </systemProperties>
          <includes implementation="java.util.ArrayList">
            <include implementation="java.lang.String">**/*Test.java</include>
          </includes>
        </configuration>
      </plugin>

      <plugin>
          <groupId>org.apache.myfaces.buildtools</groupId>
          <artifactId>myfaces-builder-plugin</artifactId>
          <executions>
              <execution>
                  <goals>
                      <goal>build-metadata</goal>
                  </goals>
                  <configuration>
                      <inputFile>${project.basedir}/src/main/conf/META-INF/myfaces-core-2_0-metadata.xml</inputFile>
                      <readMavenFacesPluginMetadata>true</readMavenFacesPluginMetadata>
                  </configuration>
              </execution>
          </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.myfaces.trinidadbuild</groupId>
        <artifactId>maven-faces-plugin</artifactId>
        <configuration>
          <typePrefix>org.apache</typePrefix>
          <packageContains>org.apache</packageContains>
          <jsfVersion>#{jsf-spec.version}</jsfVersion>
          <!--suppressListenerMethods>true</suppressListenerMethods-->
          <force>true</force>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>generate-components</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.myfaces.trinidadbuild</groupId>
        <artifactId>maven-i18n-plugin</artifactId>
        <configuration>
          <locale>en_US</locale>
          <force>true</force>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>generate-locale-elements</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <reportPlugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-project-info-reports-plugin</artifactId>
            </plugin>

            <plugin>
              <groupId>org.apache.myfaces.trinidadbuild</groupId>
              <artifactId>maven-tagdoc-plugin</artifactId>
              <configuration>
                <taglibs>
                  <tr>http://myfaces.apache.org/trinidad</tr>
                  <trh>http://myfaces.apache.org/trinidad/html</trh>
                </taglibs>
              </configuration>
            </plugin>

            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-javadoc-plugin</artifactId>
              <configuration>
                <showPackage>false</showPackage>
                <showProtected>true</showProtected>
                <!-- we should look up the new URLs -->
                <!--links>
                  <link>http://download.oracle.com/javase/1.5.0/docs/api</link>
                  <link>http://download.oracle.com/javaee/1.4/api</link>
                  <link>http://download.oracle.com/docs/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/api</link>
                  <link>http://download.oracle.com/javaee/5/api</link>
                </links-->
              </configuration>
            </plugin>

            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jxr-plugin</artifactId>
            </plugin>

            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-changelog-plugin</artifactId>
              <configuration>
                <basedir>${basedir}</basedir>
              </configuration>
            </plugin>

            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-pmd-plugin</artifactId>
            </plugin>
          </reportPlugins>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <includes>
            <include>src/*/</include>
            <include>pom.xml</include>
          </includes>
          <excludes>
            <exclude>**/clirr-runner.txt</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <!-- 
    This profile is for preparing a release....
  -->
  <profiles>
    <profile>
      <id>prepare-release</id>

      <activation>
        <property>
          <name>prepareRelease</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    
    <!-- This adds further debugging information to the manifest.  Currently this is the svn revision number of the build.  -->
    <profile>
      <id>extended-manifest</id>
      
      <build>
        <plugins>
          <!-- 
            To make the current revision number, we use the buildnumber-maven-plugin.
          -->
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>1.0-beta-4</version>
            <executions>
              <execution>
                <phase>validate</phase>
                <goals>
                  <goal>create</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <doCheck>false</doCheck>
              <doUpdate>false</doUpdate>
              <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
              <buildNumberPropertyName>scm.revision</buildNumberPropertyName>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
              <archive>
                <manifestEntries>
                  <Revision>${scm.revision}</Revision>
                </manifestEntries>
              </archive>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
