<?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 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>

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>21</version>
  </parent>

  <groupId>org.apache.any23</groupId>
  <artifactId>apache-any23</artifactId>
  <version>2.4-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Apache Any23</name>
  <description>Anything To Triples (any23) is a library, a web service and a command line tool that 
  extracts structured data in RDF format from a variety of Web documents.</description>
  <url>http://any23.apache.org</url>
  <inceptionYear>2010</inceptionYear>

  <repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>bintray-allenai-maven</id>
      <name>bintray</name>
      <url>https://allenai.bintray.com/maven</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>bintray-allenai-maven</id>
      <name>bintray-plugins</name>
      <url>https://allenai.bintray.com/maven</url>
    </pluginRepository>
  </pluginRepositories>

  <developers>
    <developer>
      <id>hansbrende</id>
      <name>Hans Brende</name>
      <email>hansbrende[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>band</id>
      <name>Bill Anderson</name>
      <email>band[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>ansell</id>
      <name>Peter Ansell</name>
      <email>ansell[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>dpalmisano</id>
      <name>Davide Palmisano</name>
      <email>dpalmisano[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>giovanni</id>
      <name>Giovanni Tummarello</name>
      <email>giovanni[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>lewismc</id>
      <name>Lewis John McGibbney</name>
      <email>lewismc[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>mattmann</id>
      <name>Chris Mattmann</name>
      <email>mattmann[at]apache[dot]org</email>
      <roles>
        <role>Champion</role>
        <role>Committer</role>
        <role>PMC Member</role>
        <role>Mentor</role>
      </roles>
    </developer>
    <developer>
      <id>mostarda</id>
      <name>Michele Mostarda</name>
      <email>mostarda[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>niq</id>
      <name>Nick Kew</name>
      <email>niq[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
        <role>Mentor</role>
      </roles>
    </developer>
    <developer>
      <id>pramirez</id>
      <name>Paul Michael Ramirez</name>
      <email>pramirez[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
        <role>Mentor</role>
      </roles>
    </developer>
    <developer>
      <id>reto</id>
      <name>Reto Bachmann-Gmür</name>
      <email>reto[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>simonetripodi</id>
      <name>Simone Tripodi</name>
      <email>simonetripodi[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
        <role>Mentor</role>
      </roles>
    </developer>
    <developer>
      <id>szydan</id>
      <name>Szymon Danielczyk</name>
      <email>szydan[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>tommaso</id>
      <name>Tommaso Teofili</name>
      <email>tommaso[at]apache[dot]org</email>
      <roles>
        <role>Committer</role>
        <role>PMC Member</role>
        <role>Mentor</role>
      </roles>
    </developer>
  </developers>

  <mailingLists>
    <mailingList>
      <name>Dev Mailing List</name>
      <post>dev[at]any23[dot]apache[dot]org</post>
      <subscribe>dev-subscribe[at]any23[dot]apache[dot]org</subscribe>
      <unsubscribe>dev-unsubscribe[at]any23[dot]apache[dot]org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/any23-dev/</archive>
      <otherArchives>
        <otherArchive>http://any23-dev.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>

    <mailingList>
      <name>User Mailing List</name>
      <post>user[at]any23[dot]apache[dot]org</post>
      <subscribe>user-subscribe[at]any23[dot]apache[dot]org</subscribe>
      <unsubscribe>user-unsubscribe[at]any23[dot]apache[dot]org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/any23-user/</archive>
      <otherArchives>
        <otherArchive>http://any23-user.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>

    <mailingList>
      <name>Commits Mailing List</name>
      <post>commits[at]any23[dot]apache[dot]org</post>
      <subscribe>commits-subscribe[at]any23[dot]apache[dot]org</subscribe>
      <unsubscribe>commits-unsubscribe[at]any23[dot]apache[dot]org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/any23-commits/</archive>
      <otherArchives>
        <otherArchive>http://any23-commits.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  <modules>
    <module>api</module>
    <module>test-resources</module>
    <module>csvutils</module>
    <module>mime</module>
    <module>encoding</module>
    <module>core</module>
    <module>cli</module>
  </modules>

  <scm>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/any23.git</developerConnection>
    <connection>scm:git:http://gitbox.apache.org/repos/asf/any23.git</connection>
    <url>https://gitbox.apache.org/repos/asf/any23.git</url>
    <tag>HEAD</tag>
  </scm>
  <issueManagement>
    <system>JIRA</system>
    <url>https://issues.apache.org/jira/browse/ANY23</url>
  </issueManagement>
  <ciManagement>
    <system>Jenkins</system>
    <url>https://builds.apache.org/job/Any23-trunk/</url>
  </ciManagement>

  <!-- General properties. -->
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <javac.src.version>1.8</javac.src.version>
    <javac.target.version>1.8</javac.target.version>

    <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ssZ</maven.build.timestamp.format>
    <implementation.build>${scmBranch}@r${buildNumber}</implementation.build>
    <implementation.build.tstamp>${maven.build.timestamp}</implementation.build.tstamp>

    <httpclient.version>4.5.12</httpclient.version>
    <httpcore.version>4.4.13</httpcore.version>
    <owlapi.version>5.1.13</owlapi.version>
    <poi.version>4.1.2</poi.version>
    <rdf4j.version>3.1.2</rdf4j.version>
    <semargl.version>0.7</semargl.version>
    <slf4j.logger.version>1.7.30</slf4j.logger.version>
    <tika.version>1.24</tika.version>
    <openie_2.11.version>4.2.6</openie_2.11.version>
    <openregex.version>1.1.1</openregex.version>
    <jackson.version>2.10.3</jackson.version>
    <commons-io.version>2.6</commons-io.version>

    <!-- Overridden in profiles to add JDK specific arguments to surefire -->
    <surefire-extra-args />

    <!-- Used to track API changes based on Semantic Versioning
         NOTE: velocity does.not.allow.dot.notation, so justUseCamelCase -->
    <latestStableRelease>2.3</latestStableRelease>

    <!-- Google Analytics id for website -->
    <form.tracker.id>UA-59636188-1</form.tracker.id>

    <!-- Maven Plugin Versions -->
    <maven-javadoc-plugin.version>3.1.1</maven-javadoc-plugin.version>
    <maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
    <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
    <maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
    <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
    <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version>
    <appassembler-maven-plugin.version>2.1.0</appassembler-maven-plugin.version>
    <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
    <buildnumber-maven-plugin.version>1.4</buildnumber-maven-plugin.version>
    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
    <maven-jar-plugin.version>3.1.2</maven-jar-plugin.version>
    <maven-surefire-plugin.version>3.0.0-M3</maven-surefire-plugin.version>
    <jacoco-maven-plugin.version>0.8.4</jacoco-maven-plugin.version>
    <maven-site-plugin.version>3.7.1</maven-site-plugin.version>
    <maven-changes-plugin.version>2.12.1</maven-changes-plugin.version>
    <maven-project-info-reports-plugin.version>3.0.0</maven-project-info-reports-plugin.version>
    <maven-jxr-plugin.version>3.0.0</maven-jxr-plugin.version>
    <maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version>
    <apache-rat-plugin.version>0.13</apache-rat-plugin.version>
    <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
    <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
    <maven-war-plugin.version>3.2.3</maven-war-plugin.version>
    <maven-invoker-plugin.version>3.2.1</maven-invoker-plugin.version>
    <maven-checkstyle-plugin.version>3.1.12.2</maven-checkstyle-plugin.version>
    <forbiddenapis.version>2.6</forbiddenapis.version>

    <!--
     | Any23 website has to be stored in SVN
    -->
    <site.deploymentBaseUrl>scm:svn:https://svn.apache.org/repos/asf/any23/site</site.deploymentBaseUrl>
    <site.filePath>${project.basedir}/any23-site/</site.filePath>
    <site.urlDeployment>file://${site.filePath}</site.urlDeployment>
    <site.scmPubCheckoutDirectory>${site.filePath}</site.scmPubCheckoutDirectory>
    <assembly.skip>false</assembly.skip>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.10</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient-cache</artifactId>
        <version>${httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpmime</artifactId>
        <version>${httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcore.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.14</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.20</version>
      </dependency>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.12.0</version>
      </dependency>
      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.13.1</version>
      </dependency>
      <dependency>
        <groupId>net.sf.biweekly</groupId>
        <artifactId>biweekly</artifactId>
        <version>0.6.3</version>
      </dependency>

      <!-- BEGIN: Tika -->
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>${tika.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-parsers</artifactId>
        <version>${tika.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>${poi.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>${poi.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-scratchpad</artifactId>
        <version>${poi.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <!-- END: Tika -->

      <!-- BEGIN: RDF4J -->
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-model</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-api</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-languages</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-datatypes</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-binary</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-turtle</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-rdfxml</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-ntriples</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-nquads</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-n3</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-trix</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-rdfjson</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-trig</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-rio-jsonld</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-repository-sail</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-sail-memory</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.rdf4j</groupId>
        <artifactId>rdf4j-repository-api</artifactId>
        <version>${rdf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.jsonld-java</groupId>
        <artifactId>jsonld-java</artifactId>
        <version>0.13.0</version>
      </dependency>
      <dependency>
        <groupId>org.semarglproject</groupId>
        <artifactId>semargl-rdf4j</artifactId>
        <version>${semargl.version}</version>
      </dependency>
      <!-- END: RDF4J -->

      <!-- BEGIN: OWLAPI -->
      <dependency>
        <groupId>net.sourceforge.owlapi</groupId>
        <artifactId>owlapi-api</artifactId>
        <version>${owlapi.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.owlapi</groupId>
        <artifactId>owlapi-rio</artifactId>
        <version>${owlapi.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.owlapi</groupId>
        <artifactId>owlapi-parsers</artifactId>
        <version>${owlapi.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.owlapi</groupId>
        <artifactId>owlapi-apibinding</artifactId>
        <version>${owlapi.version}</version>
      </dependency>
      <!-- END: OWLAPI -->

      <!-- BEGIN:  Apache Commons -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-csv</artifactId>
        <version>1.8</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <!-- END:  Apache Commons -->

      <!-- BEGIN: Plugins specific dependencies -->
      <dependency>
        <groupId>de.l3s.boilerpipe</groupId>
        <artifactId>boilerpipe</artifactId>
        <version>1.1.0</version>
      </dependency>
      <!-- END: Plugins specific dependencies -->

      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>1.78</version>
      </dependency>

      <!-- BEGIN: logger -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.logger.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.logger.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4j.logger.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.logger.version}</version>
      </dependency>
      <!-- END: logger -->

      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.26</version>
      </dependency>

      <!-- BEGIN: Test Dependencies -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>3.3.3</version>
        <scope>test</scope>
      </dependency>
      <!-- END: Test Dependencies -->
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${maven-clean-plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven-war-plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-invoker-plugin</artifactId>
          <version>${maven-invoker-plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${maven-deploy-plugin.version}</version>
          <inherited>true</inherited>
          <configuration>
            <updateReleaseInfo>true</updateReleaseInfo>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>${maven-install-plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven-resources-plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${maven-assembly-plugin.version}</version>
          <executions>
            <execution>
              <id>assembly</id>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <attach>true</attach>
            <skipAssembly>${assembly.skip}</skipAssembly>
            <tarLongFileMode>posix</tarLongFileMode>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>appassembler-maven-plugin</artifactId>
          <version>${appassembler-maven-plugin.version}</version>
          <configuration>
            <repositoryLayout>flat</repositoryLayout>
            <repositoryName>lib</repositoryName>
            <extraJvmArguments>-Xms500m -Xmx500m -XX:PermSize=128m -XX:-UseGCOverheadLimit</extraJvmArguments>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>${maven-release-plugin.version}</version>
          <configuration>
            <preparationGoals>install</preparationGoals>
            <mavenExecutorId>forked-path</mavenExecutorId>
            <useReleaseProfile>false</useReleaseProfile>
            <autoVersionSubmodules>false</autoVersionSubmodules>
            <tagNameFormat>any23-@{project.version}</tagNameFormat>
            <arguments>-Dany23.online.test.disabled=true -Prelease,apache</arguments>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.scm</groupId>
              <artifactId>maven-scm-provider-gitexe</artifactId>
              <version>1.9</version>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.0.0-M2</version>
          <executions>
            <execution>
              <id>enforce-maven</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <requireMavenVersion>
                    <version>3.5.0</version>
                  </requireMavenVersion>
                </rules>    
              </configuration>
            </execution>
          </executions>
        </plugin>

      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>de.thetaphi</groupId>
        <artifactId>forbiddenapis</artifactId>
        <version>${forbiddenapis.version}</version>
        <configuration>
          <failOnUnsupportedJava>false</failOnUnsupportedJava>
          <failOnUnresolvableSignatures>false</failOnUnresolvableSignatures>
          <bundledSignatures>
            <!-- https://github.com/policeman-tools/forbidden-apis/wiki/BundledSignatures -->
            <bundledSignature>jdk-unsafe-${javac.src.version}</bundledSignature>
            <bundledSignature>jdk-deprecated-${javac.src.version}</bundledSignature>
            <bundledSignature>jdk-non-portable</bundledSignature>
            <!-- comment out until we upgrade past Java 8 -->
            <!--bundledSignature>jdk-reflection</bundledSignature-->
            <bundledSignature>jdk-internal-${javac.src.version}</bundledSignature>
            <bundledSignature>jdk-system-out</bundledSignature>
            <bundledSignature>commons-io-unsafe-${commons-io.version}</bundledSignature>
          </bundledSignatures>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
              <!--goal>testCheck</goal-->
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- Javadoc plugin. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven-javadoc-plugin.version}</version>
        <configuration>
          <!--
           | Apple's JVM sometimes requires more memory
          -->
          <additionalJOption>-J-Xmx1024m</additionalJOption>
          <source>8</source>
        </configuration>
      </plugin>

      <!-- Drop inherited behavior (i.e. don't put any more default LICENSE and NOTICE files in all artifacts) -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>process</goal>
            </goals>
            <phase>none</phase>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>${buildnumber-maven-plugin.version}</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <doCheck>false</doCheck>
          <doUpdate>false</doUpdate>
          <useLastCommittedRevision>true</useLastCommittedRevision>
          <!-- default revision number if unavailable -->
          <revisionOnScmFailure>??????</revisionOnScmFailure>
        </configuration>
      </plugin>

      <!-- Compiler configuration. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven-compiler-plugin.version}</version>
        <configuration>
          <source>${javac.src.version}</source>
          <target>${javac.target.version}</target>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${maven-jar-plugin.version}</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${implementation.build}</Implementation-Build>
              <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
              <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
              <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>

      <!-- Generates the distribution package -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <descriptors>
            <descriptor>${basedir}/src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>

      <!-- Test runner configuration. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${maven-surefire-plugin.version}</version>
        <configuration>
          <!--
            Declaring default file encoding: UTF-8
            Enabling assertions.
           -->
          <argLine>-Dfile.encoding=UTF-8 -ea ${surefire-extra-args}</argLine>
          <includes>
            <include>**/*Test.java</include>
            <include>**/*TestCase.java</include>
          </includes>
        </configuration>
      </plugin>

      <!-- Test coverage plugin. -->
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco-maven-plugin.version}</version>
        <executions>
          <execution>
            <id>prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${maven-checkstyle-plugin.version}</version>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <!-- Main project infos. -->
      <plugin>
        <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>ci-management</report>
              <report>dependencies</report>
              <report>dependency-convergence</report>
              <report>dependency-info</report>
              <report>dependency-management</report>
              <report>distribution-management</report>
              <report>index</report>
              <report>issue-management</report>
              <report>licenses</report>
              <report>mailing-lists</report>
              <report>modules</report>
              <report>plugin-management</report>
              <report>plugins</report>
              <report>scm</report>
              <report>summary</report>
              <report>team</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <!-- Javadoc plugin. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven-javadoc-plugin.version}</version>
        <configuration>
          <!--
           | Apple's JVM sometimes requires more memory
          -->
          <additionalJOption>-J-Xmx1024m</additionalJOption>
          <source>8</source>
        </configuration>
      </plugin>

      <!-- Browsable documentation. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>${maven-jxr-plugin.version}</version>
        <configuration>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>

      <!-- Code-coverage report. -->
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco-maven-plugin.version}</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>report-aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${maven-checkstyle-plugin.version}</version>
      </plugin>

      <!-- Check style report. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven-checkstyle-plugin.version}</version>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <!--plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <version>${apache-rat-plugin.version}</version>
            <executions>
              <execution>
                <id>rat-verify</id>
                <phase>test</phase>
                <goals>
                  <goal>check</goal>
                </goals>
                <configuration>
                  <excludes>
                    <exclude>**/.gitignore</exclude>
                    <exclude>**/any23-gcode-CHANGES.txt</exclude>
                    <exclude>**/NOTICE-*.txt</exclude>
                    <exclude>LICENSE.txt</exclude>
                    <exclude>NOTICE.txt</exclude>
                    <exclude>**/README.txt</exclude>
                    <exclude>RELEASE-NOTES.txt</exclude>
                    <exclude>*.bat</exclude>
                    <exclude>*.sh</exclude>
                    <exclude>**/*.csv</exclude>
                    <exclude>**/*.json</exclude>
                    <exclude>**/*.xls*</exclude>
                    <exclude>**/*zip/*</exclude>
                    <exclude>**/error.wsdl</exclude>
                    <exclude>.idea/**</exclude>
                    <exclude>.classpath</exclude>
                    <exclude>.project</exclude>
                    <exclude>.settings</exclude>
                    <exclude>maven-eclipse.xml</exclude>
                    <exclude>.externalToolBuilders/**</exclude>
                    <exclude>.git/**</exclude>
                    < TODO restore them once ANY23-98 is fixed >
                    <exclude>**/application/nquads/test1.nq</exclude>
                    <exclude>**/application/nquads/test2.nq</exclude>
                    <exclude>**/application/rdfn3/test1</exclude>
                    <exclude>**/application/rdfn3/test2</exclude>
                    <exclude>**/application/rdfn3/test3</exclude>
                    <exclude>**/application/rss1/test1</exclude>
                    <exclude>**/cli/rover-test1.nq</exclude>
                    < resources ALv2 compatible resources >
                    <exclude>**/css/bootstrap.min.css</exclude>
                    <exclude>**/js/bootstrap-modal.js</exclude>
                    <exclude>**/js/jquery-1.7.2.min.js</exclude>
                    <exclude>**/missing-og-namespace.html</exclude>
                  </excludes>
                </configuration>
              </execution>
            </executions>
          </plugin-->

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>${maven-source-plugin.version}</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
                <configuration>
                  <archive>
                    <manifest>
                      <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                      <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                    </manifest>
                    <manifestEntries>
                      <Implementation-Build>${implementation.build}</Implementation-Build>
                      <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
                      <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
                      <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
                    </manifestEntries>
                  </archive>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven-javadoc-plugin.version}</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                  <source>8</source>
                  <quiet>true</quiet>
                  <archive>
                    <manifest>
                      <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                      <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                    </manifest>
                    <manifestEntries>
                      <Implementation-Build>${implementation.build}</Implementation-Build>
                      <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
                      <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
                      <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
                    </manifestEntries>
                  </archive>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven-gpg-plugin.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>site</id>

      <distributionManagement>
        <site>
          <id>any23.website</id>
          <name>Apache Any23 website</name>
          <url>${site.urlDeployment}</url>
        </site>
      </distributionManagement>

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>${maven-site-plugin.version}</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity</artifactId>
                <version>1.5</version>
              </dependency>
            </dependencies>
            <configuration>
              <locales>en</locales>
              <reportPlugins>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-project-info-reports-plugin</artifactId>
                  <version>2.4</version>
                  <configuration>
                    <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                    <anonymousConnection>scm:git:http://git.apache.org/any23.git</anonymousConnection>
                    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/any23.git</developerConnection>
                    <webAccessUrl>https://gitbox.apache.org/repos/asf/any23.git</webAccessUrl>
                  </configuration>
                  <reportSets>
                    <reportSet>
                      <reports>
                        <report>index</report>
                        <report>mailing-list</report>
                        <report>project-team</report>
                        <report>scm</report>
                        <report>cim</report>
                        <report>issue-tracking</report>
                        <report>license</report>
                      </reports>
                    </reportSet>
                  </reportSets>
                </plugin>

                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <version>${maven-javadoc-plugin.version}</version>
                  <configuration>
                    <source>8</source>
                  </configuration>
                  <reportSets>
                    <reportSet>
                      <reports>
                        <report>aggregate</report>
                      </reports>
                    </reportSet>
                  </reportSets>
                </plugin>
              </reportPlugins>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-publish-plugin</artifactId>
            <version>1.0-beta-2</version>
            <configuration>
              <tryUpdate>true</tryUpdate>
              <checkinComment>Apache Any23 site deployment</checkinComment>
              <checkoutDirectory>${site.scmPubCheckoutDirectory}</checkoutDirectory>
              <pubScmUrl>${site.deploymentBaseUrl}</pubScmUrl>
              <content>${site.filePath}</content>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>java-9-surefire</id>
      <activation>
        <jdk>9</jdk>
      </activation>
      <properties>
        <surefire-extra-args>--add-modules java.xml.bind</surefire-extra-args>
      </properties>
    </profile>
  </profiles>

</project>

