<?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. | |
--> | |
<!-- create a source assembly for multi-module projects | |
Runs only at the top level --> | |
<assembly> | |
<id>source-release</id> | |
<formats> | |
<format>zip</format> | |
</formats> | |
<moduleSets> | |
<moduleSet> | |
<sources> | |
<fileSets> | |
<fileSet> | |
<outputDirectory>/</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/)(.*/)?[^/]*\.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> | |
</excludes> | |
</fileSet> | |
</fileSets> | |
</sources> | |
</moduleSet> | |
</moduleSets> | |
<fileSets> | |
<fileSet> | |
<directory>.</directory> | |
<outputDirectory>/${project.artifactId}</outputDirectory> | |
<useDefaultExcludes>true</useDefaultExcludes> | |
<excludes> | |
<!-- build output --> | |
<!-- (?!xxx)means 0 width negative match for xxx--> | |
<!-- any dir except target/ --> | |
<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/)(.*/)?[^/]*\.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> | |
</excludes> | |
</fileSet> | |
<!-- license, readme, etc. calculated at build time | |
overrides any copied by the above, I think (order dependent?) --> | |
<fileSet> | |
<directory>${project.build.directory}/maven-shared-archive-resources/META-INF</directory> | |
<outputDirectory>/</outputDirectory> | |
</fileSet> | |
<!-- files that should be copied from the top level project to the top of the archive --> | |
<fileSet> | |
<directory>.</directory> | |
<outputDirectory>/</outputDirectory> | |
<fileMode>644</fileMode> | |
<directoryMode>755</directoryMode> | |
<includes> | |
<include>README*</include> | |
<include>readme*</include> | |
<include>LICENSE*</include> | |
<include>NOTICE*</include> | |
<include>RELEASE_NOTES*</include> | |
<include>Release-Notes*</include> | |
<include>issuesFixed/**</include> | |
</includes> | |
</fileSet> | |
</fileSets> | |
</assembly> |