<?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>
    </formats>
    <baseDirectory>${project.parent.name}-${project.version}-kms</baseDirectory>
    <includeBaseDirectory>true</includeBaseDirectory>

    <moduleSets>
        <moduleSet>
            <useAllReactorProjects>true</useAllReactorProjects>
            <includes>
                <include>org.apache.ranger:ranger-kms</include>
            </includes>
            <binaries>
                <outputDirectory>ews/webapp/WEB-INF/classes</outputDirectory>
                <includeDependencies>true</includeDependencies>
                <unpack>true</unpack>
                <dependencySets>
                    <dependencySet>
                        <outputDirectory>ews/webapp/WEB-INF/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.jetty:jetty-client:jar:${jetty-client.version}</include>
                    <include>org.eclipse.persistence:javax.persistence</include>
                    <include>com.googlecode.log4jdbc:log4jdbc</include>
                    <include>com.codahale.metrics:metrics-core</include>
                    <include>org.slf4j:jul-to-slf4j</include>
                    <include>javax.servlet:servlet-api</include>
                    <include>org.mortbay.jetty:jetty</include>
                    <include>org.mortbay.jetty:jetty-util</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>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>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>org.apache.hadoop:hadoop-annotations</include>
                    <include>org.apache.httpcomponents:httpcore</include>
                    <include>javax.xml.bind:jaxb-api</include>
                    <include>com.sun.xml.bind:jaxb-impl</include>
                    <include>org.codehaus.jettison:jettison:jar:${jettison.version}</include>
                    <include>jline:jline</include>
                    <include>com.jcraft:jsch</include>
                    <include>com.google.code.findbugs:jsr305</include>
                    <include>io.netty:netty-all</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>org.apache.hadoop:hadoop-hdfs:jar:${hadoop.version}</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>org.apache.kerby:kerb-core:jar:${kerby.version}</include>
                    <include>org.apache.kerby:kerb-util:jar:${kerby.version}</include>
                    <include>org.apache.kerby:kerb-crypto:jar:${kerby.version}</include>
                    <include>org.apache.kerby:kerby-asn1:jar:${kerby.version}</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>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>
                    <!-- GCP -->
                    <include>com.google.cloud:google-cloud-kms</include>
                    <include>io.grpc:grpc-api</include>
                    <include>io.grpc:grpc-context</include>
                    <include>io.grpc:grpc-stub</include>
                    <include>io.grpc:grpc-protobuf</include>
                    <include>io.grpc:grpc-protobuf-lite</include>
                    <include>com.google.api:api-common</include>
                    <include>javax.annotation:javax.annotation-api</include>
                    <include>com.google.auto.value:auto-value-annotations</include>
                    <include>com.google.api.grpc:proto-google-common-protos</include>
                    <include>com.google.api.grpc:proto-google-cloud-kms-v1</include>
                    <include>com.google.api:gax</include>
                    <include>io.opencensus:opencensus-api</include>
                    <include>com.google.api:gax-grpc</include>
                    <include>com.google.auth:google-auth-library-credentials</include>
                    <include>io.grpc:grpc-netty-shaded</include>
                    <include>io.perfmark:perfmark-api</include>
                    <include>io.grpc:grpc-core</include>
                    <include>com.google.android:annotations</include>
                    <include>io.grpc:grpc-alts</include>
                    <include>io.grpc:grpc-grpclb</include>
                    <include>com.google.protobuf:protobuf-java-util:jar:${gcp.protobuf-java.version}</include>
                    <include>org.conscrypt:conscrypt-openjdk-uber</include>
                    <include>org.threeten:threetenbp</include>
                    <include>io.grpc:grpc-auth</include>
                    <include>com.google.api.grpc:proto-google-iam-v1</include>
                    <include>com.google.auth:google-auth-library-oauth2-http</include>
                    <include>com.google.http-client:google-http-client</include>
                    <include>io.opencensus:opencensus-contrib-http-util</include>
                    <include>com.google.http-client:google-http-client-gson</include>
                    <include>io.grpc:grpc-xds</include>
                    <include>io.grpc:grpc-services</include>
                    <include>io.opencensus:opencensus-proto</include>
                    <!-- AWS KMS -->
                    <include>com.amazonaws:aws-java-sdk-core</include>
                    <include>com.amazonaws:aws-java-sdk-kms</include>
                    <!-- TencentKMS -->
                    <include>com.tencentcloudapi:tencentcloud-sdk-java-kms</include>
                    <include>com.tencentcloudapi:tencentcloud-sdk-java-common</include>
                    <include>com.squareup.okhttp:logging-interceptor</include>
                    <include>com.squareup.okhttp:okhttp</include>
                    <!-- ranger common metrics module-->
                            <include>org.apache.ranger:ranger-metrics</include>
                        </includes>
                    </dependencySet>
                </dependencySets>
            </binaries>
        </moduleSet>

        <moduleSet>
            <useAllReactorProjects>true</useAllReactorProjects>
            <includes>
                <include>org.apache.ranger:embeddedwebserver</include>
            </includes>
            <binaries>
                <outputDirectory>ews/lib</outputDirectory>
                <includeDependencies>true</includeDependencies>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
                <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:${gcp.protobuf-java.version}</include>
                    <include>org.apache.hadoop:hadoop-hdfs:jar:${hadoop.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.htrace:htrace-core4:jar:${htrace-core.version}</include>
                    <include>org.apache.solr:solr-solrj:jar:${solr.version}</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:credentialbuilder</include>
                    <include>org.apache.commons:commons-compress:jar:${commons.compress.version}</include>
                    <include>org.apache.commons:commons-lang3</include>
                    <include>org.apache.commons:commons-configuration2</include>
                    <include>commons-lang:commons-lang</include>
                    <include>commons-collections:commons-collections</include>
                    <include>commons-logging:commons-logging</include>
                    <include>org.slf4j:slf4j-api</include>
                    <include>org.slf4j:log4j-over-slf4j:jar:${slf4j.version}</include>
                    <include>ch.qos.logback:logback-classic:jar:${logback.version}</include>
                    <include>ch.qos.logback:logback-core:jar:${logback.version}</include>
                    <include>com.google.guava:guava</include>
                    <include>com.google.code.gson:gson</include>
                    <include>com.sun.jersey:jersey-bundle</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>org.codehaus.woodstox:stax2-api</include>
                    <include>com.fasterxml.woodstox:woodstox-core</include>
                    <include>org.apache.commons:commons-text:jar:${commons.text.version}</include>
                </includes>
            </binaries>
        </moduleSet>

        <moduleSet>
            <useAllReactorProjects>true</useAllReactorProjects>
            <includes>
                <include>org.apache.ranger:jisql</include>
            </includes>
            <binaries>
                <outputDirectory>jisql/lib</outputDirectory>
                <includeDependencies>true</includeDependencies>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
                <includes>
                    <include>net.sf.jopt-simple:jopt-simple</include>
                </includes>
            </binaries>
        </moduleSet>

        <!-- Plugin -->
        <moduleSet>
            <useAllReactorProjects>true</useAllReactorProjects>
            <includes>
                <include>org.apache.ranger:ranger-util</include>
                <include>org.apache.ranger:ranger-kms-plugin-shim</include>
                <include>org.apache.ranger:ranger-plugin-classloader</include>
                <include>org.apache.ranger:credentialbuilder</include>
            </includes>
            <binaries>
                <outputDirectory>ews/webapp/WEB-INF/lib</outputDirectory>
                <includeDependencies>false</includeDependencies>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
            </binaries>
        </moduleSet>

        <moduleSet>
            <useAllReactorProjects>true</useAllReactorProjects>
            <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>
            <binaries>
                <outputDirectory>ews/webapp/WEB-INF/lib/ranger-kms-plugin-impl</outputDirectory>
                <includeDependencies>true</includeDependencies>
                <unpack>false</unpack>
                <directoryMode>755</directoryMode>
                <fileMode>644</fileMode>
                <dependencySets>
                    <dependencySet>
                        <outputDirectory>ews/webapp/WEB-INF/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:jar:${solr.version}</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.elasticsearch:elasticsearch</include>
                            <include>org.elasticsearch:elasticsearch-core</include>
                            <include>org.elasticsearch:elasticsearch-x-content</include>
                            <include>org.elasticsearch.client:elasticsearch-rest-client</include>
                            <include>org.elasticsearch.client:elasticsearch-rest-high-level-client</include>
                            <include>org.elasticsearch.plugin:rank-eval-client</include>
                            <include>org.elasticsearch.plugin:lang-mustache-client</include>
                            <include>org.apache.httpcomponents:httpcore-nio:jar:${httpcomponents.httpcore.version}</include>
                            <include>org.apache.httpcomponents:httpasyncclient:jar:${httpcomponents.httpasyncclient.version}</include>
                            <include>org.apache.lucene:lucene-core</include>
                            <include>joda-time:joda-time</include>
                            <include>com.carrotsearch:hppc</include>
                            <include>org.apache.hive:hive-storage-api:jar:${hive.storage-api.version}</include>
                            <include>org.apache.orc:orc-core:jar:${orc.version}</include>
                            <include>org.apache.orc:orc-shims:jar:${orc.version}</include>
                            <include>io.airlift:aircompressor:jar:${aircompressor.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>
            </binaries>
        </moduleSet>

        <moduleSet>
            <useAllReactorProjects>true</useAllReactorProjects>
            <includes>
                <include>org.apache.ranger:ranger-plugins-installer</include>
                <include>org.apache.ranger:credentialbuilder</include>
            </includes>
            <binaries>
                <outputDirectory>install/lib</outputDirectory>
                <includeDependencies>false</includeDependencies>
                <unpack>false</unpack>
            </binaries>
        </moduleSet>
        <!-- End Plugin -->

        <moduleSet>
            <useAllReactorProjects>true</useAllReactorProjects>
            <includes>
                <include>org.apache.ranger:credentialbuilder</include>
            </includes>
            <binaries>
                <outputDirectory>cred/lib</outputDirectory>
                <includeDependencies>true</includeDependencies>
                <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</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>
                    <include>org.apache.commons:commons-compress:jar:${commons.compress.version}</include>
                    <include>org.apache.commons:commons-lang3</include>
                </includes>
            </binaries>
        </moduleSet>
    </moduleSets>

    <fileSets>
        <!-- <fileSet>
            <outputDirectory>/ews/webapp/WEB-INF/classes/conf.dist</outputDirectory>
            <directory>${project.parent.basedir}/kms/config/webserver</directory>
            <fileMode>700</fileMode>
        </fileSet> -->
        <fileSet>
            <outputDirectory>db</outputDirectory>
            <directoryMode>755</directoryMode>
            <directory>${project.parent.basedir}/kms/scripts/db</directory>
            <fileMode>544</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory></outputDirectory>
            <directory>${project.parent.basedir}/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>
                <include>MigrateMKeyStorageDbToGCP.sh</include>
            </includes>
            <fileMode>544</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory></outputDirectory>
            <directory>${project.parent.basedir}/kms/scripts</directory>
            <includes>
                <include>install.properties</include>
            </includes>
            <fileMode>700</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>ews/webapp</outputDirectory>
            <directoryMode>0700</directoryMode>
            <directory>${project.parent.basedir}/kms/src/main/webapp</directory>
            <fileMode>0600</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>ews/webapp/WEB-INF/classes/conf.dist</outputDirectory>
            <directoryMode>0700</directoryMode>
            <directory>${project.parent.basedir}/kms/config/kms-webapp</directory>
            <fileMode>0700</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>ews/webapp/WEB-INF/classes/conf.dist</outputDirectory>
            <directoryMode>0700</directoryMode>
            <directory>${project.parent.basedir}/kms/config/webserver</directory>
            <fileMode>0700</fileMode>
        </fileSet>
        <!-- Plugin -->
        <!-- conf.templates for enable -->
        <fileSet>
            <outputDirectory>install/conf.templates/enable</outputDirectory>
            <directory>${project.parent.basedir}/plugin-kms/conf</directory>
            <excludes>
                <exclude>*.sh</exclude>
            </excludes>
            <fileMode>700</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>install/conf.templates/disable</outputDirectory>
            <directory>${project.parent.basedir}/plugin-kms/disable-conf</directory>
            <fileMode>700</fileMode>
        </fileSet>
        <fileSet>
            <outputDirectory>install/conf.templates/default</outputDirectory>
            <directory>${project.parent.basedir}/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>${project.parent.basedir}/plugin-kms/scripts/enable-kms-plugin.sh</source>
            <outputDirectory></outputDirectory>
            <destName>enable-kms-plugin.sh</destName>
            <fileMode>755</fileMode>
        </file>
        <file>
            <source>${project.parent.basedir}/security-admin/scripts/ranger_credential_helper.py</source>
            <outputDirectory></outputDirectory>
            <fileMode>755</fileMode>
        </file>
    </files>
</assembly>
