343 lines
17 KiB
XML
343 lines
17 KiB
XML
<!--
|
|
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.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-pom</artifactId>
|
|
<version>2.28.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>artemis-website</artifactId>
|
|
<packaging>jar</packaging>
|
|
<name>ActiveMQ Artemis Website</name>
|
|
|
|
<properties>
|
|
<activemq.basedir>${project.basedir}/..</activemq.basedir>
|
|
<webapp-dir>${project.artifactId}-${project.version}</webapp-dir>
|
|
<src-dir-user-manual>${basedir}/../docs/user-manual/en</src-dir-user-manual>
|
|
<scratch-dir-user-manual>${basedir}/target/scratch/user-manual</scratch-dir-user-manual>
|
|
<webapp-outdir-user-manual>${basedir}/target/classes/user-manual</webapp-outdir-user-manual>
|
|
<webapp-outdir-hacking-guide>${basedir}/target/classes/hacking-guide</webapp-outdir-hacking-guide>
|
|
<webapp-outdir-migration-guide>${basedir}/target/classes/migration-guide</webapp-outdir-migration-guide>
|
|
|
|
<placeholderJavadocDir>${basedir}/src/placeholder/javadoc</placeholderJavadocDir>
|
|
<skipPlaceholderJavadocGeneration>false</skipPlaceholderJavadocGeneration>
|
|
|
|
<frontend-maven-plugin-version>1.12.1</frontend-maven-plugin-version>
|
|
<nodeVersion>v16.14.0</nodeVersion>
|
|
<npmVersion>8.3.1</npmVersion>
|
|
<skipWebsiteDocGeneration>false</skipWebsiteDocGeneration>
|
|
<skipWebsiteJavadocGeneration>false</skipWebsiteJavadocGeneration>
|
|
</properties>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- A placeholder content for the assembly. This is disabled when using the
|
|
release profile and thus activating the real (/slow) javadoc generation -->
|
|
<plugin>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>fallback-javadoc-jar</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
<configuration>
|
|
<doctitle>ActiveMQ Artemis ${project.version} API Placeholder</doctitle>
|
|
<minmemory>128m</minmemory>
|
|
<maxmemory>512m</maxmemory>
|
|
<noindex>true</noindex>
|
|
<skip>${skipPlaceholderJavadocGeneration}</skip>
|
|
<javadocDirectory>${placeholderJavadocDir}</javadocDirectory>
|
|
<nohelp>true</nohelp>
|
|
<notimestamp>true</notimestamp>
|
|
<notree>true</notree>
|
|
<use>false</use>
|
|
<overview>${placeholderJavadocDir}/overview.html</overview>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<profiles>
|
|
<profile>
|
|
<id>release</id>
|
|
<properties>
|
|
<skipPlaceholderJavadocGeneration>true</skipPlaceholderJavadocGeneration>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-core-client</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-jms-client</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-server</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-jms-server</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-journal</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-selector</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
|
|
<!-- stuff needed to resolve various classes during javadoc processing -->
|
|
<dependency>
|
|
<groupId>com.google.code.findbugs</groupId>
|
|
<artifactId>jsr305</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-log-annotation-processor</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>javadoc-jar</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
<configuration>
|
|
<doctitle>ActiveMQ Artemis ${project.version} API</doctitle>
|
|
<source>8</source>
|
|
<minmemory>128m</minmemory>
|
|
<maxmemory>512m</maxmemory>
|
|
<noindex>true</noindex>
|
|
<skip>${skipWebsiteJavadocGeneration}</skip>
|
|
<!-- switch on dependency-driven aggregation -->
|
|
<includeDependencySources>true</includeDependencySources>
|
|
|
|
<dependencySourceIncludes>
|
|
<!-- include ONLY dependencies I control -->
|
|
<dependencySourceInclude>org.apache.activemq:artemis-core-client</dependencySourceInclude>
|
|
<dependencySourceInclude>org.apache.activemq:artemis-jms-client</dependencySourceInclude>
|
|
<dependencySourceInclude>org.apache.activemq:artemis-server</dependencySourceInclude>
|
|
<dependencySourceInclude>org.apache.activemq:artemis-jms-server</dependencySourceInclude>
|
|
<dependencySourceInclude>org.apache.activemq:artemis-journal</dependencySourceInclude>
|
|
<dependencySourceInclude>org.apache.activemq:artemis-selector</dependencySourceInclude>
|
|
</dependencySourceIncludes>
|
|
<aggregate>true</aggregate>
|
|
<excludePackageNames>org.apache.activemq.artemis.core:org.apache.activemq.artemis.utils
|
|
</excludePackageNames>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
<version>${frontend-maven-plugin-version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>install node and npm</id>
|
|
<goals>
|
|
<goal>install-node-and-npm</goal>
|
|
</goals>
|
|
<phase>generate-sources</phase>
|
|
<configuration>
|
|
<nodeVersion>${nodeVersion}</nodeVersion>
|
|
<npmVersion>${npmVersion}</npmVersion>
|
|
<skip>${skipWebsiteDocGeneration}</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>npm install</id>
|
|
<goals>
|
|
<goal>npm</goal>
|
|
</goals>
|
|
<phase>generate-sources</phase>
|
|
<configuration>
|
|
<arguments>install</arguments>
|
|
<skip>${skipWebsiteDocGeneration}</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<skip>${skipWebsiteDocGeneration}</skip>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-maven-plugin</artifactId>
|
|
<version>${project.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>doc-jms-client</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>dependency-doc</goal>
|
|
</goals>
|
|
<configuration>
|
|
<file>${scratch-dir-user-manual}/client-classpath-jms.md</file>
|
|
<groupOrder>
|
|
<arg>org.apache.activemq</arg>
|
|
<arg>jakarta.jms</arg>
|
|
<arg>org.jgroups</arg>
|
|
<arg>io.netty</arg>
|
|
</groupOrder>
|
|
<header>#Artemis JMS Client Dependencies
|
|
File | package | observation
|
|
---|---|---</header>
|
|
<line>X{fileMD} | X{package} | X{detail} </line>
|
|
<detailKey>
|
|
<arg>io.netty:netty-transport-native-epoll</arg>
|
|
<arg>io.netty:netty-transport-classes-epoll</arg>
|
|
<arg>io.netty:netty-transport-native-kqueue</arg>
|
|
<arg>io.netty:netty-transport-classes-kqueue</arg>
|
|
<arg>org.jgroups:jgroups</arg>
|
|
</detailKey>
|
|
<detailValue>
|
|
<arg>only if you want epoll on Linux</arg>
|
|
<arg>only if you want epoll on Linux</arg>
|
|
<arg>only if you want kqueue on MacOS</arg>
|
|
<arg>only if you want kqueue on MacOS</arg>
|
|
<arg>only if you want JGroups discovery from the clients</arg>
|
|
</detailValue>
|
|
<lib>org.apache.activemq:artemis-jms-client:${project.version}</lib>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>doc-jakarta-client</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>dependency-doc</goal>
|
|
</goals>
|
|
<configuration>
|
|
<file>${scratch-dir-user-manual}/client-classpath-jakarta.md</file>
|
|
<groupOrder>
|
|
<arg>org.apache.activemq</arg>
|
|
<arg>jakarta.jms</arg>
|
|
<arg>org.jgroups</arg>
|
|
<arg>io.netty</arg>
|
|
</groupOrder>
|
|
<header>#Artemis Jakarta Client Dependencies
|
|
File | package | observation
|
|
---|---|---</header>
|
|
<line>X{fileMD} | X{package} | X{detail} </line>
|
|
<detailKey>
|
|
<arg>io.netty:netty-transport-native-epoll</arg>
|
|
<arg>io.netty:netty-transport-classes-epoll</arg>
|
|
<arg>io.netty:netty-transport-native-kqueue</arg>
|
|
<arg>io.netty:netty-transport-classes-kqueue</arg>
|
|
<arg>org.jgroups:jgroups</arg>
|
|
</detailKey>
|
|
<detailValue>
|
|
<arg>only if you want epoll on Linux</arg>
|
|
<arg>only if you want epoll on Linux</arg>
|
|
<arg>only if you want kqueue on MacOS</arg>
|
|
<arg>only if you want kqueue on MacOS</arg>
|
|
<arg>only if you want JGroups discovery from the clients</arg>
|
|
</detailValue>
|
|
<lib>org.apache.activemq:artemis-jakarta-client:${project.version}</lib>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>generate-sources</phase>
|
|
<configuration>
|
|
<skip>${skipWebsiteDocGeneration}</skip>
|
|
<target>
|
|
<!-- Make scratch copy of user manual, filter the version config -->
|
|
<copy todir="${scratch-dir-user-manual}">
|
|
<fileset dir="${src-dir-user-manual}" />
|
|
</copy>
|
|
<copy todir="${scratch-dir-user-manual}" overwrite="true">
|
|
<fileset file="${src-dir-user-manual}/book.json" />
|
|
<fileset file="${src-dir-user-manual}/client-classpath.md" />
|
|
<fileset file="${src-dir-user-manual}/logging.md" />
|
|
<filterset>
|
|
<filter token="PROJECT_VERSION_FILTER_TOKEN" value="${project.version}" />
|
|
</filterset>
|
|
</copy>
|
|
|
|
<condition property="honkit.cmd" value="${basedir}/node_modules/.bin/honkit.cmd" else="${basedir}/node_modules/.bin/honkit">
|
|
<os family="windows" />
|
|
</condition>
|
|
<!-- lets generate the honkit -->
|
|
<mkdir dir="${webapp-outdir-user-manual}" />
|
|
<echo>executing ${honkit.cmd}</echo>
|
|
<exec executable="${honkit.cmd}" failonerror="true">
|
|
<env key="PATH" path="${basedir}/node" />
|
|
<arg value="build" />
|
|
<arg value="${scratch-dir-user-manual}" />
|
|
<arg value="${webapp-outdir-user-manual}" />
|
|
</exec>
|
|
<mkdir dir="${webapp-outdir-hacking-guide}" />
|
|
<echo>executing ${honkit.cmd}</echo>
|
|
<exec executable="${honkit.cmd}" failonerror="true">
|
|
<env key="PATH" path="${basedir}/node" />
|
|
<arg value="build" />
|
|
<arg value="${basedir}/../docs/hacking-guide/en" />
|
|
<arg value="${webapp-outdir-hacking-guide}" />
|
|
</exec>
|
|
<mkdir dir="${webapp-outdir-migration-guide}" />
|
|
<echo>executing ${honkit.cmd}</echo>
|
|
<exec executable="${honkit.cmd}" failonerror="true">
|
|
<env key="PATH" path="${basedir}/node" />
|
|
<arg value="build" />
|
|
<arg value="${basedir}/../docs/migration-guide/en" />
|
|
<arg value="${webapp-outdir-migration-guide}" />
|
|
</exec>
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|