<!--
 ! 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>
    <artifactId>apache-asterixdb</artifactId>
    <groupId>org.apache.asterix</groupId>
    <version>0.9.8</version>
  </parent>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
      <comments>A business-friendly OSS license</comments>
    </license>
  </licenses>
  <artifactId>asterix-external-data</artifactId>
  <properties>
    <root.dir>${basedir}/..</root.dir>
    <generatedSourcesDirectory>${project.build.directory}/generated-sources/lexer/</generatedSourcesDirectory>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.asterix</groupId>
        <artifactId>lexer-generator-maven-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
          <grammarFile>src/main/resources/adm.grammar</grammarFile>
          <outputDir>${project.build.directory}/generated-sources/lexer/org/apache/asterix/runtime/operators/file/adm</outputDir>
        </configuration>
        <executions>
          <execution>
            <id>generate-lexer</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>generate-lexer</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/lexer/</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jvnet.jaxb2.maven2</groupId>
        <artifactId>maven-jaxb2-plugin</artifactId>
        <executions>
          <execution>
            <id>configuration</id>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <schemaDirectory>src/main/resources/schema</schemaDirectory>
              <schemaIncludes>
                <include>library.xsd</include>
              </schemaIncludes>
              <generatePackage>org.apache.asterix.external.library</generatePackage>
              <generateDirectory>${project.build.directory}/generated-sources/configuration</generateDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <includes>
            <include>**/*.class</include>
            <include>**/*.txt</include>
            <include>**/*.py</include>
            <include>**/NOTICE</include>
            <include>**/LICENSE</include>
            <include>**/*.properties</include>
            <include>**/services/**</include>
          </includes>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <configuration>
              <descriptors>src/main/assembly/binary-assembly-libzip.xml</descriptors>
            </configuration>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <licenses combine.children="append">
            <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
              <licenseFamilyCategory>Kermit</licenseFamilyCategory>
              <licenseFamilyName>Kermit Project</licenseFamilyName>
              <notes>The UTF-8 sample "I Can Eat Glass" from The Kermit Project (license in LICENSE file)</notes>
              <patterns>Copyright © 1981-2011, Trustees of Columbia University in the City of New York. All rights reserved.</patterns>
            </license>
          </licenses>
          <licenseFamilies combine.children="append">
            <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
              <familyName>Kermit Project</familyName>
            </licenseFamily>
          </licenseFamilies>
          <excludes combine.children="append">
            <exclude>src/test/resources/record.json</exclude> <!-- https://issues.apache.org/jira/browse/ASTERIXDB-1850 -->
            <exclude>src/test/resources/change_feed.csv</exclude>
            <exclude>src/test/resources/test_tweets.txt</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId> org.apache.asterix</groupId>
                    <artifactId> lexer-generator-maven-plugin</artifactId>
                    <versionRange>[0.0,)</versionRange>
                    <goals>
                      <goal>generate-lexer</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnIncremental>false</runOnIncremental>
                    </execute>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId> org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <versionRange>[0.0,)</versionRange>
                    <goals>
                      <goal>add-source</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <configuration>
            <usedDependencies combine.children="append">
              <usedDependency>com.sun.xml.bind:jaxb-core</usedDependency>
              <usedDependency>com.sun.xml.bind:jaxb-impl</usedDependency>
              <usedDependency>com.sun.activation:javax.activation</usedDependency>
              <usedDependency>net.razorvine:serpent</usedDependency>
              <usedDependency>io.netty:netty-resolver-dns</usedDependency>
              <usedDependency>io.netty:netty-codec-http2</usedDependency>
              <usedDependency>io.netty:netty-transport-native-unix-common</usedDependency>
              <usedDependency>org.apache.tomcat:tomcat-annotations-api</usedDependency>
            </usedDependencies>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-om</artifactId>
      <version>${project.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-test-support</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-runtime</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-hdfs</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-common</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-active</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.twitter4j</groupId>
      <artifactId>twitter4j-core</artifactId>
      <version>4.0.3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.twitter4j</groupId>
      <artifactId>twitter4j-stream</artifactId>
      <version>4.0.3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.rometools</groupId>
      <artifactId>rome-fetcher</artifactId>
    </dependency>
    <dependency>
      <groupId>com.rometools</groupId>
      <artifactId>rome</artifactId>
    </dependency>
    <dependency>
      <groupId>com.e-movimento.tinytools</groupId>
      <artifactId>privilegedaccessor</artifactId>
      <version>1.2.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.couchbase.client</groupId>
      <artifactId>core-io</artifactId>
      <version>1.3.2</version>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-api</artifactId>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.wicket</groupId>
      <artifactId>wicket-util</artifactId>
      <version>8.2.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-dataflow-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-control-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-storage-am-lsm-btree</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>algebricks-data</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>algebricks-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-storage-am-lsm-rtree</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>algebricks-runtime</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-storage-am-lsm-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-storage-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-util</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>algebricks-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-mapreduce-client-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-storage-am-rtree</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-dataflow-std</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-data-std</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-storage-am-btree</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-storage-am-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-api</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-collections4</artifactId>
      <version>4.4</version>
    </dependency>
    <dependency>
      <groupId>com.sun.xml.bind</groupId>
      <artifactId>jaxb-core</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.xml.bind</groupId>
      <artifactId>jaxb-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.activation</groupId>
      <artifactId>javax.activation</artifactId>
    </dependency>
    <dependency>
      <groupId>com.esri.geometry</groupId>
      <artifactId>esri-geometry-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-http</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>aws-core</artifactId>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>http-client-spi</artifactId>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>sdk-core</artifactId>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>s3</artifactId>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>regions</artifactId>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>auth</artifactId>
    </dependency>
    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-blob</artifactId>
    </dependency>
    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-file-datalake</artifactId>
    </dependency>
    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-identity</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-storage</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-annotations-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.msgpack</groupId>
      <artifactId>msgpack-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.parquet</groupId>
      <artifactId>parquet-column</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.parquet</groupId>
      <artifactId>parquet-hadoop</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-1.2-api</artifactId>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-s3</artifactId>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-dynamodb</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-aws</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-azure</artifactId>
      <exclusions>
        <!-- apply patch for HADOOP-17225 to workaround CVE-2019-10172 -->
        <exclusion>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-core-asl</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- apply patch for HADOOP-17225 to workaround CVE-2019-10172 -->
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.14-atlassian-6</version>
    </dependency>
    <!-- apply patch for HADOOP-17225 to workaround CVE-2019-10172 -->
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-core-asl</artifactId>
      <version>1.9.14-atlassian-6</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-resolver-dns</artifactId>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-codec-http2</artifactId>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-transport-native-unix-common</artifactId>
    </dependency>
  </dependencies>
  <!-- apply patch for HADOOP-17225 to workaround CVE-2019-10172 -->
  <repositories>
    <repository>
      <id>atlassian-3rdparty</id>
      <url>https://packages.atlassian.com/maven-3rdparty/</url>
    </repository>
  </repositories>
</project>
