<?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.commons</groupId>
    <artifactId>commons-parent</artifactId>
    <version>47</version>
  </parent>

  <artifactId>commons-weaver-base</artifactId>
  <version>2.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Apache Commons Weaver</name>

  <inceptionYear>2012</inceptionYear> <!-- from NOTICE file -->

  <description>
    Apache Commons Weaver provides an easy way to enhance compiled Java
    classes by generating ("weaving") bytecode into those classes.
  </description>

  <url>https://commons.apache.org/proper/commons-weaver</url>

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

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <commons.componentid>weaver</commons.componentid>
    <commons.module.name>org.apache.commons.weaver</commons.module.name>
    <commons.release.version>2.0</commons.release.version>
    <commons.release.name>commons-weaver-${commons.release.version}</commons.release.name>
    <commons.rc.version>RC1</commons.rc.version>
    <commons.jira.id>WEAVER</commons.jira.id>
    <commons.jira.pid>12315320</commons.jira.pid>
    <commons.site.path>commons-weaver</commons.site.path>
    <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${commons.site.path}</commons.scmPubUrl>

    <commons.japicmp.version>0.14.4</commons.japicmp.version>
    <!-- remove after 2.0 release: -->
    <commons.japicmp.breakBuildOnBinaryIncompatibleModifications>false</commons.japicmp.breakBuildOnBinaryIncompatibleModifications>

    <!-- most Java-related items are defined in parent/pom.xml;
         define these here for the animal-sniffer config of commons-parent: -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

    <ant.version>1.9.4</ant.version>
    <asm.version>6.2.1</asm.version>
  </properties>

  <developers>
    <developer>
      <id>kinow</id>
      <name>Bruno P. Kinoshita</name>
      <email>kinow AT apache DOT org</email>
      <organization>Apache</organization>
    </developer>
    <developer>
      <id>mbenson</id>
      <name>Matt Benson</name>
      <email>mbenson AT apache DOT org</email>
      <organization>Apache</organization>
    </developer>
    <developer>
      <id>struberg</id>
      <name>Mark Struberg</name>
      <email>struberg AT apache DOT org</email>
      <organization>Apache</organization>
    </developer>
  </developers>

  <scm>
    <connection>scm:git:http://gitbox.apache.org/repos/asf/commons-weaver.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-weaver.git</developerConnection>
    <url>http://gitbox.apache.org/repos/asf/commons-weaver.git</url>
    <tag>HEAD</tag>
  </scm>

  <distributionManagement>
    <site>
      <id>commons.site</id>
      <name>Apache Commons Site SVN</name>
      <url>scm:svn:${commons.scmPubUrl}</url>
    </site>
  </distributionManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <configuration combine.self="override">
            <!-- disable passphrase setup from parent -->
          </configuration>
        </plugin>
        <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-shade-plugin</artifactId>
	        <version>3.1.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
            <excludeSubProjects>false</excludeSubProjects>
            <excludes>
	      <!-- notice -->
              <exclude>LICENSE-asm*.txt</exclude>
	      <!-- generated -->
              <exclude>**/target/**</exclude>
              <exclude>**/dependency-reduced-pom.xml</exclude>
	      <!-- hidden -->
              <exclude>**/.*</exclude>
              <exclude>**/.*/**</exclude>
	      <!-- binary -->
              <exclude>**/*.svg</exclude>
	      <!-- empty -->
              <exclude>**/src/site/resources/profile.japicmp</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.9</version>
        </plugin>
        <!-- override skip property of parent pom, can be removed once
             we adopt parent 48+ -->
        <plugin>
          <groupId>com.github.siom79.japicmp</groupId>
          <artifactId>japicmp-maven-plugin</artifactId>
          <configuration>
            <skip>false</skip>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-notices</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target xmlns:if="ant:if" xmlns:unless="ant:unless">
                <presetdef name="truth">
                  <condition value="true" else="false" />
                </presetdef>

                <macrodef name="seek">
                  <attribute name="name" />
                  <attribute name="addto" />
                  <sequential>
                    <augment id="@{addto}-sought">
                      <string value="@{name}" />
                    </augment>
                    <union id="@{name}-ws" />
                    <step dir="${project.basedir}" name="@{name}" addto="@{addto}" ws="@{name}-ws" />
                  </sequential>
                </macrodef>

                <macrodef name="step">
                  <attribute name="name" />
                  <attribute name="dir" />
                  <attribute name="addto" />
                  <attribute name="ws" />
                  <sequential>
                    <local name="seenDir" />
                    <truth property="seenDir">
                      <resourcecount when="gt" count="0">
                        <intersect id="intersection">
                          <resources refid="@{ws}" />
                          <file name="@{dir}" />
                        </intersect>
                      </resourcecount>
                    </truth>
                    <sequential unless:true="${seenDir}">
                      <augment id="@{ws}">
                        <file file="@{dir}" />
                      </augment>
                      <local name="exists" />
                      <truth property="exists">
                        <available file="@{dir}/@{name}" />
                      </truth>

                      <sequential if:true="${exists}">
                        <augment id="@{addto}">
                          <file file="@{dir}/@{name}" />
                        </augment>
                      </sequential>
                      <sequential unless:true="${exists}">
                        <local name="parent.dir" />
                        <dirname property="parent.dir" file="@{dir}" />
                        <step dir="${parent.dir}" name="@{name}" addto="@{addto}" ws="@{ws}" />
                      </sequential>
                    </sequential>
                  </sequential>
                </macrodef>

                <truth property="pom-only">
                  <equals arg1="${project.packaging}" arg2="pom" />
                </truth>
                <sequential unless:true="${pom-only}">
                  <union id="notices" />
                  <union id="notices-sought" />
                  <seek name="LICENSE.txt" addto="notices" />
                  <seek name="NOTICE.txt" addto="notices" />
                  <seek name="LICENSE-asm${asm.version}.txt" addto="notices" />

                  <resourcecount refid="notices-sought" property="notices.sought" />
                  <condition property="found-all-notices">
                    <resourcecount refid="notices" when="eq" count="${notices.sought}" />
                  </condition>
                  <sequential unless:set="found-all-notices">
                    <echo>Notices sought:</echo>
                    <pathconvert refid="notices-sought" pathsep="${line.separator}" />
                    <echo>Notices found:</echo>
                    <pathconvert refid="notices" pathsep="${line.separator}" />
                    <fail message="Some notices not found." />
                  </sequential>

                  <mkdir dir="${project.build.directory}/generated-resources/notices/META-INF" />
                  <copy verbose="true" todir="${project.build.directory}/generated-resources/notices/META-INF">
                    <resources refid="notices" />
                  </copy>

                  <mkdir dir="${project.build.directory}/generated-test-resources/notices/META-INF" />
                  <copy verbose="true" todir="${project.build.directory}/generated-test-resources/notices/META-INF">
                    <resources refid="notices" />
                  </copy>

                  <mkdir dir="${project.build.directory}/apidocs/META-INF" />
                  <copy verbose="true" todir="${project.build.directory}/apidocs/META-INF">
                    <resources refid="notices" />
                  </copy>
                </sequential>
              </target>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>${ant.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <tag>${commons.release.version}_${commons.rc.version}</tag>
          <preparationGoals>changes:changes-check</preparationGoals>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-scm-publish-plugin</artifactId>
        <configuration>
          <content>${project.build.directory}/staging</content>
          <ignorePathsToDelete>
            <ignorePathToDelete>javadocs</ignorePathToDelete>
          </ignorePathsToDelete>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>org.apache.maven.doxia</groupId>
            <artifactId>doxia-module-markdown</artifactId>
            <version>1.8</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <inherited>false</inherited>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-source-notices</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>add-resource</goal>
            </goals>
            <configuration>
              <resources>
                <resource>
                  <directory>${project.build.directory}/generated-resources/notices</directory>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <inherited>false</inherited>
	<configuration>
	  <checkoutDirectoryName>commons-weaver</checkoutDirectoryName>
	</configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <inherited>false</inherited>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>java10plus</id>
      <activation>
        <jdk>[10,)</jdk>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
                <groupId>com.github.siom79.japicmp</groupId>
                <artifactId>japicmp-maven-plugin</artifactId>
                <dependencies>
                  <dependency>
                    <groupId>org.glassfish.jaxb</groupId>
                    <artifactId>jaxb-runtime</artifactId>
                    <version>2.3.0.1</version>
                  </dependency>
                  <!-- needed temporarily to compare against the 1.x API -->
                  <dependency>
                    <groupId>javax.activation</groupId>
                    <artifactId>javax.activation-api</artifactId>
                    <version>1.2.0</version>
                  </dependency>
                </dependencies>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <inherited>false</inherited>
            <executions>
              <execution>
                <goals>
                  <goal>single</goal>
                </goals>
                <!-- disable assembly:single from commons-parent
                     release profile; multimodule assembly handled
                     by dist module -->
                <phase />
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <modules>
    <module>build-tools</module>
    <module>parent</module>
    <module>processor</module>
    <module>maven-plugin</module>
    <module>ant</module>
    <module>modules</module>
    <module>dist</module>
  </modules>

</project>
