<?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-beanutils:commons-beanutils-core</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.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>
                </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.sourceforge.javacsv:javacsv</include>
                    <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>
		</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>
