<assembly>
    <id>src</id>
    <baseDirectory>rampart-src-${project.version}</baseDirectory>
    <formats>
        <format>zip</format>
    </formats>

    <fileSets>
        <fileSet>
            <directory>../..</directory>
            <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>
                
                <!-- 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>
                
                <exclude>README</exclude>
            </excludes>
        </fileSet>
    </fileSets>
    <files>
        <file>
            <source>../../README</source>
            <filtered>true</filtered>
        </file>
        <file>
            <source>../../src/site/markdown/release-notes/${release_version}.md</source>
            <destName>RELEASE-NOTE</destName>
        </file>
    </files>
</assembly>
