| <!-- |
| 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.27.0</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> |