<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <parent>
    <groupId>org.apache.myfaces</groupId>
    <artifactId>myfaces</artifactId>
    <version>6</version>
  </parent>

  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.myfaces.core</groupId>
  <artifactId>myfaces-core-project</artifactId>
  <packaging>pom</packaging>
  <name>Apache MyFaces JSF-1.2 Core Project</name>
  <description>
    This project is the home of the MyFaces implementation of the JavaServer Faces 1.2 specification, and
    consists of an API module (javax.faces.* classes) and an implementation module (org.apache.myfaces.* classes).
  </description>
  <version>1.2.4</version>
  <url>http://myfaces.apache.org/core12</url>
  <issueManagement>
    <system>jira</system>
    <url>http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10600</url>
  </issueManagement>
  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/1_2_4</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/1_2_4</developerConnection>
    <url>http://svn.apache.org/repos/asf/myfaces/core/branches/1_2_4</url>
  </scm>
  <modules>
    <module>build</module>
    <module>api</module>
    <module>impl</module>
  </modules>
  <repositories>
     <repository>
       <id>java.net</id>
       <name>java.net Maven 1 Repository</name>
       <url>http://download.java.net/maven/1</url>
       <layout>legacy</layout>
    </repository>
  </repositories>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.2</version>
        <executions>
          <execution>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <!--
          - Make a checkstyle violation a compile error. Note that if a compile error occurs,
          - further information can be found in target/site/checkstyle.html (present even when
          - just the compile goal and not the site goal has been run). Note also that child
          - projects may redeclare this plugin and provide different configuration settings
          - to use different checks (more or less strict than the default).
          -->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.2</version>
        <executions>
          <execution>
            <id>verify-style</id>
            <phase>verify</phase>
            <goals><goal>check</goal></goals>
          </execution>
        </executions>
        <configuration>
          <configLocation>default/myfaces-checks-minimal.xml</configLocation>
          <headerLocation>default/myfaces-header.txt</headerLocation>
        </configuration>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.myfaces.buildtools</groupId>
          <artifactId>myfaces-faces-plugin</artifactId>
          <version>1.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-idea-plugin</artifactId>
          <version>2.1</version>
          <configuration>
            <jdkName>1.5</jdkName>
            <linkModules>true</linkModules>
            <downloadSources>true</downloadSources>
            <jdkLevel>5.0</jdkLevel>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <!-- disable the plugin for this site project -->
        <artifactId>maven-pmd-plugin</artifactId>
        <version>2.2</version>
        <reportSets>
          <reportSet />
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
      </dependency>
      <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
        <exclusions>
          <exclusion>
            <artifactId>jsp-api</artifactId>
            <groupId>javax.servlet</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>portlet-api</groupId>
        <artifactId>portlet-api</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-annotation_1.0_spec</artifactId>
        <version>1.0</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

   <pluginRepositories>
        <pluginRepository>
            <id>apache.snapshots</id>
            <name>Apache Snapshot Repository</name>
            <url>http://people.apache.org/repo/m2-snapshot-repository</url>
        </pluginRepository>
    </pluginRepositories>

    <distributionManagement>
      <site>
        <id>apache-site</id>
        <name>Apache Website</name>
        <url>scpexe://people.apache.org/www/myfaces.apache.org/core12/</url>
      </site>
    </distributionManagement>
</project>