ACTIVEMQ6-9 - create html user manual for site

https://issues.apache.org/jira/browse/ACTIVEMQ6-9

The release profile now builds a static html version of the user manual for the web site using gitbook.

Also added a new profile 'distro' that builds the distribution but without the docs.

Updated read me with build process.
This commit is contained in:
Andy Taylor 2014-12-09 08:35:33 +00:00
parent d7c7d86d55
commit 395b90e066
6 changed files with 141 additions and 96 deletions

View File

@ -25,6 +25,31 @@ unsolved [1]. This is specially true for the 'site' plugin [2].
[1]: <https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html>
[2]: <https://cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html>
## building the distribution
If you want to build the full release with documentation, Javadocs and the full web site then run the following:
```% mvn -Prelease package```
If you want to install it to your local maven repo then run
```% mvn -Prelease install```
The full release uses gitbook to build a static website from the documentation, if you don't have gitbook installed then
install gitbook using npm
```npm install -g gitbook```
If you dont have npm installed then you would need to install that first, on Fedora this would be
```yum install npm```
It is possible to build a distribution with out the manuals and javadocs if you dont have or want gitbook installed,
simply run
```% mvn -Prelease distro```
## Tests
To run the unit tests:
@ -71,14 +96,6 @@ If you are trying to copy the examples somewhere else and modifying them. Consid
cd examples/jms/topic && mvn dependency:list
```
## To build a release artifact
```% mvn -Prelease install```
## To build the release bundle
```% mvn -Prelease package```
## Eclipse
We recommend using Eclipse Kepler (4.3), due to the built-in support

View File

@ -47,50 +47,81 @@
<properties>
<activemq.basedir>${project.basedir}/..</activemq.basedir>
<webapp-dir>${project.artifactId}-${project.version}</webapp-dir>
<webapp-outdir>${basedir}/target/classes/user-manual</webapp-outdir>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
<executions>
<execution>
<id>javadoc-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<doclet>org.jboss.apiviz.APIviz</doclet>
<docletArtifact>
<groupId>org.jboss.apiviz</groupId>
<artifactId>apiviz</artifactId>
<version>1.3.2.GA</version>
</docletArtifact>
<useStandardDocletOptions>true</useStandardDocletOptions>
<minmemory>128m</minmemory>
<maxmemory>512m</maxmemory>
<quiet>false</quiet>
<!-- switch on dependency-driven aggregation -->
<includeDependencySources>true</includeDependencySources>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
<executions>
<execution>
<id>javadoc-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<doclet>org.jboss.apiviz.APIviz</doclet>
<docletArtifact>
<groupId>org.jboss.apiviz</groupId>
<artifactId>apiviz</artifactId>
<version>1.3.2.GA</version>
</docletArtifact>
<useStandardDocletOptions>true</useStandardDocletOptions>
<minmemory>128m</minmemory>
<maxmemory>512m</maxmemory>
<quiet>false</quiet>
<!-- switch on dependency-driven aggregation -->
<includeDependencySources>true</includeDependencySources>
<dependencySourceIncludes>
<!-- include ONLY dependencies I control -->
<dependencySourceInclude>org.apache.activemq:activemq-core-client</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-jms-client</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-server</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-jms-server</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-journal</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-selector</dependencySourceInclude>
</dependencySourceIncludes>
<quiet>false</quiet>
<aggregate>true</aggregate>
<excludePackageNames>org.apache.activemq.core:org.apache.activemq.utils</excludePackageNames>
</configuration>
<dependencySourceIncludes>
<!-- include ONLY dependencies I control -->
<dependencySourceInclude>org.apache.activemq:activemq-core-client</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-jms-client</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-server</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-jms-server</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-journal</dependencySourceInclude>
<dependencySourceInclude>org.apache.activemq:activemq-selector</dependencySourceInclude>
</dependencySourceIncludes>
<quiet>false</quiet>
<aggregate>true</aggregate>
<excludePackageNames>org.apache.activemq.core:org.apache.activemq.utils</excludePackageNames>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>generate-sources</phase>
<configuration>
<target>
<!-- lets generate the gitbook -->
<mkdir dir="${webapp-outdir}/gitbook"/>
<echo>executing gitbook</echo>
<exec executable="gitbook">
<arg value="build"/>
<arg value="${basedir}/../docs/user-manual/en"/>
<arg value="--output=${webapp-outdir}"/>
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -67,11 +67,6 @@
<artifactId>activemq-tools</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-jboss-as-integration</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-ra</artifactId>
@ -82,11 +77,6 @@
<artifactId>activemq-spring-integration</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-twitter-integration</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-vertx-integration</artifactId>
@ -160,12 +150,6 @@
<artifactId>activemq-website</artifactId>
<version>6.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-website</artifactId>
<version>6.0.0-SNAPSHOT</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
@ -179,33 +163,25 @@
<artifactId>jolokia-war</artifactId>
<type>war</type>
</dependency>
<!-- javadoc -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core-client</artifactId>
<version>${project.version}</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-server</artifactId>
<version>${project.version}</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-jms-server</artifactId>
<version>${project.version}</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-jms-client</artifactId>
<version>${project.version}</version>
<classifier>javadoc</classifier>
</dependency>
</dependencies>
<profiles>
<profile>
<id>release</id>
<dependencies>
<!-- javadoc -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-website</artifactId>
<version>6.0.0-SNAPSHOT</version>
<classifier>javadoc</classifier>
</dependency>
</dependencies>
<build>
</build>
</profile>
</profiles>
<build>
<resources>
<resource>

View File

@ -34,6 +34,7 @@
<!-- dependencies -->
<include>org.jboss.spec.javax.jms:jboss-jms-api_2.0_spec</include>
<include>org.jboss.logmanager:jboss-logmanager</include>
<include>org.jboss.logging:jboss-logging</include>
<include>org.jboss:jboss-common-core</include>
<include>io.netty:netty-all</include>
<include>org.apache.qpid:proton-j</include>

View File

@ -23,11 +23,6 @@
<artifactId>activemq-jms-server</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-jboss-as-integration</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-transaction-spi</artifactId>

25
pom.xml
View File

@ -475,6 +475,31 @@
<module>tests</module>
</modules>
</profile>
<profile>
<id>distro</id>
<modules>
<module>activemq-dto</module>
<module>activemq-web</module>
<module>activemq-website</module>
<module>activemq-bootstrap</module>
<module>activemq-commons</module>
<module>activemq-selector</module>
<module>activemq-core-client</module>
<module>activemq-server</module>
<module>activemq-jms-client</module>
<module>activemq-jms-server</module>
<module>activemq-native</module>
<module>activemq-journal</module>
<module>activemq-ra</module>
<module>activemq-rest</module>
<module>activemq-tools</module>
<module>activemq-service-extensions</module>
<module>integration/activemq-spring-integration</module>
<module>integration/activemq-aerogear-integration</module>
<module>integration/activemq-vertx-integration</module>
<module>distribution</module>
</modules>
</profile>
<profile>
<id>release</id>
<modules>