<?xml version="1.0"?>
<!--
  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>bin</id>
    <formats>
        <format>dir</format>
        <format>zip</format>
        <format>tar.gz</format>
    </formats>
    <includeBaseDirectory>true</includeBaseDirectory>
    <baseDirectory>nifi-${project.version}</baseDirectory>

    <componentDescriptors>
        <componentDescriptor>src/main/assembly/common.xml</componentDescriptor>
    </componentDescriptors>

    <dependencySets>
        <!-- Write out all dependency artifacts to lib directory, exclude Ranger dependencies -->
        <dependencySet>
            <scope>runtime</scope>
            <useProjectArtifact>false</useProjectArtifact>
            <outputDirectory>lib</outputDirectory>
            <directoryMode>0770</directoryMode>
            <fileMode>0660</fileMode>
            <useTransitiveFiltering>true</useTransitiveFiltering>
            <excludes>
                <exclude>nifi-bootstrap</exclude>
                <exclude>nifi-resources</exclude>
                <exclude>nifi-docs</exclude>
                <exclude>org.apache.nifi:nifi-ranger-resources:jar</exclude>

                <!-- exclude jaxb/activation/annotation libs from lib, they'll be included in the java11 subdir -->
                <!-- TODO: remove these once minimum Java version is 11 -->
                <exclude>javax.xml.bind:jaxb-api</exclude>
                <exclude>com.sun.xml.bind:jaxb-impl</exclude>
                <exclude>com.sun.xml.bind:jaxb-core</exclude>
                <exclude>javax.activation:javax.activation-api</exclude>
                <exclude>javax.annotation:javax.annotation-api</exclude>
            </excludes>
        </dependencySet>
        <!-- Write out dependencies for Ranger's credentialbuilder to ext/ranger/install/lib -->
        <dependencySet>
            <scope>runtime</scope>
            <useProjectArtifact>false</useProjectArtifact>
            <outputDirectory>ext/ranger/install/lib/</outputDirectory>
            <directoryMode>0770</directoryMode>
            <fileMode>0660</fileMode>
            <useTransitiveFiltering>true</useTransitiveFiltering>
            <includes>
                <include>org.apache.nifi:nifi-ranger-resources:jar</include>
                <include>org.slf4j:slf4j-api</include>
            </includes>
        </dependencySet>
        <!-- Write out scripts from nifi-ranger-resources to ext/ranger/scripts -->
        <dependencySet>
            <scope>runtime</scope>
            <useProjectArtifact>false</useProjectArtifact>
            <outputDirectory>ext/ranger/</outputDirectory>
            <directoryMode>0770</directoryMode>
            <fileMode>0770</fileMode>
            <useTransitiveFiltering>false</useTransitiveFiltering>
            <includes>
                <include>org.apache.nifi:nifi-ranger-resources:jar</include>
            </includes>
            <unpack>true</unpack>
            <unpackOptions>
                <filtered>true</filtered>
                <includes>
                    <include>scripts/</include>
                </includes>
            </unpackOptions>
        </dependencySet>
    </dependencySets>

</assembly>
