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

  <parent>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-parent</artifactId>
    <version>30-SNAPSHOT</version>
  </parent>

  <artifactId>maven-site</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>

  <name>Apache Maven Site</name>
  <url>https://maven.apache.org/</url>

  <prerequisites>
    <maven>3.0</maven>
  </prerequisites>

  <!-- repeated here so that maven-site is not appended -->
  <scm>
    <connection>scm:svn:https://svn.apache.org/repos/asf/maven/site/trunk/</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/site/trunk/</developerConnection>
    <url>https://svn.apache.org/viewvc/maven/site/trunk/</url>
  </scm>

  <issueManagement>
    <system>jira</system>
    <url>https://issues.apache.org/jira/browse/MNGSITE</url>
  </issueManagement>

  <properties>
    <currentStableVersion>3.3.9</currentStableVersion>
    <currentStableReleaseDate>2015-11-14</currentStableReleaseDate>
    <current33xVersion>3.3.9</current33xVersion>
    <current32xVersion>3.2.5</current32xVersion>
    <current31xVersion>3.1.1</current31xVersion>
    <current30xVersion>3.0.5</current30xVersion>
    <currentAntTasksVersion>2.1.3</currentAntTasksVersion>
    <currentAntTasksReleaseDate>2011-04-17</currentAntTasksReleaseDate>
    <versions2x>2.2.1,2.2.0,2.1.0,2.0.11,2.0.10,2.0.9,2.0.8,2.0.7,2.0.6,2.0.5,2.0.4,2.0.3,2.0.2,2.0.1,2.0</versions2x>
    <versions3x>3.3.9,3.3.3,3.3.1,3.2.5,3.2.3,3.2.2,3.2.1,3.1.1,3.1.0,3.1.0-alpha-1,3.0.5,3.0.4,3.0.3,3.0.2,3.0.1,3.0,3.0-beta-3,3.0-beta-2,3.0-beta-1,3.0-alpha-7,3.0-alpha-6,3.0-alpha-5,3.0-alpha-4,3.0-alpha-3</versions3x>
    <site.output>${project.build.directory}/site</site.output>
  </properties>

  <repositories>
    <repository><!-- useful to resolve parent pom when it is a SNAPSHOT -->
      <id>apache.snapshots</id>
      <name>Apache Snapshot Repository</name>
      <url>https://repository.apache.org/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pdf-plugin</artifactId>
          <version>1.3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <configuration>
            <siteDirectory>${project.basedir}/content</siteDirectory>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>check-site-inheritance</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>site</phase>
            <configuration>
              <rules>
                <requireFilesExist>
                  <message>Generated site should have inherited the correct skin from the parent</message>
                  <!-- check assumes you've run with "clean" -->
                  <files>
                    <file>${project.reporting.outputDirectory}/images/apache-maven-project-2.png</file>
                  </files>
                </requireFilesExist>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-filtered-resources</id>
            <phase>pre-site</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.reporting.outputDirectory}</outputDirectory>
              <resources>
                <resource>
                  <directory>${project.basedir}/content/filtered-resources</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>chmod</id>
            <phase>site</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <chmod file="${project.reporting.outputDirectory}/download.cgi" perm="ugo+rx"/>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <executions>
          <execution>
            <id>jar</id>
            <phase>site</phase>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <jarOutputDirectory>${project.reporting.outputDirectory}</jarOutputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <excludeDefaults>true</excludeDefaults>
    <outputDirectory>${site.output}</outputDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <reportSets>
          <reportSet><!-- don't execute inherited reports, since some are useless and cannot be removed -->
            <configuration>
              <skip>true</skip>
            </configuration>
          </reportSet>
          <reportSet><!-- execute only reports necessary for main site, in a dedicated reportSet -->
            <id>site-mpir</id>
            <reports>
              <report>index</report>          <!-- xdoc/index.xml.vm -->
              <report>project-team</report>
              <report>mailing-list</report>
              <report>scm</report>            <!-- xdoc/source-repository.xml -->
              <report>issue-tracking</report> <!-- markdown/issue-tracking.md -->
              <report>cim</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>pdf</id>
      <activation>
        <property>
          <!--name>pdf.skip</name-->
          <name>pdf.exec</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pdf-plugin</artifactId>
            <executions>
              <execution>
                <id>pdf</id>
                <phase>site</phase>
                <goals>
                  <goal>pdf</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.reporting.outputDirectory}</outputDirectory>
                  <siteDirectory>${project.basedir}/content</siteDirectory>
                  <docDescriptor>${project.basedir}/content/pdf.xml</docDescriptor>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>linkcheck</id>
      <activation>
        <property>
          <!--name>linkcheck.skip</name-->
          <name>linkcheck.exec</name>
        </property>
      </activation>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-linkcheck-plugin</artifactId>
            <version>1.0</version>
            <configuration>
              <excludedLinks>
                <excludedLink>**/archetype/*</excludedLink>
                <excludedLink>**/ant-tasks/*</excludedLink>
                <excludedLink>**/doxia/*</excludedLink>
                <excludedLink>**/jxr/*</excludedLink>
                <excludedLink>**/maven-1.x/*</excludedLink>
                <excludedLink>**/mercury/*</excludedLink>
                <excludedLink>**/scm/*</excludedLink>
                <excludedLink>**/shared/*</excludedLink>
                <excludedLink>**/skins/*</excludedLink>
                <excludedLink>**/surefire/*</excludedLink>
                <excludedLink>**/wagon/*</excludedLink>
                <excludedLink>**/plugins/maven-*</excludedLink>
                <excludedLink>**/ref/*</excludedLink>
                <excludedLink>**/maven-model/*</excludedLink>
                <excludedLink>**/maven-settings/*</excludedLink>
                <excludedLink>irc://*</excludedLink>
              </excludedLinks>
            </configuration>
          </plugin>
        </plugins>
      </reporting>
    </profile>
  </profiles>
</project>
