<?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">
  <parent>
    <artifactId>archiva</artifactId>
    <groupId>org.apache.archiva</groupId>
    <version>3.0.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>archiva-modules</artifactId>
  <packaging>pom</packaging>
  <name>Archiva :: Modules</name>
  <url>https://archiva.apache.org/ref/${project.version}</url>

  <properties>
    <scmPubCheckoutDirectory>${basedir}/.site-content</scmPubCheckoutDirectory>
    <!-- The git repository, where the site content is placed -->
    <siteRepositoryUrl>scm:git:https://gitbox.apache.org/repos/asf/archiva-web-content.git</siteRepositoryUrl>
    <site.staging.base>${project.basedir}</site.staging.base>
  </properties>

  <modules>
    <module>archiva-base</module>

    <module>archiva-scheduler</module>
    <module>archiva-web</module>
    <module>archiva-karaf</module>
    <module>metadata</module>
    <module>plugins</module>
  </modules>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <configuration>
            <skipDeploy>true</skipDeploy>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-scm-publish-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <checkinComment>Apache Archiva versioned module docs for ${project.version}</checkinComment>
          <skipDeletedFiles>true</skipDeletedFiles>
          <content>${project.build.directory}/staging</content>
          <tryUpdate>true</tryUpdate>
          <!--
                    <ignorePathsToDelete>
                      <path>%regex[^(?!docs/).*$]</path>
                    </ignorePathsToDelete>
          -->
        </configuration>
        <executions>
          <execution>
            <id>scm-publish</id>
            <phase>site-deploy</phase>
            <goals>
              <goal>publish-scm</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <skipDeploy>true</skipDeploy>
          <stagingDirectory>${site.staging.base}/target/staging/ref/${project.version}/</stagingDirectory>
        </configuration>
        <executions>
          <execution>
            <id>attach-descriptor</id>
            <goals>
              <goal>attach-descriptor</goal>
            </goals>
          </execution>
<!--          <execution>
            <id>site-generate-resources</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>site</goal>
            </goals>
          </execution>-->
          <!--
          <execution>
            <id>stage-for-scm-publish</id>
            <phase>post-site</phase>
            <goals>
              <goal>stage</goal>
            </goals>
            <configuration>
              <skipDeploy>false</skipDeploy>
            </configuration>
          </execution>
          -->
        </executions>
      </plugin>
    </plugins>

  </build>

  <reporting>
    <plugins>


      <!-- jxr first -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>${jxrVersion}</version>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <inherited>false</inherited>
            <reports>
              <report>aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${checkstyleVersion}</version>
        <!-- inherited is needed to use netbeans checkstyle based code formatting -->
        <!-- 2013 05 03 may change in future release -->
        <inherited>true</inherited>
        <configuration>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <configLocation>config/maven_checks.xml</configLocation>
        </configuration>
      </plugin>
      <plugin>
        <!-- No need for the standard project reports -->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${maven-project-info-reports-plugin.version}</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>index</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${javadocPluginVersion}</version>
        <inherited>false</inherited>
        <configuration>
          <notimestamp>true</notimestamp>
          <javadocVersion>1.8</javadocVersion>
          <source>1.8</source>
          <doclint>none</doclint>
          <links>
            <link>https://docs.oracle.com/javase/8/docs/api</link>
            <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>
            <link>http://commons.apache.org/dbcp/apidocs/</link>
            <link>http://commons.apache.org/fileupload/apidocs/</link>
            <link>http://commons.apache.org/httpclient/apidocs/</link>
            <link>http://commons.apache.org/logging/apidocs/</link>
            <link>http://commons.apache.org/pool/apidocs/</link>
            <link>http://junit.sourceforge.net/javadoc/</link>
            <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
            <link>http://jakarta.apache.org/regexp/apidocs/</link>
            <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
          </links>

          <linksource>true</linksource>
          <show>private</show>
          <tags>
            <tag>
              <name>todo</name>
              <placement>a</placement>
              <head>To Do:</head>
            </tag>
          </tags>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <!-- Don't need tests -->
              <report>aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>



    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>reporting</id>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>${checkstyleVersion}</version>
            <inherited>false</inherited>
            <reportSets>
              <reportSet>
                <reports>
                  <report>checkstyle-aggregate</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <!--
    This runs a sparse git checkout for the web site content repository that contains only the doc directory.
    The profile is activated only, if the checkout directory does not exist.
    The executor runs a shell script.
    -->
    <profile>
      <id>site-checkout</id>
      <activation>
        <file>
          <missing>${scmPubCheckoutDirectory}</missing>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <inherited>false</inherited>
            <executions>
              <execution>
                <id>prepare-checkout</id>
                <phase>pre-site</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>checkoutSite.sh</executable>
                  <workingDirectory>${project.basedir}</workingDirectory>
                  <arguments>
                    <argument>-d</argument>
                    <argument>${scmPubCheckoutDirectory}</argument>
                    <argument>${siteRepositoryUrl}</argument>
                  </arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

  </profiles>


  <distributionManagement>
    <site>
      <id>apache.website</id>
      <url>${siteRepositoryUrl}</url>
    </site>
  </distributionManagement>

</project>