<?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>admin</id> 
  <formats>
     <format>tar.gz</format>
  </formats>
  <baseDirectory>${project.parent.name}-${project.version}-admin</baseDirectory>
  <includeBaseDirectory>true</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:security-admin-web</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp</outputDirectory>
        <includeDependencies>false</includeDependencies>
        <unpack>true</unpack>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:unixauthclient</include>
      </includes>
      <binaries>
        <outputDirectory>ews/ranger_jaas</outputDirectory>
        <includeDependencies>false</includeDependencies>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-hdfs-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/hdfs</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-hive-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/hive</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.hive:hive-common:jar:${hive.version}</include>
          <include>org.apache.hive:hive-service:jar:${hive.version}</include>
          <include>org.apache.hive:hive-exec:jar:${hive.version}</include>
          <include>org.apache.hive:hive-jdbc:jar:${hive.version}</include>
          <include>org.apache.hive:hive-metastore:jar:${hive.version}</include>
          <include>org.apache.thrift:libfb303:jar:${libfb303.version}</include>
          <include>org.apache.thrift:libthrift:jar:${libthrift.version}</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-hbase-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/hbase</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
            <include>org.apache.hbase:hbase-common:jar:${hbase.version}</include>
            <include>org.apache.hbase:hbase-client:jar:${hbase.version}</include>
            <include>org.apache.hbase:hbase-protocol:jar:${hbase.version}</include>
            <include>org.apache.hbase:hbase-server:jar:${hbase.version}</include>
            <include>org.apache.hbase:hbase-protocol-shaded:jar:${hbase.version}</include>
            <include>org.apache.hbase:hbase-shaded-client:jar:${hbase.version}</include>
            <include>org.apache.hbase.thirdparty:hbase-shaded-protobuf:jar:${hbase-shaded-protobuf}</include>
            <include>org.apache.hbase.thirdparty:hbase-shaded-netty:jar:${hbase-shaded-netty}</include>
            <include>org.apache.hbase.thirdparty:hbase-shaded-miscellaneous:jar:${hbase-shaded-miscellaneous}</include>
            <include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
            <include>io.dropwizard.metrics:metrics-core</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-knox-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/knox</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
            <include>commons-lang:commons-lang:jar:${commons.lang.version}</include>
            <include>commons-collections:commons-collections:jar:${commons.collections.version}</include>
            <include>org.codehaus.jackson:jackson-core-asl:jar:${codehaus.jackson.version}</include>
            <include>org.codehaus.jackson:jackson-mapper-asl:jar:${codehaus.jackson.version}</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-storm-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/storm</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.storm:storm-core:jar:0.9.2-incubating</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-yarn-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/yarn</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.hadoop:hadoop-yarn-api:jar:${hadoop.version}</include>
          <include>org.apache.hadoop:hadoop-yarn-common:jar:${hadoop.version}</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-ozone-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/ozone</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ozone:ozone-common:jar:${ozone.version}</include>
          <include>org.apache.ozone:ozone-client:jar:${ozone.version}</include>
          <include>org.apache.ozone:hdds-common:jar:${ozone.version}</include>
          <include>org.apache.ozone:hdds-client:jar:${ozone.version}</include>
          <include>org.apache.ozone:hdds-config:jar:${ozone.version}</include>
          <include>org.apache.ozone:hdds-interface-client:jar:${ozone.version}</include>
          <include>org.apache.ozone:ozone-interface-client:jar:${ozone.version}</include>
          <include>org.apache.ratis:ratis-common:jar:${ratis.version}</include>
          <include>org.apache.ratis:ratis-proto:jar:${ratis.version}</include>
          <include>org.apache.ratis:ratis-thirdparty-misc:jar:${ratis-thirdparty.version}</include>
          <include>org.apache.commons:commons-compress:jar:1.4.1</include>
          <include>org.bouncycastle:bcpkix-jdk15on:jar:${org.bouncycastle.bcpkix-jdk15on}</include>
          <include>commons-net:commons-net:jar:${commons.net.version}</include>
          <include>com.google.guava:guava</include>
          <include>io.jaegertracing:jaeger-core:jar:1.6.0</include>
          <include>io.opentracing:opentracing-api:jar:0.33.0</include>
          <include>io.opentracing:opentracing-noop:jar:0.33.0</include>
          <include>io.opentracing:opentracing-util:jar:0.33.0</include>
          <include>io.opentracing.contrib:opentracing-tracerresolver:jar:0.1.8</include>
          <include>com.google.protobuf:protobuf-java:jar:${protobuf-java.version}</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-kms-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/kms</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-kms-plugin</include>
        </includes>
      </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>org.apache.hadoop:hadoop-auth:jar:${hadoop.version}</include>
          <include>org.apache.ranger:ranger-plugins-common</include>
          <include>org.slf4j:slf4j-api:jar:${slf4j.version}</include>
          <include>org.apache.hadoop:hadoop-common</include>
          <include>commons-logging:commons-logging</include>
          <include>com.sun.jersey.contribs:jersey-multipart</include>
          <include>com.google.guava:guava</include>
          <include>commons-collections:commons-collections</include>
          <include>commons-lang:commons-lang</include>
          <include>commons-io:commons-io</include>
          <include>org.apache.solr:solr-solrj:jar:${solr.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.zookeeper:zookeeper:jar:${zookeeper.version}</include>
          <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
          <include>commons-codec:commons-codec</include>
          <include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
          <include>com.fasterxml.woodstox:woodstox-core:jar:${fasterxml.woodstox.version}</include>
          <include>org.codehaus.woodstox:stax2-api:jar:${codehaus.woodstox.stax2api.version}</include>
          <include>org.apache.commons:commons-configuration2:jar:${commons.configuration.version}</include>
          <include>org.apache.commons:commons-lang3:jar:${commons.lang3.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.apache.ranger:credentialbuilder</include>
          <include>org.elasticsearch.client:elasticsearch-rest-client</include>
          <include>org.elasticsearch.client:elasticsearch-rest-high-level-client</include>
          <include>org.elasticsearch:elasticsearch-x-content</include>
          <include>org.elasticsearch:elasticsearch-core</include>
          <include>org.elasticsearch:elasticsearch</include>
          <include>org.elasticsearch.plugin:lang-mustache-client</include>
          <include>org.elasticsearch.plugin:rank-eval-client</include>
          <include>org.apache.httpcomponents:httpasyncclient:jar:${httpcomponents.httpasyncclient.version}</include>
          <include>org.apache.httpcomponents:httpcore-nio</include>
          <include>com.fasterxml.jackson.core:jackson-core</include>
          <include>org.apache.lucene:lucene-core</include>
          <include>com.carrotsearch:hppc</include>
          <include>joda-time:joda-time</include>
          <include>org.apache.ranger:ranger-plugins-cred</include>
          <include>org.apache.ranger:ugsyn-util</include>
          <include>org.eclipse.jetty:jetty-client:jar:${jetty-client.version}</include>
          <include>org.apache.commons:commons-compress:jar:${commons.compress.version}</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>
        </includes>
      </binaries>
    </moduleSet>

    <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>commons-configuration:commons-configuration</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:jar:${slf4j.version}</include>
          <include>org.apache.commons:commons-lang3</include>
          <include>org.apache.hadoop:hadoop-common</include>
          <include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
          <include>org.apache.hadoop:hadoop-auth</include>
          <include>com.fasterxml.woodstox:woodstox-core:jar:${fasterxml.woodstox.version}</include>
          <include>org.codehaus.woodstox:stax2-api:jar:${codehaus.woodstox.stax2api.version}</include>
          <include>org.apache.commons:commons-configuration2:jar:${commons.configuration.version}</include>
          <include>org.apache.commons:commons-compress:jar:${commons.compress.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>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-kafka-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/kafka</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-kafka-plugin</include>
        </includes>
      </binaries>
    </moduleSet>
            
    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-solr-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/solr</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-solr-plugin</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-nifi-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/nifi</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-nifi-plugin</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-nifi-registry-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/nifi-registry</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-nifi-registry-plugin</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-atlas-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/atlas</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-nifi-registry-plugin</include>
          <include>org.apache.atlas:atlas-intg:jar:${atlas.version}</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-sqoop-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/sqoop</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-sqoop-plugin</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-kylin-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/kylin</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-kylin-plugin</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-elasticsearch-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/elasticsearch</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-elasticsearch-plugin</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-presto-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/presto</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-presto-plugin</include>
          <include>io.prestosql:presto-spi:jar:${presto.version}</include>
          <include>io.prestosql:presto-jdbc:jar:${presto.version}</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-trino-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>ews/webapp/WEB-INF/classes/ranger-plugins/trino</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-trino-plugin</include>
          <include>io.trino:trino-spi:jar:${trino.version}</include>
          <include>io.trino:trino-jdbc:jar:${trino.version}</include>
        </includes>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-kudu-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>/ews/webapp/WEB-INF/classes/ranger-plugins/kudu</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-kudu-plugin</include>
        </includes>
      </binaries>
    </moduleSet>
    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-schema-registry-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>/ews/webapp/WEB-INF/classes/ranger-plugins/schema-registry</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <includes>
          <include>org.apache.ranger:ranger-schema-registry-plugin</include>
        </includes>
      </binaries>
    </moduleSet>
  </moduleSets>

  <fileSets>
    <fileSet>
      <outputDirectory>ews</outputDirectory>
      <directory>${project.parent.basedir}/embeddedwebserver/scripts</directory>
      <fileMode>544</fileMode>
    </fileSet>
    <fileSet>
      <outputDirectory>ews/webapp/WEB-INF/classes/conf.dist</outputDirectory>
      <directory>${project.parent.basedir}/embeddedwebserver/conf</directory>
      <fileMode>700</fileMode>
    </fileSet>
    <fileSet>
      <outputDirectory>db</outputDirectory>
      <directory>${project.parent.basedir}/security-admin/db</directory>
      <fileMode>544</fileMode>
    </fileSet>

    <fileSet>
      <outputDirectory>contrib</outputDirectory>
      <directory>${project.parent.basedir}/security-admin/contrib</directory>
      <fileMode>544</fileMode>
    </fileSet>

    <fileSet>
      <outputDirectory></outputDirectory>
      <directory>${project.parent.basedir}/security-admin/scripts</directory>
      <includes>
        <include>install.properties</include>
      </includes>
      <fileMode>700</fileMode>
    </fileSet>

    <fileSet>
      <outputDirectory></outputDirectory>
      <directory>${project.parent.basedir}/security-admin/scripts</directory>
      <includes>
        <include>setup.sh</include>
        <include>setup_authentication.sh</include>
        <include>set_globals.sh</include>
        <include>db_setup.py</include>
        <include>dba_script.py</include>
        <include>restrict_permissions.py</include>
        <include>upgrade_admin.py</include>
        <include>upgrade.sh</include>
        <include>update_property.py</include>
        <include>ranger_credential_helper.py</include>
        <include>deleteUserGroupUtil.py</include>
        <include>changepasswordutil.py</include>
        <include>changeusernameutil.py</include>
        <include>rolebasedusersearchutil.py</include>
	<include>updateUserAndGroupNamesInJson.py</include>
      </includes>
      <fileMode>544</fileMode>
    </fileSet>

    <fileSet>
      <outputDirectory>templates-upgrade</outputDirectory>
      <directory>${project.parent.basedir}/security-admin/scripts</directory>
      <includes>
        <include>install.properties</include>
        <include>ranger-admin-site-template.xml</include>
      </includes>
    </fileSet>

    <fileSet>
      <outputDirectory>ews/webapp/apidocs</outputDirectory>
      <directory>${project.parent.basedir}/docs/target/apidocs/ui</directory>
      <excludes>
        <exclude>index.html</exclude>
      </excludes>
      <includes>
        <include>swagger.json</include>
      </includes>
      <fileMode>544</fileMode>
    </fileSet>

    <fileSet>
      <outputDirectory>ews/webapp/apidocs</outputDirectory>
      <directory>${project.parent.basedir}/docs/src/site/resources</directory>
      <fileMode>544</fileMode>
    </fileSet>

    <fileSet>
      <outputDirectory></outputDirectory>
      <directory>${project.parent.basedir}/security-admin</directory>
      <includes>
        <include>3rd_party_licenses.txt</include>
        <include>3rd_party_licenses_text.txt</include>
      </includes>
      <fileMode>444</fileMode>
    </fileSet>

    <fileSet>
      <outputDirectory></outputDirectory>
      <directory>${project.build.directory}</directory>
      <includes>
        <include>version</include>
      </includes>
      <fileMode>444</fileMode>
    </fileSet>

    <fileSet>
      <outputDirectory>bin</outputDirectory>
      <directory>${project.parent.basedir}/security-admin/src/bin</directory>
      <fileMode>0755</fileMode>
      <directoryMode>0755</directoryMode>
    </fileSet>

    <fileSet>
      <outputDirectory>stability-tests</outputDirectory>
      <directory>${project.parent.basedir}/security-admin/src/test/resources/stability-tests</directory>
      <fileMode>0755</fileMode>
      <directoryMode>0755</directoryMode>
    </fileSet>
  </fileSets>
</assembly>
