<?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.
-->

<component xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/component/1.1.2"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/component/1.1.2
           http://maven.apache.org/xsd/component-1.1.2.xsd">
    <files>
        <file>
            <source>RELEASE_NOTES.txt</source>
            <outputDirectory>/</outputDirectory>
        </file>

        <file>
            <source>README.txt</source>
            <outputDirectory>/</outputDirectory>
        </file>

        <file>
            <source>MIGRATION_GUIDE.txt</source>
            <outputDirectory>/</outputDirectory>
        </file>

        <file>
            <source>config/ignite-log4j.xml</source>
            <outputDirectory>/config</outputDirectory>
        </file>

        <file>
            <source>config/ignite-log4j2.xml</source>
            <outputDirectory>/config</outputDirectory>
        </file>

        <file>
            <source>config/java.util.logging.properties</source>
            <outputDirectory>/config</outputDirectory>
        </file>
    </files>

    <fileSets>
        <fileSet>
            <directory>bin</directory>
            <outputDirectory>/bin</outputDirectory>
            <includes>
                <include>**/*.bat</include>
                <include>**/*.exe</include>
                <include>**/*.jar</include>
                <include>**/*.txt</include>
            </includes>
            <excludes>
                <exclude>**/*hadoop*.bat</exclude>
                <exclude>igniterouter.bat</exclude>
                <exclude>**/build-classpath.bat</exclude>
                <exclude>ignitevisorcmd.bat</exclude>
            </excludes>
        </fileSet>

        <fileSet>
            <directory>bin</directory>
            <outputDirectory>/bin</outputDirectory>
            <fileMode>0755</fileMode>
            <includes>
                <include>**/*.sh</include>
            </includes>
            <excludes>
                <exclude>**/*hadoop*.sh</exclude>
                <exclude>igniterouter.sh</exclude>
                <exclude>**/build-classpath.sh</exclude>
                <exclude>**/service.sh</exclude>
                <exclude>ignitevisorcmd.sh</exclude>
            </excludes>
        </fileSet>

        <fileSet>
            <directory>config/${ignite.edition}</directory>
            <outputDirectory>/config</outputDirectory>
        </fileSet>
    </fileSets>
</component>
