<!--
   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.01

   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 xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>hadoop-yarn-dist</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/native/target/usr/local/bin</directory>
      <outputDirectory>bin</outputDirectory>
      <fileMode>0755</fileMode>
    </fileSet>
    <fileSet>
      <directory>hadoop-yarn/bin</directory>
      <outputDirectory>bin</outputDirectory>
      <includes>
        <include>yarn</include>
      </includes>
      <fileMode>0755</fileMode>
    </fileSet>
    <fileSet>
      <directory>hadoop-yarn/bin</directory>
      <outputDirectory>libexec</outputDirectory>
      <includes>
        <include>yarn-config.sh</include>
      </includes>
      <fileMode>0755</fileMode>
    </fileSet>
    <fileSet>
      <directory>hadoop-yarn/bin</directory>
      <outputDirectory>sbin</outputDirectory>
      <includes>
        <include>yarn-daemon.sh</include>
        <include>yarn-daemons.sh</include>
        <include>start-yarn.sh</include>
        <include>stop-yarn.sh</include>
      </includes>
      <fileMode>0755</fileMode>
    </fileSet>
    <fileSet>
      <directory>hadoop-yarn/conf</directory>
      <outputDirectory>etc/hadoop</outputDirectory>
      <includes>
        <include>**/*</include>
      </includes>
    </fileSet>
    <fileSet>
      <directory>${basedir}</directory>
      <outputDirectory>/share/doc/hadoop/${hadoop.component}</outputDirectory>
      <includes>
        <include>*.txt</include>
      </includes>
    </fileSet>
    <fileSet>
      <directory>${project.build.directory}/webapps</directory>
      <outputDirectory>/share/hadoop/${hadoop.component}/webapps</outputDirectory>
    </fileSet>
    <fileSet>
      <directory>${basedir}/src/main/conf</directory>
      <outputDirectory>/share/hadoop/${hadoop.component}/templates</outputDirectory>
      <includes>
        <include>*-site.xml</include>
      </includes>
    </fileSet>
    <fileSet>
      <directory>${basedir}/src/main/packages/templates/conf</directory>
      <outputDirectory>/share/hadoop/${hadoop.component}/templates/conf</outputDirectory>
      <includes>
        <include>*</include>
      </includes>
    </fileSet>
    <fileSet>
      <directory>${basedir}/dev-support/jdiff</directory>
      <outputDirectory>/share/hadoop/${hadoop.component}/jdiff</outputDirectory>
    </fileSet>
    <fileSet>
      <directory>${project.build.directory}/site/jdiff/xml</directory>
      <outputDirectory>/share/hadoop/${hadoop.component}/jdiff</outputDirectory>
    </fileSet>
    <fileSet>
      <directory>${project.build.directory}/site</directory>
      <outputDirectory>/share/doc/hadoop/${hadoop.component}</outputDirectory>
    </fileSet>
    <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-api/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
       <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
       <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-unmanaged-am-launcher/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
      <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-client/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
       <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-common/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
       <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
      <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
       <includes>
         <include>*-sources.jar</include>
      </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
      <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
       <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
     <fileSet>
       <directory>hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/target</directory>
       <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
       <includes>
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
  </fileSets>
  <moduleSets>
    <moduleSet>
      <binaries>
        <outputDirectory>share/hadoop/${hadoop.component}</outputDirectory>
        <includeDependencies>false</includeDependencies>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.hadoop:hadoop-yarn-server-tests</include>
      </includes>
      <binaries>
        <attachmentClassifier>tests</attachmentClassifier>
        <outputDirectory>share/hadoop/${hadoop.component}</outputDirectory>
        <includeDependencies>false</includeDependencies>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
  <dependencySets>
    <dependencySet>
      <useProjectArtifact>false</useProjectArtifact>
      <outputDirectory>/share/hadoop/${hadoop.component}/lib</outputDirectory>
      <!-- Exclude hadoop artifacts. They will be found via HADOOP* env -->
      <excludes>
        <exclude>org.apache.hadoop:hadoop-common</exclude>
        <exclude>org.apache.hadoop:hadoop-hdfs</exclude>
        <!-- use slf4j from common to avoid multiple binding warnings -->
        <exclude>org.slf4j:slf4j-api</exclude>
        <exclude>org.slf4j:slf4j-log4j12</exclude>
        <exclude>org.hsqldb:hsqldb</exclude>
      </excludes>
    </dependencySet>
    <dependencySet>
      <useProjectArtifact>false</useProjectArtifact>
      <outputDirectory>/share/hadoop/${hadoop.component}/lib-examples</outputDirectory>
      <includes>
        <include>org.hsqldb:hsqldb</include>
      </includes>
    </dependencySet>
  </dependencySets>
</assembly>
