<?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>usersync</id>
	<formats>
		<format>tar.gz</format>
	</formats>
	<baseDirectory>${project.parent.name}-${project.version}-usersync</baseDirectory>
	<includeBaseDirectory>true</includeBaseDirectory>
	<moduleSets>
		<moduleSet>
			<useAllReactorProjects>true</useAllReactorProjects>
			<includes>
				<include>org.apache.ranger:unixauthservice</include>
				<include>org.apache.ranger:unixusersync</include>
			</includes>
			<binaries>
				<outputDirectory>dist</outputDirectory>
				<includeDependencies>true</includeDependencies>
				<unpack>false</unpack>
				<directoryMode>755</directoryMode>
				<fileMode>644</fileMode>
				<dependencySets>
					<dependencySet>
						<outputDirectory>lib</outputDirectory>
						<unpack>false</unpack>
						<includes>
							<include>com.google.code.gson:gson</include>
							<include>com.sun.jersey:jersey-bundle</include>
							<include>commons-cli:commons-cli</include>
							<include>commons-collections:commons-collections</include>
							<include>commons-lang:commons-lang</include>
							<include>commons-logging:commons-logging</include>
							<include>com.google.guava:guava</include>
							<include>org.apache.hadoop:hadoop-auth</include>
							<include>org.slf4j:slf4j-api:jar:${slf4j.version}</include>
							<include>org.apache.hadoop:hadoop-common</include>
							<include>org.apache.commons:commons-csv</include>
							<include>org.apache.ranger:credentialbuilder</include>
							<include>org.apache.ranger:ranger-util</include>
							<include>commons-io:commons-io:jar:${commons.io.version}</include>
							<include>org.apache.httpcomponents:httpclient:jar:${httpcomponents.httpclient.version}</include>
							<include>commons-codec:commons-codec</include>
							<include>org.apache.ranger:ranger-plugins-common</include>
							<include>org.apache.ranger:ranger-common-ha:jar:${project.version}</include>
							<include>org.apache.curator:curator-framework:jar:${curator.version}</include>
							<include>org.apache.curator:curator-recipes:jar:${curator.version}</include>
							<include>org.apache.curator:curator-client:jar:${curator.version}</include>
							<include>org.apache.zookeeper:zookeeper:jar:${zookeeper.version}</include>
							<include>org.apache.zookeeper:zookeeper-jute:jar:${zookeeper.version}</include>
							<include>org.apache.ranger:ugsync-util</include>
							<include>org.apache.htrace:htrace-core4</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>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.cloudera.logredactor:logredactor</include>
							<include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
							<include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
							<include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.databind.version}</include>
							<include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:${fasterxml.jackson.version}</include>
							<include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
							<include>com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:${fasterxml.jackson.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>
							<include>org.codehaus.jackson:jackson-jaxrs:jar:${codehaus.jackson.version}</include>
							<include>org.codehaus.jettison:jettison:jar:${jettison.version}</include>
							<include>org.codehaus.jackson:jackson-xc:jar:${codehaus.jackson.version}</include>
							<include>org.apache.commons:commons-compress:jar:${commons.compress.version}</include>
							<include>org.apache.commons:commons-lang3</include>
							<include>ch.qos.logback:logback-classic:jar:${logback.version}</include>
							<include>org.slf4j:log4j-over-slf4j:jar:${${slf4j.version}}</include>
							<include>ch.qos.logback:logback-core:jar:${logback.version}</include>
						</includes>
					</dependencySet>
					<dependencySet>
						<outputDirectory>ldaptool/lib</outputDirectory>
						<unpack>false</unpack>
						<includes>
							<include>commons-cli:commons-cli</include>
							<include>org.apache.commons:commons-configuration2</include>
							<include>commons-lang:commons-lang</include>
							<include>commons-logging:commons-logging</include>
						</includes>
					</dependencySet>
				</dependencySets>
			</binaries>
		</moduleSet>

		<moduleSet>
			<useAllReactorProjects>true</useAllReactorProjects>
			<includes>
				<include>org.apache.ranger:ranger-plugins-installer</include>
			</includes>
			<binaries>
				<outputDirectory>installer/lib</outputDirectory>
				<includeDependencies>false</includeDependencies>
				<unpack>false</unpack>
			</binaries>
		</moduleSet>
	</moduleSets>

	<fileSets>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>644</fileMode>
			<outputDirectory>conf.dist</outputDirectory>
			<directory>../unixauthservice/conf.dist</directory>
			<excludes>
				<exclude>jaas.conf</exclude>
			</excludes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>544</fileMode>
			<outputDirectory></outputDirectory>
			<directory>../unixauthservice/scripts</directory>
			<excludes>
				<exclude>*.properties</exclude>
				<exclude>initd</exclude>
			</excludes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>700</fileMode>
			<outputDirectory></outputDirectory>
			<directory>../unixauthservice/scripts</directory>
			<includes>
				<include>*.properties</include>
			</includes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>644</fileMode>
			<outputDirectory>conf.dist/cert</outputDirectory>
			<directory>../unixauthservice/cert</directory>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>750</fileMode>
			<outputDirectory>native</outputDirectory>
			<directory>../unixauthnative/target</directory>
			<includes>
				<include>credValidator.*</include>
			</includes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>750</fileMode>
			<outputDirectory>native</outputDirectory>
			<directory>../unixauthpam/target</directory>
			<includes>
				<include>pamCredValidator.*</include>
			</includes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<outputDirectory></outputDirectory>
			<directory>${project.build.directory}</directory>
			<includes>
				<include>version</include>
			</includes>
			<fileMode>444</fileMode>
		</fileSet>
		<fileSet>
			<outputDirectory></outputDirectory>
			<directory>../security-admin/scripts</directory>
			<includes>
				<include>ranger_credential_helper.py</include>
			</includes>
			<fileMode>544</fileMode>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>755</fileMode>
			<outputDirectory>usersync_tool</outputDirectory>
			<directory>../ugsync/filesourceusersynctool</directory>
			<includes>
				<include>run-filesource-usersync.sh</include>
			</includes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>755</fileMode>
			<outputDirectory>ldaptool</outputDirectory>
			<directory>../ugsync/ldapconfigchecktool/ldapconfigcheck/scripts</directory>
			<includes>
				<include>run.sh</include>
			</includes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>644</fileMode>
			<outputDirectory>ldaptool/lib</outputDirectory>
			<directory>../ugsync/ldapconfigchecktool/ldapconfigcheck/target</directory>
			<includes>
				<include>ldapconfigcheck-${project.version}.jar</include>
			</includes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>644</fileMode>
			<outputDirectory>ldaptool/conf</outputDirectory>
			<directory>../ugsync/ldapconfigchecktool/ldapconfigcheck/conf</directory>
			<includes>
				<include>input.properties</include>
			</includes>
		</fileSet>
		<fileSet>
			<directoryMode>755</directoryMode>
			<fileMode>644</fileMode>
			<outputDirectory>ldaptool/output</outputDirectory>
			<directory>../ugsync/ldapconfigchecktool/ldapconfigcheck/conf</directory>
			<excludes>
				<exclude>input.properties</exclude>
			</excludes>
		</fileSet>
	</fileSets>
	<files>
		<file>
			<source>${project.parent.basedir}/unixauthservice/scripts/initd</source>
			<outputDirectory></outputDirectory>
			<destName>ranger-usersync</destName>
			<fileMode>755</fileMode>
		</file>
	</files>
</assembly>
