[Build] Generate correct source tarball
Disable generation of source tarball inherited from Apache parent pom
since the name of the artifact does not adhere to
apche-crail-X.Y-incubating-src. Instead generate source tarball in
the assembly module. Add excludes to avoid committing build files.
https://jira.apache.org/jira/projects/CRAIL/issues/CRAIL-56
Signed-off-by: Jonas Pfefferle <pepperjo@apache.org>
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 4844021..0a8e7a8 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -118,7 +118,7 @@
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
- <id>dist</id>
+ <id>binary-release-assembly-crail</id>
<phase>package</phase>
<goals>
<goal>single</goal>
@@ -130,11 +130,23 @@
</descriptors>
</configuration>
</execution>
+ <execution>
+ <id>source-release-assembly-crail</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <appendAssemblyId>false</appendAssemblyId>
+ <descriptors>
+ <descriptor>src/main/assembly/source-assembly.xml</descriptor>
+ </descriptors>
+ <finalName>apache-crail-${project.version}-src</finalName>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ </configuration>
+ </execution>
</executions>
</plugin>
-
-
-
</plugins>
</build>
</project>
diff --git a/assembly/src/main/assembly/source-assembly.xml b/assembly/src/main/assembly/source-assembly.xml
new file mode 100644
index 0000000..0aa0297
--- /dev/null
+++ b/assembly/src/main/assembly/source-assembly.xml
@@ -0,0 +1,92 @@
+<?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>
+
+
+ <!-- scm -->
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore(/.*)?]
+ </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>**/*.swp</exclude>
+ <exclude>doc/build/**</exclude>
+ </excludes>
+ </fileSet>
+ <!-- LICENSE, NOTICE, DEPENDENCIES -->
+ <fileSet>
+ <directory>${project.build.directory}/maven-shared-archive-resources/META-INF
+ </directory>
+ <outputDirectory/>
+ </fileSet>
+ </fileSets>
+</assembly>
diff --git a/pom.xml b/pom.xml
index 0d6e199..c62bc09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,6 @@
<properties>
<build.copyDependenciesPhase>package</build.copyDependenciesPhase>
<hadoop.version>2.7.3</hadoop.version>
- <sourceReleaseAssemblyDescriptor>source-release-tar</sourceReleaseAssemblyDescriptor>
</properties>
<profiles>
@@ -154,15 +153,7 @@
<executions>
<execution>
<id>source-release-assembly</id>
- <phase>package</phase>
- <configuration combine.self="override">
- <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
- <finalName>apache-crail-${project.version}</finalName>
- <tarLongFileMode>posix</tarLongFileMode>
- <descriptorRefs>
- <descriptorRef>src</descriptorRef>
- </descriptorRefs>
- </configuration>
+ <phase>none</phase>
</execution>
</executions>
</plugin>