<?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>source-release</id>
  <formats>
    <format>tar.gz</format>
  </formats>
  <fileSets>
    <!-- main project directory structure -->
    <fileSet>
      <directory>.</directory>
      <outputDirectory/>
      <useDefaultExcludes>true</useDefaultExcludes>
      <excludes>
        <!-- build output -->
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${project.build.directory}.*]
        </exclude>

        <!-- NOTE: Most of the following excludes should not be required
          if the standard release process is followed. This is because the release
          plugin checks out project sources into a location like target/checkout, then
          runs the build from there. The result is a source-release archive that comes
          from a pretty clean directory structure. HOWEVER, if the release plugin is
          configured to run extra goals or generate a project website, it's definitely
          possible that some of these files will be present. So, it's safer to exclude
          them. -->

        <!-- IDEs -->
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.idea(/.*)?]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?out(/.*)?]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]
        </exclude>

        <!-- Gradle -->

        <exclude>.gradle/**</exclude>
        <exclude>build/**</exclude>
        <exclude>shaded/*/build/**</exclude>
        <exclude>*/build/**</exclude>

        <!-- scm -->
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore(/.*)?]
        </exclude>

        <exclude>**/.buildpath</exclude>
        <exclude>**/sandbox/**</exclude>

        <!-- misc -->
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]
        </exclude>

        <!-- release-plugin temp files -->
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]
        </exclude>
        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
        </exclude>
      </excludes>
    </fileSet>
    <!-- LICENSE, NOTICE, DEPENDENCIES, git.properties, etc. calculated at build time -->
    <fileSet>
      <directory>${project.build.directory}/maven-shared-archive-resources/META-INF
      </directory>
      <outputDirectory/>
    </fileSet>
    <fileSet>
      <directory>${project.build.directory}</directory>
      <includes>
        <include>git.properties</include>
      </includes>
      <outputDirectory/>
    </fileSet>
  </fileSets>
</assembly>
