<?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>storm-plugin</id>
  <formats>
    <format>tar.gz</format>
    <format>zip</format>
  </formats>
  <baseDirectory>${project.parent.name}-${project.version}-storm-plugin</baseDirectory>
  <includeBaseDirectory>true</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-storm-plugin-shim</include>
        <include>org.apache.ranger:ranger-plugin-classloader</include>
      </includes>
      <binaries>
        <outputDirectory>lib</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-plugins-audit</include>
        <include>org.apache.ranger:ranger-plugins-cred</include>
        <include>org.apache.ranger:ranger-plugins-common</include>
        <include>org.apache.ranger:ranger-storm-plugin</include>
      </includes>
      <binaries>
        <outputDirectory>lib/ranger-storm-plugin-impl</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
        <directoryMode>755</directoryMode>
        <fileMode>644</fileMode>
        <dependencySets>
          <dependencySet>
            <outputDirectory>lib/ranger-storm-plugin-impl</outputDirectory>
            <unpack>false</unpack>
            <includes>
              <include>commons-configuration:commons-configuration</include>
              <include>org.apache.hadoop:hadoop-common</include>
              <include>org.apache.hadoop:hadoop-common-plus</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:${google.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>com.google.protobuf:protobuf-java:jar:${protobuf-java.version}</include>
              <include>org.apache.hadoop:hadoop-hdfs</include>
              <include>org.apache.htrace:htrace-core:jar:${htrace-core.version}</include>
              <include>commons-cli:commons-cli:jar:${commons.cli.version}</include>
              <include>commons-lang:commons-lang:jar:${commons.lang.version}</include>
              <include>commons-io:commons-io:jar:${commons.io.version}</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.apache.solr:solr-solrj</include>
              <include>commons-codec:commons-codec</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>
            </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</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</include>
              <include>com.google.guava:guava:jar:${google.guava.version}</include>
              <include>org.slf4j:slf4j-api:jar:${slf4j-api.version}</include>
              <include>org.apache.hadoop:hadoop-common:jar</include>
              <include>org.apache.hadoop:hadoop-auth:jar</include>
              <include>org.apache.ranger:ranger-plugins-cred</include>
              <include>org.apache.ranger:credentialbuilder</include>
            </includes>
          </dependencySet>
          <dependencySet>
            <outputDirectory>lib/</outputDirectory>
            <unpack>false</unpack>
            <directoryMode>755</directoryMode>
            <fileMode>644</fileMode>
            <includes>
              <include>com.sun.jersey:jersey-bundle:jar:${jersey-bundle.version}</include>
            </includes>
          </dependencySet>
        </dependencySets>
      </binaries>
    </moduleSet>

    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      <includes>
        <include>org.apache.ranger:ranger-plugins-installer</include>
        <include>org.apache.ranger:credentialbuilder</include>
      </includes>
      <binaries>
        <outputDirectory>install/lib</outputDirectory>
        <includeDependencies>false</includeDependencies>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
  <fileSets>
    <!-- conf.templates for enable -->
    <fileSet>
      <outputDirectory>install/conf.templates/enable</outputDirectory>
      <directory>../storm-agent/conf</directory>
      <excludes>
        <exclude>*.sh</exclude>
      </excludes>
      <fileMode>700</fileMode>
    </fileSet>
    <fileSet>
      <outputDirectory>install/conf.templates/disable</outputDirectory>
      <directory>../storm-agent/disable-conf</directory>
      <fileMode>700</fileMode>
    </fileSet>
    <fileSet>
      <outputDirectory>install/conf.templates/default</outputDirectory>
      <directory>../storm-agent/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>
  <!-- enable/disable script for Plugin -->
  <files>
    <file>
      <source>${project.parent.basedir}/agents-common/scripts/enable-agent.sh</source>
      <outputDirectory></outputDirectory>
      <destName>enable-storm-plugin.sh</destName>
      <fileMode>755</fileMode>
    </file>
    <file>
      <source>${project.parent.basedir}/agents-common/scripts/upgrade-plugin.sh</source>
      <outputDirectory></outputDirectory>
      <destName>upgrade-storm-plugin.sh</destName>
      <fileMode>755</fileMode>
    </file>
    <file>
      <source>${project.parent.basedir}/agents-common/scripts/upgrade-plugin.py</source>
      <outputDirectory></outputDirectory>
      <fileMode>755</fileMode>
    </file>
    <file>
      <source>${project.parent.basedir}/security-admin/scripts/ranger_credential_helper.py</source>
      <outputDirectory></outputDirectory>
      <fileMode>755</fileMode>
    </file>
    <file>
      <source>${project.parent.basedir}/agents-common/scripts/enable-agent.sh</source>
      <outputDirectory></outputDirectory>
      <destName>disable-storm-plugin.sh</destName>
      <fileMode>755</fileMode>
    </file>
    <file>
      <source>${project.parent.basedir}/storm-agent/scripts/install.properties</source>
      <outputDirectory></outputDirectory>
      <destName>install.properties</destName>
      <fileMode>755</fileMode>
    </file>
  </files>
</assembly>
