<?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</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</include>
					<include>org.apache.commons:commons-compress</include>
					<include>commons-configuration:commons-configuration</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</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-core</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-core:jar:${htrace-core.version}</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-core:jar:${htrace-core.version}</include>
		    		<include>org.apache.solr:solr-solrj</include>
				<include>org.apache.ranger:ranger-plugins-common</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>commons-configuration:commons-configuration:jar:${commons.pool.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:${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>
                </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>commons-configuration:commons-configuration:jar:${commons.pool.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:${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>
                    </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>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</include>
							<include>org.apache.hadoop:hadoop-common</include>
							<include>org.apache.hadoop:hadoop-auth</include>
							<include>org.apache.htrace:htrace-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>install.properties</include>
			<include>importJCEKSKeys.sh</include>
			<include>exportKeysToJCEKS.sh</include>
			<include>HSMMK2DB.sh</include>
			<include>DBMK2HSM.sh</include>
                        <include>DBMKTOKEYSECURE.sh</include>
                        <include>KEYSECUREMKTOKMSDB.sh</include>
		</includes>
		<fileMode>544</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.outputDirectory}</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>
