<!--
 ! 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">
  <modelVersion>4.0.0</modelVersion>
  <artifactId>asterix-server</artifactId>
  <name>asterix-server</name>

  <parent>
    <groupId>org.apache.asterix</groupId>
    <artifactId>apache-asterixdb</artifactId>
    <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>

  <properties>
    <root.dir>${basedir}/..</root.dir>
    <pip.path>${project.build.directory}/bin/pip3</pip.path>
    <shiv.path>${project.build.directory}/bin/shiv</shiv.path>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <id>copy-license</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/../src/main/licenses/templates/</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/../asterix-dashboard/src/node/static/
                  </directory>
                  <includes>
                    <include>3rdpartylicenses.txt</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.hyracks</groupId>
        <artifactId>license-automation-plugin</artifactId>
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <templateRootDir>${basedir}/..</templateRootDir>
          <generatedFiles>
            <generatedFile>
              <template>src/main/licenses/templates/asterix-license.ftl</template>
              <outputFile>LICENSE</outputFile>
            </generatedFile>
            <generatedFile>
              <template>src/main/licenses/templates/asterix-notice.ftl</template>
              <outputFile>NOTICE</outputFile>
            </generatedFile>
          </generatedFiles>
          <location>repo/</location>
          <licenseMapOutputFile>${project.build.directory}/generated-resources/license_map.json</licenseMapOutputFile>
          <timeoutSecs>10</timeoutSecs>
          <downloadDir>${project.build.directory}/generated-resources/license</downloadDir>
          <excludedScopes>
            <excludedScope>test</excludedScope>
          </excludedScopes>
          <excludes>
            <exclude>org.apache.asterix:*</exclude>
            <exclude>org.apache.algebricks:*</exclude>
            <exclude>org.apache.hyracks:*</exclude>
          </excludes>
          <licenseDirectory>${basedir}/../src/main/licenses/content</licenseDirectory>
          <models>
             <model>${basedir}/../src/main/appended-resources/supplemental-models.xml</model>
          </models>
          <extraLicenseMaps>
            <extraLicenseMap>
              <file>${basedir}/../asterix-client-helper/target/generated-resources/license_map.json</file>
              <location>lib/</location>
            </extraLicenseMap>
          </extraLicenseMaps>
          <overrides>
            <override>
              <gav>asm:asm:3.1</gav>
              <url>http://asm.objectweb.org/license.html</url>
            </override>
            <override>
              <gav>com.thoughtworks.paranamer:paranamer:2.3</gav>
              <url>https://github.com/codehaus/paranamer-git/blob/paranamer-2.3/LICENSE.txt</url>
            </override>
            <override>
              <gav>org.codehaus.jettison:jettison:1.1</gav>
              <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            </override>
            <override>
              <gav>commons-configuration:commons-configuration:1.6</gav>
              <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            </override>
            <override>
              <gav>commons-digester:commons-digester:1.8</gav>
              <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            </override>
            <override>
              <gav>org.apache.zookeeper:zookeeper:3.4.5</gav>
              <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            </override>
            <override>
              <gav>javax.servlet.jsp:jsp-api:2.1</gav>
              <url>https://jsp.java.net/license.html</url>
            </override>
            <override>
              <gav>com.google.protobuf:protobuf-java:2.5.0</gav>
              <url>https://github.com/google/protobuf/blob/v2.5.0/COPYING.txt</url>
            </override>
            <override>
              <gav>xmlenc:xmlenc:0.52</gav>
              <url>https://cytranet.dl.sourceforge.net/project/xmlenc/xmlenc/0.52/xmlenc-0.52.tgz?xmlenc-0.52/COPYRIGHT</url>
            </override>
            <override>
              <gav>org.codehaus.mojo.appassembler:appassembler-booter:2.0.0</gav>
              <url>https://raw.githubusercontent.com/mojohaus/appassembler/appassembler-2.0.0/LICENSE.txt</url>
            </override>
            <override>
              <gav>org.codehaus.mojo.appassembler:appassembler-model:2.0.0</gav>
              <url>https://raw.githubusercontent.com/mojohaus/appassembler/appassembler-2.0.0/LICENSE.txt</url>
            </override>
            <override>
              <gavs>
                <gav>io.netty:netty-buffer:4.1.69.Final</gav>
                <gav>io.netty:netty-codec:4.1.69.Final</gav>
                <gav>io.netty:netty-codec-http:4.1.69.Final</gav>
                <gav>io.netty:netty-common:4.1.69.Final</gav>
                <gav>io.netty:netty-handler:4.1.69.Final</gav>
                <gav>io.netty:netty-resolver:4.1.69.Final</gav>
                <gav>io.netty:netty-transport:4.1.69.Final</gav>
              </gavs>
              <noticeUrl>https://raw.githubusercontent.com/netty/netty/netty-4.1.69.Final/NOTICE.txt</noticeUrl>
            </override>
            <override>
              <gav>io.netty:netty-tcnative-classes:2.0.46.Final</gav>
              <url>http://www.apache.org/licenses/LICENSE-2.0</url>
              <noticeUrl>https://raw.githubusercontent.com/netty/netty-tcnative/netty-tcnative-parent-2.0.46.Final/NOTICE.txt</noticeUrl>
            </override>
            <override>
              <gav>org.reactivestreams:reactive-streams:1.0.2</gav>
              <noticeUrl>https://raw.githubusercontent.com/reactive-streams/reactive-streams-jvm/v1.0.2/COPYING.txt</noticeUrl>
              <url>https://raw.githubusercontent.com/reactive-streams/reactive-streams-jvm/v1.0.2/LICENSE.txt</url>
            </override>
            <override>
              <gav>org.reactivestreams:reactive-streams:1.0.3</gav>
              <noticeUrl>https://raw.githubusercontent.com/reactive-streams/reactive-streams-jvm/v1.0.3/COPYING.txt</noticeUrl>
              <url>https://raw.githubusercontent.com/reactive-streams/reactive-streams-jvm/v1.0.3/LICENSE.txt</url>
            </override>
            <override>
              <gavs>
                <gav>software.amazon.awssdk:sdk-core:2.10.83</gav>
                <gav>software.amazon.awssdk:aws-core:2.10.83</gav>
                <gav>software.amazon.awssdk:auth:2.10.83</gav>
                <gav>software.amazon.awssdk:arns:2.10.83</gav>
                <gav>software.amazon.awssdk:annotations:2.10.83</gav>
                <gav>software.amazon.awssdk:utils:2.10.83</gav>
                <gav>software.amazon.awssdk:aws-query-protocol:2.10.83</gav>
                <gav>software.amazon.awssdk:profiles:2.10.83</gav>
                <gav>software.amazon.awssdk:protocol-core:2.10.83</gav>
                <gav>software.amazon.awssdk:s3:2.10.83</gav>
                <gav>software.amazon.awssdk:netty-nio-client:2.10.83</gav>
                <gav>software.amazon.awssdk:apache-client:2.10.83</gav>
                <gav>software.amazon.awssdk:aws-xml-protocol:2.10.83</gav>
                <gav>software.amazon.awssdk:regions:2.10.83</gav>
                <gav>software.amazon.awssdk:http-client-spi:2.10.83</gav>
              </gavs>
              <noticeUrl>https://raw.githubusercontent.com/aws/aws-sdk-java-v2/2.10.83/NOTICE.txt</noticeUrl>
            </override>
            <!-- Hadoop AWS SDK -->
            <override>
              <gavs>
                <gav>com.amazonaws:aws-java-sdk-core:1.12.109</gav>
                <gav>com.amazonaws:jmespath-java:1.12.109</gav>
                <gav>com.amazonaws:aws-java-sdk-s3:1.12.109</gav>
                <gav>com.amazonaws:aws-java-sdk-kms:1.12.109</gav>
                <gav>com.amazonaws:aws-java-sdk-dynamodb:1.12.109</gav>
              </gavs>
              <noticeUrl>https://raw.githubusercontent.com/aws/aws-sdk-java/1.12.109/NOTICE.txt</noticeUrl>
            </override>
            <override>
              <gav>software.amazon.eventstream:eventstream:1.0.1</gav>
              <noticeUrl>https://raw.githubusercontent.com/awslabs/aws-eventstream-java/7be2dd80e12f8835674c8ffb0f4a2efb64c7b585/NOTICE</noticeUrl>
            </override>
            <override>
              <gav>software.amazon.ion:ion-java:1.0.2</gav>
              <noticeUrl>https://raw.githubusercontent.com/amzn/ion-java/v1.0.2/NOTICE</noticeUrl>
            </override>
            <override>
              <gavs>
                <gav>com.azure:azure-core:1.24.1</gav>
                <gav>com.azure:azure-core-http-netty:1.11.6</gav>
                <gav>com.azure:azure-storage-blob:12.14.3</gav>
                <gav>com.azure:azure-storage-common:12.14.2</gav>
                <gav>com.azure:azure-storage-internal-avro:12.1.3</gav>
              </gavs>
              <!-- azure-storage-blob-batch_12.11.3 release is at 89a32290750a18d1b99c27c16b1b11d42f16c622 -->
              <noticeUrl>https://raw.githubusercontent.com/Azure/azure-sdk-for-java/89a32290750a18d1b99c27c16b1b11d42f16c622/NOTICE.txt</noticeUrl>
              <url>https://raw.githubusercontent.com/Azure/azure-sdk-for-java/89a32290750a18d1b99c27c16b1b11d42f16c622/LICENSE.txt</url>
            </override>
            <override>
              <gav>com.microsoft.azure:msal4j:1.11.0</gav>
              <url>https://raw.githubusercontent.com/AzureAD/microsoft-authentication-library-for-java/v1.11.0/LICENSE</url>
            </override>
            <override>
              <gav>com.microsoft.azure:msal4j-persistence-extension:1.1.0</gav>
              <url>https://raw.githubusercontent.com/AzureAD/microsoft-authentication-extensions-for-java/1.1.0/LICENSE</url>
            </override>
            <override>
              <gav>com.microsoft.azure:azure-keyvault-core:1.2.4</gav>
              <url>https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/keyvault/LICENSE</url>
            </override>
            <override>
              <gav>com.nimbusds:nimbus-jose-jwt:9.9.3</gav>
              <noticeUrl>https://bitbucket.org/connect2id/nimbus-jose-jwt/raw/50ae2a39a4a6d0dcbf05572af8a581377174ac96/COPYRIGHT.txt</noticeUrl>
            </override>
            <!-- com.nimbusds:oauth2-oidc-sdk:9.7 points to https://www.apache.org/licenses/LICENSE-2.0.html in the pom.xml but has bad characters in the URI, overriding to fix -->
            <override>
              <gav>com.nimbusds:oauth2-oidc-sdk:9.7</gav>
              <url>https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/raw/5d13925b57ace092ea5e1131c338f464d85545f4/LICENSE.txt</url>
              <noticeUrl>https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/raw/5d13925b57ace092ea5e1131c338f464d85545f4/COPYRIGHT.txt</noticeUrl>
            </override>
            <override>
              <gav>com.nimbusds:lang-tag:1.5</gav>
              <noticeUrl>https://bitbucket.org/connect2id/nimbus-language-tags/raw/ead5120f62b5849309069808509b4cc6e57a0841/COPYRIGHT.txt</noticeUrl>
            </override>
            <override>
              <gav>com.nimbusds:content-type:2.1</gav>
              <noticeUrl>https://bitbucket.org/connect2id/nimbus-content-type/raw/c6d2701ed5cd57e0f88728c6f3e6303db97c5bcf/COPYRIGHT.txt</noticeUrl>
            </override>
            <override>
              <gavs>
                <gav>io.projectreactor.netty:reactor-netty:1.0.7</gav>
                <gav>io.projectreactor.netty:reactor-netty-core:1.0.7</gav>
                <gav>io.projectreactor.netty:reactor-netty-http:1.0.7</gav>
                <gav>io.projectreactor.netty:reactor-netty-http-brave:1.0.7</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/reactor/reactor-netty/v1.0.7/LICENSE</url>
            </override>
            <override>
              <gavs>
                <gav>io.projectreactor.netty:reactor-netty-core:1.0.11</gav>
                <gav>io.projectreactor.netty:reactor-netty-http:1.0.11</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/reactor/reactor-netty/v1.0.11/LICENSE</url>
            </override>
            <override>
              <gav>io.projectreactor:reactor-core:3.4.6</gav>
              <url>https://raw.githubusercontent.com/reactor/reactor-core/v3.4.6/LICENSE</url>
            </override>
            <override>
              <gav>io.projectreactor:reactor-core:3.4.10</gav>
              <url>https://raw.githubusercontent.com/reactor/reactor-core/v3.4.10/LICENSE</url>
            </override>
            <override>
              <gavs>
                <gav>stax:stax-api:1.0.1</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/codehaus/stax/master/dev/ASF2.0.txt</url>
            </override>
            <override>
              <gav>org.ow2.asm:asm:9.1</gav>
              <url>https://raw.githubusercontent.com/llbit/ow2-asm/master/LICENSE.txt</url>
            </override>
            <override>
              <gavs>
                <gav>com.google.http-client:google-http-client:1.41.0</gav>
                <gav>com.google.http-client:google-http-client-jackson2:1.41.0</gav>
                <gav>com.google.http-client:google-http-client-appengine:1.41.0</gav>
                <gav>com.google.http-client:google-http-client-gson:1.41.0</gav>
                <gav>com.google.http-client:google-http-client-apache-v2:1.41.0</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/googleapis/google-http-java-client/v1.41.0/LICENSE</url>
            </override>
            <override>
              <gav>com.google.oauth-client:google-oauth-client:1.32.1</gav>
              <url>https://raw.githubusercontent.com/googleapis/google-oauth-java-client/v1.32.1/LICENSE</url>
            </override>
            <override>
              <gavs>
                <gav>com.google.protobuf:protobuf-java:3.19.2</gav>
                <gav>com.google.protobuf:protobuf-java-util:3.19.2</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/protocolbuffers/protobuf/v3.19.2/LICENSE</url>
            </override>
            <override>
              <gavs>
                <gav>com.google.auth:google-auth-library-oauth2-http:1.3.0</gav>
                <gav>com.google.auth:google-auth-library-credentials:1.3.0</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/googleapis/google-auth-library-java/v1.3.0/LICENSE</url>
            </override>
            <override>
              <gavs>
                <gav>com.google.cloud:google-cloud-core:2.3.5</gav>
                <gav>com.google.cloud:google-cloud-core-http:2.3.5</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/googleapis/java-core/v2.3.5/LICENSE</url>
            </override>
            <override>
              <gav>com.google.cloud:google-cloud-storage:2.3.0</gav>
              <url>https://raw.githubusercontent.com/googleapis/java-storage/v2.3.0/LICENSE</url>
            </override>
            <override>
              <gavs>
                <gav>io.opencensus:opencensus-api:0.28.0</gav>
                <gav>io.opencensus:opencensus-contrib-http-util:0.28.0</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/census-instrumentation/opencensus-java/v0.28.0/LICENSE</url>
            </override>
            <override>
              <gav>com.google.api-client:google-api-client:1.33.0</gav>
              <url>https://raw.githubusercontent.com/googleapis/google-api-java-client/v1.33.0/LICENSE</url>
            </override>
            <override>
              <gav>com.google.api.grpc:proto-google-iam-v1:1.2.0</gav>
              <url>https://raw.githubusercontent.com/googleapis/java-iam/v1.2.0/proto-google-iam-v1/LICENSE</url>
            </override>
            <override>
              <gav>com.google.api.grpc:proto-google-common-protos:2.7.1</gav>
              <url>https://raw.githubusercontent.com/googleapis/java-common-protos/v2.7.1/proto-google-common-protos/LICENSE</url>
            </override>
            <override>
              <gav>com.google.api:api-common:2.1.2</gav>
              <url>https://raw.githubusercontent.com/googleapis/api-common-java/v2.1.2/LICENSE</url>
            </override>
            <override>
              <gavs>
                <gav>com.google.api:gax-httpjson:0.93.1</gav>
                <gav>com.google.api:gax:2.8.1</gav>
              </gavs>
              <url>https://raw.githubusercontent.com/googleapis/gax-java/v2.8.1/LICENSE</url>
            </override>
            <override>
              <gav>com.google.auto.value:auto-value-annotations:1.9</gav>
              <url>https://raw.githubusercontent.com/google/auto/auto-value-1.9/LICENSE</url>
            </override>
            <override>
              <gav>com.google.code.findbugs:jsr305:3.0.2</gav>
              <url>https://raw.githubusercontent.com/findbugsproject/findbugs/3.0.2_preview2/findbugs/licenses/LICENSE-jsr305.txt</url>
            </override>
            <override>
              <gav>com.google.code.gson:gson:2.8.9</gav>
              <url>https://raw.githubusercontent.com/google/gson/gson-parent-2.8.9/LICENSE</url>
            </override>
            <override>
              <gav>com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava</gav>
              <url>https://raw.githubusercontent.com/google/guava/master/COPYING</url>
            </override>
            <override>
              <gav>com.google.j2objc:j2objc-annotations:1.3</gav>
              <url>https://raw.githubusercontent.com/google/j2objc/1.3/LICENSE</url>
            </override>
            <override>
              <gav>io.grpc:grpc-context:1.43.2</gav>
              <url>https://raw.githubusercontent.com/grpc/grpc-java/v1.43.2/LICENSE</url>
              <noticeUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.43.2/NOTICE.txt</noticeUrl>
            </override>
            <override>
              <gav>org.mindrot:jbcrypt:0.4</gav>
              <url>http://www.mindrot.org/files/jBCrypt/LICENSE</url>
            </override>
            <override>
              <gav>org.msgpack:msgpack-core:0.8.20</gav>
              <noticeUrl>https://raw.githubusercontent.com/msgpack/msgpack-java/0.8.20/NOTICE</noticeUrl>
            </override>
            <override>
              <gav>com.github.luben:zstd-jni:1.4.9-1</gav>
              <url>https://raw.githubusercontent.com/luben/zstd-jni/v1.4.9-1/LICENSE</url>
            </override>
          </overrides>
          <licenses>
            <license>
                <displayName>Various 3rd party</displayName>
                <url>file://${basedir}}/../asterix-dashboard/src/main/resources/dashboard/static/3rdpartylicenses.txt</url>
                <contentFile>${basedir}}/../asterix-dashboard/src/main/resources/dashboard/static/3rdpartylicenses.txt</contentFile>
            </license>
            <license>
              <displayName>a BSD 3-clause license</displayName>
              <url>http://asm.objectweb.org/license.html</url>
            </license>
            <license>
              <displayName>a BSD 3-clause license</displayName>
              <url>https://github.com/google/protobuf/blob/v2.5.0/COPYING.txt</url>
              <contentFile>protobuf_2.5.0_LICENSE.txt</contentFile>
            </license>
            <license>
              <displayName>a BSD 3-clause license</displayName>
              <url>https://github.com/codehaus/paranamer-git/blob/paranamer-2.3/LICENSE.txt</url>
              <contentFile>paranamer-2.3_LICENSE.txt</contentFile>
            </license>
            <license>
              <displayName>a BSD 3-clause license</displayName>
              <url>https://cytranet.dl.sourceforge.net/project/xmlenc/xmlenc/0.52/xmlenc-0.52.tgz?xmlenc-0.52/COPYRIGHT</url>
              <contentFile>xmlenc_0.52_LICENSE.txt</contentFile>
            </license>
            <license>
              <displayName>The Apache Software License, Version 2.0</displayName>
              <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
              <aliasUrls>
                <aliasUrl>http://www.apache.org/licenses/LICENSE-2.0</aliasUrl>
                <aliasUrl>https://www.apache.org/licenses/LICENSE-2.0.txt</aliasUrl>
                <aliasUrl>http://www.apache.org/licenses/LICENSE-2.0.html</aliasUrl>
                <aliasUrl>https://www.apache.org/licenses/LICENSE-2.0.html</aliasUrl>
                <aliasUrl>https://aws.amazon.com/apache2.0</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/jorabin/KeePassJava2/KeePassJava2-2.1.4/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/reactor/reactor-netty/v1.0.7/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/reactor/reactor-netty/v1.0.11/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/reactor/reactor-core/v3.4.6/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/reactor/reactor-core/v3.4.10/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/codehaus/stax/master/dev/ASF2.0.txt</aliasUrl>
                <aliasUrl>https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/raw/5d13925b57ace092ea5e1131c338f464d85545f4/LICENSE.txt</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/google/auto/auto-value-1.9/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/google/j2objc/1.3/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/googleapis/java-common-protos/v2.7.1/proto-google-common-protos/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/googleapis/java-iam/v1.2.0/proto-google-iam-v1/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/googleapis/java-storage/v2.3.0/LICENSE</aliasUrl>
                <aliasUrl>http://repository.jboss.org/licenses/apache-2.0.txt</aliasUrl>
              </aliasUrls>
              <metric>1</metric>
            </license>
            <license>
              <url>https://java.net/projects/stax-utils/sources/svn/content/trunk/LICENSE</url>
              <contentFile>stax-utils_LICENSE.txt</contentFile>
              <displayName>a BSD 3-clause license</displayName>
              <aliasUrls>
                <aliasUrl>https://stax-utils.dev.java.net/source/browse/*checkout*/stax-utils/LICENSE</aliasUrl>
              </aliasUrls>
            </license>
            <license>
              <url>http://www.json.org/license.html</url>
              <displayName>The JSON License</displayName>
            </license>
            <license>
              <url>https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html</url>
              <!--<displayName>CDDL 1.1</displayName>-->
              <metric>10</metric>
              <aliasUrls>
                <aliasUrl>https://glassfish.java.net/public/CDDL+GPL_1_1.html</aliasUrl>
                <aliasUrl>http://glassfish.java.net/public/CDDL+GPL_1_1.html</aliasUrl>
                <aliasUrl>https://jsp.java.net/license.html</aliasUrl>
              </aliasUrls>
            </license>
            <license>
              <url>http://www.sun.com/cddl/cddl.html</url>
              <metric>10</metric>
              <aliasUrls>
                <aliasUrl>https://glassfish.dev.java.net/public/CDDL+GPL.html</aliasUrl>
                <aliasUrl>https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html</aliasUrl>
                <aliasUrl>http://glassfish.dev.java.net/nonav/public/CDDL+GPL.html</aliasUrl>
                <aliasUrl>http://glassfish.java.net/public/CDDL+GPL.html</aliasUrl>
                <aliasUrl>https://glassfish.java.net/public/CDDL+GPL.html</aliasUrl>
                <aliasUrl>http://glassfish.dev.java.net/public/CDDL+GPL.html</aliasUrl>
                <aliasUrl>https://glassfish.dev.java.net/public/CDDLv1.0.html</aliasUrl>
                <aliasUrl>https://glassfish.java.net/public/CDDLv1.0.html</aliasUrl>
              </aliasUrls>
            </license>
            <license>
              <url>http://www.antlr.org/license.html</url>
              <aliasUrls>http://antlr.org/license.html</aliasUrls>
            </license>
            <license>
              <url>https://opensource.org/licenses/mit-license.php</url>
              <aliasUrls>
                <aliasUrl>http://www.opensource.org/licenses/mit-license.php</aliasUrl>
                <aliasUrl>http://opensource.org/licenses/MIT</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/AzureAD/microsoft-authentication-library-for-java/v1.11.0/LICENSE</aliasUrl>
                <aliasUrl>https://raw.githubusercontent.com/AzureAD/microsoft-authentication-extensions-for-java/1.1.0/LICENSE</aliasUrl>
              </aliasUrls>
            </license>
            <license>
              <url>https://opensource.org/licenses/isc-license.txt</url>
              <aliasUrls>
                <aliasUrl>http://opensource.org/licenses/ISC</aliasUrl>
              </aliasUrls>
            </license>
            <license>
              <!-- this is special case- handled in ftl template -->
              <url>PUBLIC_DOMAIN</url>
              <aliasUrls>Public Domain</aliasUrls>
            </license>
            <license>
              <url>https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt</url>
              <aliasUrls>https://creativecommons.org/publicdomain/zero/1.0/legalcode</aliasUrls>
              <aliasUrls>https://creativecommons.org/publicdomain/zero/1.0/</aliasUrls>
              <aliasUrls>http://creativecommons.org/publicdomain/zero/1.0/legalcode</aliasUrls>
              <aliasUrls>http://creativecommons.org/publicdomain/zero/1.0/</aliasUrls>
            </license>
            <license>
              <displayName>The 2-Clause BSD License</displayName>
              <url>https://opensource.org/licenses/BSD-2-Clause</url>
              <contentFile>raw.githubusercontent.com_luben_zstd-jni_v1.4.9-1_LICENSE.txt</contentFile>
              <aliasUrls>
                <aliasURL>https://opensource.org/licenses/bsd-license.php</aliasURL>
                <aliasUrl>https://raw.githubusercontent.com/luben/zstd-jni/v1.4.9-1/LICENSE</aliasUrl>
              </aliasUrls>
            </license>
            <license>
              <displayName>The Go license</displayName>
              <url>http://golang.org/LICENSE</url>
              <aliasUrls>
                <aliasUrl>https://golang.org/LICENSE</aliasUrl>
              </aliasUrls>
            </license>
          </licenses>
          <templateProperties>
            <packageName>Apache AsterixDB Server Install</packageName>
            <asterixAppLocation>repo/asterix-app-${project.version}.jar, within this assembly</asterixAppLocation>
            <hyracksControlCcLocation>repo/hyracks-control-cc-${project.version}.jar, within this assembly</hyracksControlCcLocation>
            <asterixDashboardLocation>repo/asterix-dashboard-${project.version}.jar, within this assembly</asterixDashboardLocation>
          </templateProperties>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>appassembler-maven-plugin</artifactId>
        <configuration>
          <assembleDirectory>
            ${project.build.directory}/appassembler
          </assembleDirectory>
          <repositoryLayout>flat</repositoryLayout>
          <useWildcardClassPath>true</useWildcardClassPath>
          <programs>
            <program>
              <platforms>
                <platform>unix</platform>
              </platforms>
              <name>asterixcc</name>
              <mainClass>org.apache.hyracks.control.cc.CCDriver</mainClass>
              <commandLineArguments>
                <commandLineArgument>-app-class</commandLineArgument>
                <commandLineArgument>org.apache.asterix.hyracks.bootstrap.CCApplication</commandLineArgument>
              </commandLineArguments>
            </program>
            <program>
              <platforms>
                <platform>unix</platform>
              </platforms>
              <name>asterixnc</name>
              <mainClass>org.apache.hyracks.control.nc.NCDriver</mainClass>
              <commandLineArguments>
                <commandLineArgument>-app-class</commandLineArgument>
                <commandLineArgument>org.apache.asterix.hyracks.bootstrap.NCApplication</commandLineArgument>
              </commandLineArguments>
            </program>
            <program>
              <platforms>
                <platform>unix</platform>
              </platforms>
              <name>asterixncservice</name>
              <mainClass>org.apache.hyracks.control.nc.service.NCService</mainClass>
            </program>
          </programs>
          <daemons>
            <daemon>
              <id>asterixcc</id>
              <mainClass>org.apache.hyracks.control.cc.CCDriver</mainClass>
              <platforms>
                <platform>booter-windows</platform>
              </platforms>
              <commandLineArguments>
                <commandLineArgument>-app-class</commandLineArgument>
                <commandLineArgument>org.apache.asterix.hyracks.bootstrap.CCApplication</commandLineArgument>
              </commandLineArguments>
            </daemon>
            <daemon>
              <id>asterixnc</id>
              <mainClass>org.apache.hyracks.control.nc.NCDriver</mainClass>
              <platforms>
                <platform>booter-windows</platform>
              </platforms>
              <commandLineArguments>
                <commandLineArgument>-app-class</commandLineArgument>
                <commandLineArgument>org.apache.asterix.hyracks.bootstrap.NCApplication</commandLineArgument>
              </commandLineArguments>
            </daemon>
            <daemon>
              <id>asterixncservice</id>
              <mainClass>org.apache.hyracks.control.nc.service.NCService</mainClass>
              <platforms>
                <platform>booter-windows</platform>
              </platforms>
            </daemon>
          </daemons>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>assemble</goal>
              <goal>generate-daemons</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>process-test-classes</id>
            <phase>package</phase>
            <configuration>
              <target>
                <chmod file="target/appassembler/bin/*" perm="755" />
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <configuration>
              <attach>true</attach>
              <filters>
                <filter>${project.basedir}/src/main/assembly/filter.properties</filter>
              </filters>
              <descriptors>
                <descriptor>${project.basedir}/src/main/assembly/binary-assembly.xml</descriptor>
              </descriptors>
            </configuration>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <configuration>
          <ignoredDependencies combine.children="append">
            <ignoredDependency>org.apache.asterix:asterix-opt-bom:*</ignoredDependency>
            <ignoredDependency>org.apache.hyracks:hyracks-storage-am-lsm-btree-test:*</ignoredDependency>
          </ignoredDependencies>
          <usedDependencies combine.children="append">
            <usedDependency>org.apache.asterix:asterix-app</usedDependency>
            <usedDependency>org.apache.asterix:asterix-client-helper</usedDependency>
            <usedDependency>org.apache.hadoop:hadoop-minicluster</usedDependency>
            <usedDependency>org.apache.hyracks:hyracks-control-cc</usedDependency>
            <usedDependency>org.apache.hyracks:hyracks-control-nc</usedDependency>
            <usedDependency>org.apache.hyracks:hyracks-nc-service</usedDependency>
            <usedDependency>org.apache.asterix:asterix-external-data</usedDependency>
            <usedDependency>org.codehaus.mojo.appassembler:appassembler-booter</usedDependency>
            <usedDependency>org.apache.asterix:asterix-fuzzyjoin</usedDependency>
            <usedDependency>org.apache.asterix:asterix-dashboard</usedDependency>
            <usedDependency>org.apache.asterix:asterix-geo</usedDependency>
          </usedDependencies>
        </configuration>
      </plugin>
      <!-- TODO: this is just grody. workaround for not being able to use the proper dir in our integration tests on jenkins -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>venv</id>
            <phase>${prepare-env.stage}</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <!--suppress UnresolvedMavenProperty -->
              <executable>${python.path}</executable>
              <workingDirectory>${project.build.directory}</workingDirectory>
              <arguments>
                <argument>-m</argument>
                <argument>venv</argument>
                <argument>${project.build.directory}</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>shiv-install</id>
            <phase>${prepare-env.stage}</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>${pip.path}</executable>
              <workingDirectory>${project.build.directory}</workingDirectory>
              <arguments>
                <argument>install</argument>
                <argument>--exists-action</argument>
                <argument>w</argument>
                <argument>--upgrade</argument>
                <argument>shiv</argument>
              </arguments>
              <environmentVariables>
                <VIRTUALENV>${project.build.directory}</VIRTUALENV>
                <PATH>${project.build.directory}${path.separator}${env.PATH}${file.separator}bin</PATH>
              </environmentVariables>
            </configuration>
          </execution>
          <execution>
            <id>shiv-msgpack-shim</id>
            <phase>${shim.stage}</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>${shiv.path}</executable>
              <workingDirectory>${project.build.directory}</workingDirectory>
              <arguments>
                <argument>-o </argument>
                <argument>${project.build.directory}${file.separator}classes${file.separator}msgpack.pyz</argument>
                <argument>msgpack</argument>
              </arguments>
              <environmentVariables>
                <VIRTUALENV>${project.build.directory}</VIRTUALENV>
                <PATH>${project.build.directory}${path.separator}${env.PATH}${file.separator}bin</PATH>
              </environmentVariables>
            </configuration>
          </execution>
          <execution>
            <id>shiv-test-lib</id>
            <phase>${pytestlib.stage}</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>${shiv.path}</executable>
              <workingDirectory>${project.build.directory}</workingDirectory>
              <arguments>
                <argument>-o </argument>
                <argument>${project.build.directory}${file.separator}TweetSent.pyz</argument>
                <argument>--site-packages</argument>
                <argument>${project.build.directory}${file.separator}..${file.separator}..${file.separator}asterix-app${file.separator}src${file.separator}test${file.separator}resources${file.separator}TweetSent</argument>
                <argument>scikit-learn</argument>
              </arguments>
              <environmentVariables>
                <VIRTUALENV>${project.build.directory}</VIRTUALENV>
                <PATH>${project.build.directory}${path.separator}${env.PATH}${file.separator}bin</PATH>
              </environmentVariables>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.hyracks</groupId>
                    <artifactId>license-automation-plugin</artifactId>
                    <versionRange>[0.0,)</versionRange>
                    <goals>
                      <goal>generate</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <profiles>
    <profile>
      <id>windows.python.envs</id>
      <activation>
        <os>
          <family>Windows</family>
        </os>
      </activation>
      <properties>
        <pip.path>${project.build.directory}\Scripts\pip3.exe</pip.path>
        <shiv.path>${project.build.directory}\Scripts\shiv.exe</shiv.path>
      </properties>
    </profile>
    <profile>
      <id>opt-modules</id>
      <activation>
        <file>
          <exists>../asterix-opt/pom.xml</exists>
        </file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.apache.asterix</groupId>
          <artifactId>asterix-opt-bom</artifactId>
          <version>${project.version}</version>
          <type>pom</type>
        </dependency>
      </dependencies>
    </profile>
    <!-- putting jdeb in a profile ensures it runs after inherited plugins which may be in a profile -->
    <profile>
      <id>jdeb</id>
      <activation>
        <file>
          <exists>pom.xml</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>jdeb</artifactId>
            <groupId>org.vafer</groupId>
            <version>1.5</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>jdeb</goal>
                </goals>
                <configuration>
                  <dataSet>
                    <data>
                      <src>${project.build.directory}/${project.build.finalName}-binary-assembly/apache-asterixdb-${project.version}/</src>
                      <excludes>bin/**</excludes>
                      <type>directory</type>
                      <mapper>
                        <type>perm</type>
                        <prefix>/opt/apache-asterixdb-${project.version}/</prefix>
                        <user>asterixdb</user>
                        <group>asterixdb</group>
                        <filemode>644</filemode>
                      </mapper>
                    </data>
                    <data>
                      <src>${project.build.directory}/${project.build.finalName}-binary-assembly/apache-asterixdb-${project.version}/bin</src>
                      <type>directory</type>
                      <mapper>
                        <type>perm</type>
                        <prefix>/opt/apache-asterixdb-${project.version}/bin</prefix>
                        <user>asterixdb</user>
                        <group>asterixdb</group>
                        <filemode>754</filemode>
                      </mapper>
                    </data>
                    <data>
                      <type>file</type>
                      <src>src/deb/systemd/asterix-cc.service</src>
                      <mapper>
                        <prefix>/lib/systemd/system</prefix>
                        <type>perm</type>
                        <user>root</user>
                        <group>root</group>
                      </mapper>
                    </data>
                    <data>
                      <type>file</type>
                      <src>src/deb/systemd/asterix-nc.service</src>
                      <mapper>
                        <prefix>/lib/systemd/system</prefix>
                        <type>perm</type>
                        <user>root</user>
                        <group>root</group>
                      </mapper>
                    </data>
                  </dataSet>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>asterix-gerrit-integration-tests</id>
      <properties>
        <test.includes/>
        <itest.includes>**/NCServiceExecutionIT.java,**/RecoveryIT.java</itest.includes>
        <failIfNoTests>false</failIfNoTests>
      </properties>
    </profile>
    <profile>
      <id>asterix-gerrit-verify-no-app</id>
      <properties>
        <test.includes/>
        <itest.excludes>**/NCServiceExecutionIT.java,**/RecoveryIT.java</itest.excludes>
        <failIfNoTests>false</failIfNoTests>
      </properties>
    </profile>
  </profiles>
  <dependencies>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-control-cc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-control-nc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-nc-service</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-app</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-server</artifactId>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-storage-am-lsm-btree-test</artifactId>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-app</artifactId>
      <version>${project.version}</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-common</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-common</artifactId>
      <version>${project.version}</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-test-framework</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.mojo.appassembler</groupId>
      <artifactId>appassembler-booter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-client-helper</artifactId>
      <version>${project.version}</version>
      <type>zip</type>
      <classifier>assembly</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-external-data</artifactId>
      <version>${project.version}</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-external-data</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</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.hadoop</groupId>
      <artifactId>hadoop-minicluster</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-util</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-fuzzyjoin</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-test-support</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-dashboard</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.asterix</groupId>
      <artifactId>asterix-geo</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-1.2-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.kitesdk</groupId>
      <artifactId>kite-data-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpmime</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>algebricks-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hyracks</groupId>
      <artifactId>hyracks-api</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>
