<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<assembly>
    <id>kms</id>
    <formats>
        <format>tar.gz</format>
        <format>zip</format>
    </formats>
    <baseDirectory>${project.name}-${project.version}-kms</baseDirectory>
    <includeBaseDirectory>true</includeBaseDirectory>

    <moduleSets>
        <moduleSet>
            <binaries>
                <includeDependencies>false</includeDependencies>
                <unpack>false</unpack>
                <outputDirectory>/ews/webapp/lib</outputDirectory>
                <dependencySets>
                    <dependencySet>
                        <outputDirectory>/ews/webapp/lib</outputDirectory>
                        <unpack>false</unpack>
                        <includes>
                            <include>org.apache.hadoop:hadoop-common:jar:${hadoop.version}</include>
                            <include>org.apache.hadoop:hadoop-auth:jar:${hadoop.version}</include>
                            <include>org.eclipse.persistence:eclipselink</include>
                            <include>org.eclipse.persistence:javax.persistence</include>
                            <include>com.googlecode.log4jdbc:log4jdbc</include>
                            <include>log4j:log4j</include>
                            <include>org.slf4j:slf4j-api</include>
                            <include>org.slf4j:slf4j-log4j12</include>
                            <include>com.codahale.metrics:metrics-core</include>
                            <include>org.slf4j:jul-to-slf4j</include>
                            <include>commons-logging:commons-logging</include>
                            <include>com.google.guava:guava</include>
                            <include>com.sun.jersey:jersey-core</include>
                            <include>com.sun.jersey:jersey-server</include>
                            <include>javax.servlet:servlet-api</include>
                            <include>org.mortbay.jetty:jetty</include>
                            <include>org.mortbay.jetty:jetty-util</include>
                            <include>commons-collections:commons-collections</include>
                            <include>commons-lang:commons-lang</include>
                            <include>org.apache.zookeeper:zookeeper:jar:${zookeeper.version}</include>
                            <include>org.apache.curator:curator-framework</include>
                            <include>org.apache.curator:curator-client</include>
                            <include>org.apache.curator:curator-test</include>
                            <include>asm:asm-all</include>
                            <include>com.sun.jersey:jersey-bundle</include>
                            <include>org.apache.httpcomponents:httpclient</include>
                            <include>javax.activation:activation</include>
                            <include>org.apache.directory.server:apacheds-i18n</include>
                            <include>org.apache.directory.server:apacheds-kerberos-codec</include>
                            <include>org.apache.directory.api:api-asn1-api</include>
                            <include>org.apache.directory.api:api-i18n</include>
                            <include>org.apache.directory.api:api-util</include>
                            <include>org.apache.avro:avro</include>
                            <include>commons-beanutils:commons-beanutils</include>
                            <include>commons-cli:commons-cli</include>
                            <include>commons-codec:commons-codec:jar:${commons.codec.version}</include>
                            <include>org.apache.commons:commons-compress</include>
                            <include>org.apache.commons:commons-configuration2</include>
                            <include>commons-digester:commons-digester</include>
                            <include>commons-io:commons-io</include>
                            <include>org.apache.commons:commons-math3</include>
                            <include>commons-net:commons-net:jar:${commons.net.version}</include>
                            <include>org.apache.curator:curator-recipes</include>
                            <include>com.google.code.gson:gson</include>
                            <include>org.apache.hadoop:hadoop-annotations</include>
                            <include>org.apache.htrace:htrace-core4</include>
                            <include>org.apache.httpcomponents:httpcore</include>
                            <include>org.codehaus.jackson:jackson-core-asl</include>
                            <include>org.codehaus.jackson:jackson-jaxrs</include>
                            <include>org.codehaus.jackson:jackson-mapper-asl</include>
                            <include>org.codehaus.jackson:jackson-xc</include>
                            <include>javax.xml.bind:jaxb-api</include>
                            <include>com.sun.xml.bind:jaxb-impl</include>
                            <include>com.sun.jersey:jersey-json</include>
                            <include>org.codehaus.jettison:jettison</include>
                            <include>jline:jline</include>
                            <include>com.jcraft:jsch</include>
                            <include>com.google.code.findbugs:jsr305</include>
                            <include>io.netty:netty</include>
                            <include>com.thoughtworks.paranamer:paranamer</include>
                            <include>org.xerial.snappy:snappy-java</include>
                            <include>xmlenc:xmlenc</include>
                            <include>org.tukaani:xz</include>
                            <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
                            <include>org.apache.httpcomponents:httpclient:jar:${kms.httpcomponents.httpclient.version}
                            </include>
                            <include>org.noggit:noggit:jar:${noggit.version}</include>
                            <include>com.google.protobuf:protobuf-java:jar:${protobuf-java.version}</include>
                            <include>org.apache.hadoop:hadoop-hdfs:jar:${hadoop.version}</include>
                            <include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
                            <include>org.codehaus.woodstox:stax2-api</include>
                            <include>com.fasterxml.woodstox:woodstox-core</include>
                            <include>com.fasterxml.jackson.core:jackson-core</include>
                            <include>com.fasterxml.jackson.core:jackson-annotations</include>
                            <include>com.fasterxml.jackson.core:jackson-databind</include>
                            <include>com.microsoft.azure:azure:jar:${com.microsoft.azure.version}</include>
                            <include>com.microsoft.azure:azure-keyvault:jar:${com.microsoft.azure.azure-keyvault.version}</include>
                            <include>com.microsoft.azure:azure-mgmt-keyvault:jar:${com.microsoft.azure.azure-mgmt-keyvault.version}</include>
                            <include>com.microsoft.rest:client-runtime:jar:${com.microsoft.rest.client-runtime.version}</include>
                            <include>com.microsoft.azure:azure-client-runtime:jar:${com.microsoft.azure.azure-client-runtime.version}</include>
                            <include>com.microsoft.azure:adal4j:jar:${com.microsoft.azure.adal4j.version}</include>
                            <include>io.reactivex:rxjava:jar:${io.reactivex.rxjava.version}</include>
                            <include>com.squareup.okhttp3:okhttp</include>
                            <include>com.squareup.okio:okio</include>
                            <include>com.squareup.retrofit2:retrofit</include>
                            <include>com.squareup.retrofit2:adapter-rxjava</include>
                            <include>com.squareup.okhttp3:okhttp-urlconnection</include>
                            <include>com.fasterxml.jackson.datatype:jackson-datatype-joda</include>
                            <include>joda-time:okhttp-urlconnection</include>
                            <include>joda-time:joda-time</include>
                            <include>com.nimbusds:oauth2-oidc-sdk</include>
                            <include>net.minidev:json-smart</include>
                            <include>net.minidev:asm:jar:${net.minidev.asm.version}</include>
                            <include>javax.mail:javax.mail-api</include>
                            <include>com.sun.mail:javax.mail</include>
                            <include>com.nimbusds:nimbus-jose-jwt</include>
                            <include>org.apache.commons:commons-lang3</include>
                            <include>com.microsoft.azure:azure-keyvault-webkey</include>
                            <include>org.bouncycastle:bcprov-jdk15on</include>
                            <include>org.bouncycastle:bcpkix-jdk15on</include>
                            <include>com.microsoft.azure:azure-mgmt-resources</include>
                            <include>com.microsoft.azure:azure-client-authentication</include>
                            <include>com.microsoft.azure:azure-mgmt-graph-rbac</include>
                            <include>com.microsoft.azure:azure-mgmt-storage</include>
                            <include>com.microsoft.azure:azure-mgmt-compute</include>
                            <include>com.microsoft.azure:azure-mgmt-network</include>
                            <include>com.microsoft.azure:azure-mgmt-batch</include>
                            <include>com.microsoft.azure:azure-mgmt-batchai</include>
                            <include>com.microsoft.azure:azure-mgmt-trafficmanager</include>
                            <include>com.microsoft.azure:azure-mgmt-redis</include>
                            <include>com.microsoft.azure:azure-mgmt-cdn</include>
                            <include>com.microsoft.azure:azure-mgmt-dns</include>
                            <include>com.microsoft.azure:azure-mgmt-appservice</include>
                            <include>com.microsoft.azure:azure-mgmt-sql</include>
                            <include>com.microsoft.azure:azure-mgmt-servicebus</include>
                            <include>com.microsoft.azure:azure-mgmt-containerinstance</include>
                            <include>com.microsoft.azure:azure-mgmt-containerregistry</include>
                            <include>com.microsoft.azure:azure-mgmt-containerservice</include>
                            <include>com.microsoft.azure:azure-mgmt-cosmosdb</include>
                            <include>com.microsoft.azure:azure-mgmt-search</include>
                            <include>com.microsoft.azure:azure-mgmt-locks</include>
                            <include>com.microsoft.azure:azure-mgmt-msi</include>
                            <include>com.microsoft.azure:azure-mgmt-monitor</include>
                            <include>com.microsoft.azure:azure-mgmt-eventhub</include>
                            <include>com.microsoft.azure:azure-mgmt-eventhub</include>
                            <include>com.microsoft.azure:azure-keyvault-cryptography</include>
                        </includes>
                    </dependencySet>
                </dependencySets>
            </binaries>
            <includes>
                <include>org.apache.ranger:ranger-kms</include>
            </includes>
        </moduleSet>
	
        <moduleSet>
            <binaries>
                <includeDependencies>false</includeDependencies>
                <unpack>true</unpack>
                <outputDirectory>/ews/webapp</outputDirectory>
            </binaries>
            <includes>
                <include>org.apache.ranger:ranger-kms</include>
            </includes>
        </moduleSet>

        <moduleSet>
            <binaries>
                <includeDependencies>false</includeDependencies>
                <outputDirectory>/ews/webapp/WEB-INF/classes/lib</outputDirectory>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
                <dependencySets>
                    <dependencySet>
                        <outputDirectory>/ews/webapp/WEB-INF/classes/lib</outputDirectory>
                        <includes>
                            <include>org.apache.tomcat.embed:tomcat-embed*</include>
                            <include>org.apache.tomcat:tomcat-annotations-api*</include>
                            <include>org.eclipse.jdt.core.compiler:ecj:jar:P20140317-1600</include>
                            <include>com.google.protobuf:protobuf-java:jar:${protobuf-java.version}</include>
                            <include>org.apache.hadoop:hadoop-hdfs:jar:${hadoop.version}</include>
                            <include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
                            <include>org.apache.solr:solr-solrj</include>
                            <include>org.apache.ranger:ranger-plugins-common</include>
                            <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
                            <include>net.java.dev.jna:jna:jar:${jna.version}</include>
                            <include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
                            <include>org.apache.ranger:ranger-plugins-cred</include>
                        </includes>
                        <unpack>false</unpack>
                    </dependencySet>
                </dependencySets>
            </binaries>
            <includes>
                <include>org.apache.ranger:embeddedwebserver</include>
            </includes>
        </moduleSet>

        <moduleSet>
            <binaries>
                <includeDependencies>false</includeDependencies>
                <outputDirectory>/jisql/lib</outputDirectory>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
                <dependencySets>
                    <dependencySet>
                        <outputDirectory>/jisql/lib</outputDirectory>
                        <unpack>false</unpack>
                        <includes>
                            <include>net.sf.jopt-simple:jopt-simple</include>
                        </includes>
                    </dependencySet>
                </dependencySets>
            </binaries>
            <includes>
                <include>org.apache.ranger:jisql</include>
            </includes>
        </moduleSet>
        <!-- Plugin -->
        <moduleSet>
            <binaries>
                <includeDependencies>false</includeDependencies>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
                <outputDirectory>/ews/webapp/WEB-INF/classes/lib</outputDirectory>
            </binaries>
            <includes>
                <include>org.apache.ranger:ranger-kms-plugin-shim</include>
                <include>org.apache.ranger:ranger-plugin-classloader</include>
                <include>org.apache.ranger:credentialbuilder</include>
            </includes>
        </moduleSet>
        <moduleSet>
            <binaries>
                <includeDependencies>false</includeDependencies>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
                <dependencySets>
                    <dependencySet>
                        <outputDirectory>/ews/webapp/WEB-INF/classes/lib/ranger-kms-plugin-impl</outputDirectory>
                        <unpack>false</unpack>
                        <includes>
                            <include>org.apache.commons:commons-configuration2:jar:${commons.configuration.version}</include>
                            <include>com.google.code.gson:gson</include>
                            <include>org.eclipse.persistence:eclipselink</include>
                            <include>org.eclipse.persistence:javax.persistence</include>
                            <include>commons-collections:commons-collections</include>
                            <include>commons-logging:commons-logging:jar:${commons.logging.version}</include>
                            <include>com.google.guava:guava:jar:${google.guava.version}</include>
                            <include>org.apache.httpcomponents:httpclient:jar:${httpcomponents.httpclient.version}
                            </include>
                            <include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
                            <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
                            <include>org.noggit:noggit:jar:${noggit.version}</include>
                            <include>org.apache.zookeeper:zookeeper:jar:${zookeeper.version}</include>
                            <include>org.apache.solr:solr-solrj</include>
                            <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
                            <include>net.java.dev.jna:jna:jar:${jna.version}</include>
                            <include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
                        </includes>
                    </dependencySet>
                    <dependencySet>
                        <outputDirectory>/install/lib</outputDirectory>
                        <unpack>false</unpack>
                        <directoryMode>755</directoryMode>
                        <fileMode>644</fileMode>
                        <includes>
                            <include>commons-cli:commons-cli</include>
                            <include>commons-collections:commons-collections</include>
                            <include>org.apache.commons:commons-configuration2:jar:${commons.configuration.version}</include>
                            <include>commons-io:commons-io:jar:${commons.io.version}</include>
                            <include>commons-lang:commons-lang:jar:${commons.lang.version}</include>
                            <include>commons-logging:commons-logging:jar:${commons.logging.version}</include>
                            <include>com.google.guava:guava:jar:${google.guava.version}</include>
                            <include>org.slf4j:slf4j-api:jar:${slf4j-api.version}</include>
                            <include>org.apache.hadoop:hadoop-common:jar:${hadoop.version}</include>
                            <include>org.apache.hadoop:hadoop-auth:jar:${hadoop.version}</include>
                            <include>org.apache.ranger:ranger-plugins-cred</include>
                            <include>org.apache.ranger:credentialbuilder</include>
                            <include>org.codehaus.woodstox:stax2-api</include>
                            <include>com.fasterxml.woodstox:woodstox-core</include>
                        </includes>
                    </dependencySet>
                </dependencySets>
                <outputDirectory>/ews/webapp/WEB-INF/classes/lib/ranger-kms-plugin-impl</outputDirectory>
            </binaries>
            <includes>
                <include>org.apache.ranger:ranger-plugins-audit</include>
                <include>org.apache.ranger:ranger-plugins-cred</include>
                <include>org.apache.ranger:ranger-plugins-common</include>
                <include>org.apache.ranger:ranger-kms-plugin</include>
            </includes>
        </moduleSet>
        <moduleSet>
            <binaries>
                <includeDependencies>false</includeDependencies>
                <outputDirectory>/install/lib</outputDirectory>
                <unpack>false</unpack>
            </binaries>
            <includes>
                <include>org.apache.ranger:ranger-plugins-installer</include>
                <include>org.apache.ranger:credentialbuilder</include>
            </includes>
        </moduleSet>
        <!-- End Plugin -->
        <moduleSet>
            <binaries>
                <includeDependencies>false</includeDependencies>
                <outputDirectory>/cred/lib</outputDirectory>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
                <dependencySets>
                    <dependencySet>
                        <outputDirectory>/cred/lib</outputDirectory>
                        <unpack>false</unpack>
                        <includes>
                            <include>commons-cli:commons-cli</include>
                            <include>commons-collections:commons-collections</include>
                            <include>org.apache.commons:commons-configuration2</include>
                            <include>commons-io:commons-io:jar:${commons.io.version}</include>
                            <include>commons-lang:commons-lang</include>
                            <include>commons-logging:commons-logging</include>
                            <include>com.google.guava:guava</include>
                            <include>org.slf4j:slf4j-api</include>
                            <include>org.apache.hadoop:hadoop-common</include>
                            <include>org.apache.hadoop:hadoop-auth</include>
                            <include>org.apache.htrace:htrace-core4</include>
                            <include>org.codehaus.woodstox:stax2-api</include>
                            <include>com.fasterxml.woodstox:woodstox-core</include>
                        </includes>
                    </dependencySet>
                </dependencySets>
            </binaries>
            <includes>
                <include>org.apache.ranger:credentialbuilder</include>
            </includes>
        </moduleSet>
    </moduleSets>

    <fileSets>
        <!-- <fileSet>
            <outputDirectory>/ews/webapp/WEB-INF/classes/conf.dist</outputDirectory>
            <directory>kms/config/webserver</directory>
            <fileMode>700</fileMode>
        </fileSet> -->
        <fileSet>
            <outputDirectory>/db</outputDirectory>
            <directoryMode>755</directoryMode>
            <directory>kms/scripts/db</directory>
            <fileMode>544</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>/</outputDirectory>
            <directory>kms/scripts</directory>
            <includes>
                <include>dba_script.py</include>
                <include>db_setup.py</include>
                <include>update_property.py</include>
                <include>ranger-kms-initd</include>
                <include>ranger-kms</include>
                <include>setup.sh</include>
                <include>importJCEKSKeys.sh</include>
                <include>exportKeysToJCEKS.sh</include>
                <include>HSMMK2DB.sh</include>
                <include>DBMK2HSM.sh</include>
                <include>VerifyIsDBMasterkeyCorrect.sh</include>
                <include>VerifyIsHSMMasterkeyCorrect.sh</include>
                <include>DBMKTOKEYSECURE.sh</include>
                <include>DBMKTOAZUREKEYVAULT.sh</include>
                <include>KEYSECUREMKTOKMSDB.sh</include>
            </includes>
            <fileMode>544</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>/</outputDirectory>
            <directory>kms/scripts</directory>
            <includes>
                <include>install.properties</include>
            </includes>
            <fileMode>700</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>/ews/webapp/WEB-INF/classes/conf.dist</outputDirectory>
            <directoryMode>0700</directoryMode>
            <directory>kms/config/kms-webapp</directory>
            <fileMode>0700</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>/ews/webapp/WEB-INF/classes/conf.dist</outputDirectory>
            <directoryMode>0700</directoryMode>
            <directory>kms/config/webserver</directory>
            <fileMode>0700</fileMode>
        </fileSet>
        <!-- Plugin -->
        <!-- conf.templates for enable -->
        <fileSet>
            <outputDirectory>/install/conf.templates/enable</outputDirectory>
            <directory>plugin-kms/conf</directory>
            <excludes>
                <exclude>*.sh</exclude>
            </excludes>
            <fileMode>700</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>/install/conf.templates/disable</outputDirectory>
            <directory>plugin-kms/disable-conf</directory>
            <fileMode>700</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>/install/conf.templates/default</outputDirectory>
            <directory>plugin-kms/template</directory>
            <fileMode>700</fileMode>
        </fileSet>
        <!-- version file -->
        <fileSet>
            <outputDirectory>/</outputDirectory>
            <directory>${project.build.directory}</directory>
            <includes>
                <include>version</include>
            </includes>
            <fileMode>444</fileMode>
        </fileSet>
    </fileSets>
    <files>
        <file>
            <source>plugin-kms/scripts/enable-kms-plugin.sh</source>
            <outputDirectory>/</outputDirectory>
            <destName>enable-kms-plugin.sh</destName>
            <fileMode>755</fileMode>
        </file>
        <file>
            <source>security-admin/scripts/ranger_credential_helper.py</source>
            <outputDirectory>/</outputDirectory>
            <fileMode>755</fileMode>
        </file>
    </files>
</assembly>
