Author: henning Date: Thu Nov 4 18:19:58 2010 New Revision: 1031123 URL: http://svn.apache.org/viewvc?rev=1031123&view=rev Log: add a tweaked src assembly that builds both zip and tar.gz. Also add a few tweaks for style
Added: commons/proper/vfs/trunk/dist/src/assembly/src.xml (with props) Modified: commons/proper/vfs/trunk/dist/ (props changed) commons/proper/vfs/trunk/dist/pom.xml commons/proper/vfs/trunk/pom.xml Propchange: commons/proper/vfs/trunk/dist/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Thu Nov 4 18:19:58 2010 @@ -0,0 +1,4 @@ +*.iml +target +.* +maven-eclipse.xml Modified: commons/proper/vfs/trunk/dist/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/dist/pom.xml?rev=1031123&r1=1031122&r2=1031123&view=diff ============================================================================== --- commons/proper/vfs/trunk/dist/pom.xml (original) +++ commons/proper/vfs/trunk/dist/pom.xml Thu Nov 4 18:19:58 2010 @@ -114,11 +114,6 @@ limitations under the License. </dependency> </dependencies> - <properties> - <commons.componentid>vfs-dist</commons.componentid> - <vfs.parent.dir>${basedir}/..</vfs.parent.dir> - </properties> - <profiles> <profile> <id>apache-release</id> @@ -130,6 +125,7 @@ limitations under the License. <execution> <id>binary</id> <configuration> + <finalName>commons-vfs-${project.version}</finalName> <descriptors> <descriptor>src/assembly/bin.xml</descriptor> </descriptors> Added: commons/proper/vfs/trunk/dist/src/assembly/src.xml URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/dist/src/assembly/src.xml?rev=1031123&view=auto ============================================================================== --- commons/proper/vfs/trunk/dist/src/assembly/src.xml (added) +++ commons/proper/vfs/trunk/dist/src/assembly/src.xml Thu Nov 4 18:19:58 2010 @@ -0,0 +1,75 @@ +<?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>src</id> + <formats> + <format>zip</format> + <format>tar.gz</format> + </formats> + <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/)(.*/)?[^/]*\.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 --> + <fileSet> + <directory>${project.build.directory}/maven-shared-archive-resources/META-INF</directory> + <outputDirectory>/</outputDirectory> + </fileSet> + </fileSets> +</assembly> Propchange: commons/proper/vfs/trunk/dist/src/assembly/src.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: commons/proper/vfs/trunk/dist/src/assembly/src.xml ------------------------------------------------------------------------------ svn:keywords = Id Author Date Revision Modified: commons/proper/vfs/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/pom.xml?rev=1031123&r1=1031122&r2=1031123&view=diff ============================================================================== --- commons/proper/vfs/trunk/pom.xml (original) +++ commons/proper/vfs/trunk/pom.xml Thu Nov 4 18:19:58 2010 @@ -378,13 +378,60 @@ <url>scp://people.apache.org/www/commons.apache.org/vfs/</url> </site> </distributionManagement> - + + <!-- Releasing VFS as a multi-module build with binary artifacts is somewhat + painful. This profile hooks into the commons-parent and the apache-pom to + get the build done and then uses the assembly to package it up. + --> <profiles> <profile> <id>apache-release</id> + <!-- The binary distribution must be built after all the submodules have been + built. So that happens in an additional sub-project which depends on all + the submodules to build. So the 'dist' submodule is only activated in the + release profile. Otherwise, there is nothing to see here. + --> <modules> <module>dist</module> </modules> + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <!-- As the main Apache pom only builds source zip archives but + commons wants both zip and tar.gz and because this is configured + in the assembly, we need to use a specific assembly. That also allows + nameing the final artifact as -src not -source-release. + --> + <execution> + <id>vfs-source-release-assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <finalName>commons-vfs-${project.version}</finalName> + <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot> + <descriptors> + <descriptor>dist/src/assembly/src.xml</descriptor> + </descriptors> + <tarLongFileMode>gnu</tarLongFileMode> + </configuration> + </execution> + <!-- But the original source build is still hooked up and would + create a second source archive. Luckily, it can be turned off. + --> + <execution> + <id>source-release-assembly</id> + <configuration> + <skipAssembly>true</skipAssembly> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> </profile> </profiles> </project>