now producing exact same assembly structure and content as M4 distribution zip. see src/assembly/distribution.xml and src/main/scripts/build-distribution.sh

This commit is contained in:
Chris Beams
2010-05-28 05:44:04 +00:00
parent c709590c2d
commit 5c77f08fa9
10 changed files with 329 additions and 64 deletions

214
pom.xml
View File

@@ -38,58 +38,30 @@
<org.mockito.version>1.8.4</org.mockito.version>
<org.slf4j.version>1.5.10</org.slf4j.version>
<org.springframework.version>3.0.2.RELEASE</org.springframework.version>
<org.springframework.security.version>2.0.5.RELEASE</org.springframework.security.version>
<org.springframework.ws.version>1.5.8</org.springframework.ws.version>
</properties>
<profiles>
<profile>
<id>non-strict</id>
<properties>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
</profile>
<profile>
<id>fast</id>
<properties>
<maven.test.skip>true</maven.test.skip>
<maven.javadoc.skip>true</maven.javadoc.skip>
</properties>
</profile>
<profile>
<id>staging</id>
<distributionManagement>
<site>
<id>staging</id>
<url>file:///${user.dir}/target/staging</url>
<url>file:///${java.io.tmpdir}/target/site</url>
</site>
<repository>
<id>staging</id>
<url>file:///${user.dir}/target/staging</url>
<url>file:///${java.io.tmpdir}/target/repository</url>
</repository>
<snapshotRepository>
<id>staging</id>
<url>file:///${user.dir}/target/staging</url>
<url>file:///${java.io.tmpdir}/target/snapshotRepository</url>
</snapshotRepository>
</distributionManagement>
</profile>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<distributionManagement>
<!-- see 'staging' profile for dry-run deployment settings -->
<downloadUrl>http://static.springframework.org/spring-integration/site/downloads/releases.html</downloadUrl>
<repository>
<id>local</id>
@@ -236,6 +208,178 @@
</postProcess>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<!-- copies a tightly-controlled set of dependencies into ${project.build.dir}/dependency
in order to be added to the distribution jar during the assembly process.
WARNING: any new dependencies added to project pom files over time must be added explicitly
to this list if they are to make it into the distribution zip. This section should be
considered fragile. Ideally, we would use the 'copy-dependencies' goal of the
maven-dependency-plugin, which automatically adds all project dependencies, but it does
not offer enough fine-grained control over what jars are added and which are not.
NOTE: an unfortunate side effect of this plugin is that it runs not just once, but for
every module in the build. This is annoying but harmless, and adds only a few seconds
to the overall build time. It also creates a false sense of size in the target directories
but again this is probably negligible.
see src/assembly/distribution.xml
see http://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html
-->
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${org.springframework.security.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
<version>${org.springframework.ws.version}</version>
</artifactItem>
<artifactItem>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-xml</artifactId>
<version>${org.springframework.ws.version}</version>
</artifactItem>
<artifactItem>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</artifactItem>
<artifactItem>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
</artifactItem>
<artifactItem>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</artifactItem>
<artifactItem>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</artifactItem>
<artifactItem>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.1</version>
</artifactItem>
<artifactItem>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</artifactItem>
<artifactItem>
<groupId>org.apache.ws.commons.schema</groupId>
<artifactId>XmlSchema</artifactId>
<version>1.3.2</version>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<!-- run `mvn package assembly:assembly` to trigger assembly creation.
see http://www.sonatype.com/books/mvnref-book/reference/assemblies-set-dist-assemblies.html -->
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<inherited>false</inherited>
<configuration>
<descriptors>
<descriptor>src/assembly/distribution.xml</descriptor>
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
@@ -306,7 +450,6 @@
</groups>
<excludePackageNames>org.springframework.integration.samples</excludePackageNames>
<links>
<!-- TODO: examine JavaDoc warnings and see what other api links are needed -->
<link>http://static.springframework.org/spring/docs/${org.springframework.version}/javadoc-api</link>
<link>http://java.sun.com/javase/6/docs/api</link>
</links>
@@ -361,7 +504,6 @@
</pluginRepository>
</pluginRepositories>
<dependencies>
<!-- including log4j to quell respect src/test log4j.xml settings -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>

View File

@@ -1,31 +1,10 @@
SPRING INTEGRATION 2.0.0 Milestone 5 (TBD, 2010)
--------------------------------------------------
TODO: complete
To find out what has changed since version 1.0.4 or 2.0 M3, see 'changelog.txt'
project distribution zip file can be built by executing
Please consult the documentation located within the 'docs/reference' directory of this
release and also visit the official Spring Integration home at:
http://www.springsource.org/spring-integration
src/main/scripts/build-distribution.sh
There you will find links to the forum, issue tracker, and several other resources.
To build and run the sample applications that are included with this distribution,
view the README.txt file in the 'spring-integration-samples' directory.
licensing, changelog and other project information can be found under
To checkout the project from the SVN head and build from source, do the following
(NOTE: this requires Maven 2.1.0):
svn co https://src.springsource.org/svn/spring-integration/trunk .
cd build-spring-integration
mvn package
The result is available as a zip file in "target/artifacts"
An expanded version is also available in "target/package-expanded"
To build the JavaDoc, run `mvn javadoc:aggregate` from within the root directory. The
result will be available in 'target/site/apidocs'.
The projects are Maven enabled, so you should be able to import them into any IDE that
has support for Maven (2.1.0 or greater). The SpringSource Tool Suite (STS) is
ships with support for Maven projects, is free-of-charge and is the recommended IDE
for use with Spring Integration (http://springsource.com/products/sts).
src/main/resources

View File

@@ -52,7 +52,7 @@
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>2.0.5.RELEASE</version>
<version>${org.springframework.security.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>

View File

@@ -46,7 +46,7 @@
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
<version>1.5.8</version>
<version>${org.springframework.ws.version}</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<!-- distribution assembly descriptor. packages up jars, source jars, documentation,
dependencies and other resources into a single archive suitable for download and
standalone use.
see pom.xml 'maven-assembly-plugin' declaration
see src/main/scripts/build-distribution.sh
see http://www.sonatype.com/books/mvnref-book/reference/assemblies-set-dist-assemblies.html -->
<id>distribution</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
<!-- adds readme and other textfiles to the root of the distribution archive -->
<directory>src/main/resources</directory>
<includes>
<include>changelog.txt</include>
<include>readme.txt</include>
<include>license.txt</include>
<include>notice.txt</include>
</includes>
<outputDirectory/>
<lineEnding>dos</lineEnding>
</fileSet>
<fileSet>
<!-- adds dependency jars to the distribution archive under the 'lib' directory
see pom.xml 'maven-dependency-plugin' declaration -->
<directory>${project.build.directory}/dependency</directory>
<includes>
<include>**/*.jar</include>
</includes>
<outputDirectory>lib</outputDirectory>
</fileSet>
<fileSet>
<!-- adds reference manual (html and pdf) to the distribution archive under the
'docs/reference' directory
see pom.xml 'maven-javadoc-plugin' declaration -->
<directory>target/site/reference</directory>
<outputDirectory>docs/reference</outputDirectory>
</fileSet>
<fileSet>
<!-- adds javadoc html to the distribution archive under the 'docs/javadoc' directory
see pom.xml 'maven-javadoc-plugin' declaration -->
<directory>target/site/apidocs</directory>
<outputDirectory>docs/javadoc</outputDirectory>
</fileSet>
<fileSet>
<!-- adds sample projects distribution archive under the 'samples' directory -->
<directory>spring-integration-samples</directory>
<outputDirectory>samples</outputDirectory>
</fileSet>
</fileSets>
<moduleSets>
<moduleSet>
<!-- adds module jars to the distribution archive under the 'dist' directory -->
<includes>
<include>org.springframework.integration:spring-integration-core</include>
<include>org.springframework.integration:spring-integration-event</include>
<include>org.springframework.integration:spring-integration-file</include>
<include>org.springframework.integration:spring-integration-http</include>
<include>org.springframework.integration:spring-integration-httpinvoker</include>
<include>org.springframework.integration:spring-integration-ip</include>
<include>org.springframework.integration:spring-integration-jdbc</include>
<include>org.springframework.integration:spring-integration-jms</include>
<include>org.springframework.integration:spring-integration-jmx</include>
<include>org.springframework.integration:spring-integration-mail</include>
<include>org.springframework.integration:spring-integration-rmi</include>
<include>org.springframework.integration:spring-integration-security</include>
<include>org.springframework.integration:spring-integration-stream</include>
<include>org.springframework.integration:spring-integration-test</include>
<include>org.springframework.integration:spring-integration-ws</include>
<include>org.springframework.integration:spring-integration-xml</include>
</includes>
<binaries>
<outputDirectory>dist</outputDirectory>
<includeDependencies>false</includeDependencies>
<unpack>false</unpack>
</binaries>
</moduleSet>
<moduleSet>
<!-- adds module source jars to the distribution archive under the 'src' directory
see pom.xml 'maven-source-plugin' declaration -->
<includes>
<include>org.springframework.integration:spring-integration-core</include>
<include>org.springframework.integration:spring-integration-event</include>
<include>org.springframework.integration:spring-integration-file</include>
<include>org.springframework.integration:spring-integration-http</include>
<include>org.springframework.integration:spring-integration-httpinvoker</include>
<include>org.springframework.integration:spring-integration-ip</include>
<include>org.springframework.integration:spring-integration-jdbc</include>
<include>org.springframework.integration:spring-integration-jms</include>
<include>org.springframework.integration:spring-integration-jmx</include>
<include>org.springframework.integration:spring-integration-mail</include>
<include>org.springframework.integration:spring-integration-rmi</include>
<include>org.springframework.integration:spring-integration-security</include>
<include>org.springframework.integration:spring-integration-stream</include>
<include>org.springframework.integration:spring-integration-test</include>
<include>org.springframework.integration:spring-integration-ws</include>
<include>org.springframework.integration:spring-integration-xml</include>
</includes>
<binaries>
<attachmentClassifier>sources</attachmentClassifier>
<outputDirectory>src</outputDirectory>
<includeDependencies>false</includeDependencies>
<unpack>false</unpack>
</binaries>
</moduleSet>
</moduleSets>
</assembly>

View File

@@ -0,0 +1,31 @@
SPRING INTEGRATION 2.0.0 Milestone 5 (TBD, 2010)
--------------------------------------------------
To find out what has changed since version 1.0.4 or 2.0 M3, see 'changelog.txt'
Please consult the documentation located within the 'docs/reference' directory of this
release and also visit the official Spring Integration home at:
http://www.springsource.org/spring-integration
There you will find links to the forum, issue tracker, and several other resources.
To build and run the sample applications that are included with this distribution,
view the README.txt file in the 'spring-integration-samples' directory.
To checkout the project from the SVN head and build from source, do the following
(NOTE: this requires Maven 2.1.0):
svn co https://src.springsource.org/svn/spring-integration/trunk .
cd build-spring-integration
mvn package
The result is available as a zip file in "target/artifacts"
An expanded version is also available in "target/package-expanded"
To build the JavaDoc, run `mvn javadoc:aggregate` from within the root directory. The
result will be available in 'target/site/apidocs'.
The projects are Maven enabled, so you should be able to import them into any IDE that
has support for Maven (2.1.0 or greater). The SpringSource Tool Suite (STS) is
ships with support for Maven projects, is free-of-charge and is the recommended IDE
for use with Spring Integration (http://springsource.com/products/sts).

View File

@@ -0,0 +1,2 @@
#!/bin/sh
mvn -Dmaven.test.skip=true clean package javadoc:aggregate docbkx:generate-pdf docbkx:generate-html assembly:assembly