You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by sa...@apache.org on 2016/10/04 10:26:19 UTC

[2/2] ode-console git commit: Enhanced source release plugin to exclude nodejs binaries and build directories

Enhanced source release plugin to exclude nodejs binaries and build directories


Project: http://git-wip-us.apache.org/repos/asf/ode-console/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode-console/commit/59d39553
Tree: http://git-wip-us.apache.org/repos/asf/ode-console/tree/59d39553
Diff: http://git-wip-us.apache.org/repos/asf/ode-console/diff/59d39553

Branch: refs/heads/master
Commit: 59d39553160c63dda76b4ab4e1cdcd436991604e
Parents: b7c50f9
Author: sathwik <sa...@apache.org>
Authored: Tue Oct 4 15:55:42 2016 +0530
Committer: sathwik <sa...@apache.org>
Committed: Tue Oct 4 15:55:42 2016 +0530

----------------------------------------------------------------------
 assemblies/source-release.xml | 27 +++++++++++++
 assemblies/source-shared.xml  | 78 ++++++++++++++++++++++++++++++++++++++
 pom.xml                       | 34 +++++++++++++++++
 3 files changed, 139 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ode-console/blob/59d39553/assemblies/source-release.xml
----------------------------------------------------------------------
diff --git a/assemblies/source-release.xml b/assemblies/source-release.xml
new file mode 100644
index 0000000..3c62385
--- /dev/null
+++ b/assemblies/source-release.xml
@@ -0,0 +1,27 @@
+<?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>zip</format>
+  </formats>
+  <componentDescriptors>
+    <componentDescriptor>source-shared.xml</componentDescriptor>
+  </componentDescriptors>
+</assembly>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode-console/blob/59d39553/assemblies/source-shared.xml
----------------------------------------------------------------------
diff --git a/assemblies/source-shared.xml b/assemblies/source-shared.xml
new file mode 100644
index 0000000..897dc58
--- /dev/null
+++ b/assemblies/source-shared.xml
@@ -0,0 +1,78 @@
+<?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>
+  <fileSets>
+    <!-- main project directory structure -->
+    <fileSet>
+      <directory>.</directory>
+      <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/)(.*/)?\.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>
+        
+        <!-- Exlude downloaded nodejs executables, node_modules,bower_components and build directories created during the build -->
+        <exclude>node_modules/**</exclude>
+        <exclude>node/**</exclude>
+        <exclude>bower_components/**</exclude>
+        <exclude>.tmp/**</exclude>
+        <exclude>dist/**</exclude>
+        <exclude>etc/**</exclude>
+      </excludes>
+    </fileSet>
+    <!-- license, readme, etc. calculated at build time -->
+    <fileSet>
+      <directory>${project.build.directory}/maven-shared-archive-resources/META-INF</directory>
+      <outputDirectory></outputDirectory>
+    </fileSet>
+  </fileSets>
+</component>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode-console/blob/59d39553/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index ef1d1d5..50da66b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -176,4 +176,38 @@ under the License.
             </plugin>
         </plugins>
     </build>
+
+    <!--
+        Apache release profile creates a source release which includes all the contents in the project directory,
+        this results in inclusion of unwanted nodejs binaries, node_modules, and build directories created during the build.
+        Hence we add exclusions for these binaries and build directories.
+    -->
+    <profiles>
+        <profile>
+            <id>apache-release</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-assembly-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>source-release-assembly</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>single</goal>
+                                </goals>
+                                <configuration>
+                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+                                    <descriptors>
+                                        <descriptor>assemblies/source-release.xml</descriptor>
+                                    </descriptors>
+                                    <tarLongFileMode>gnu</tarLongFileMode>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>
\ No newline at end of file