<?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>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>
                <exclude>ignite-schema-import.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>
                <exclude>ignite-schema-import.sh</exclude>
            </excludes>
        </fileSet>

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