Commit 32ca4125 authored by Brian Long's avatar Brian Long
Browse files

refactored using `maven-shade-plugin`

parent 93fe3dbd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
# Maven
pom.xml.versionsBackup
target
*-pom.xml

# Eclipse
.project

.mvn/extensions.xml

0 → 100644
+10 −0
Original line number Diff line number Diff line
<extensions
		xmlns="http://maven.apache.org/EXTENSIONS/1.1.0"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.1.0 https://maven.apache.org/xsd/core-extensions-1.1.0.xsd">
	<extension>
		<groupId>com.inteligr8</groupId>
		<artifactId>provided-scope-maven-extension</artifactId>
		<version>1.0-SNAPSHOT</version>
	</extension>
</extensions>
+72 −200
Original line number Diff line number Diff line
@@ -3,20 +3,14 @@
		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	
	<parent>
		<groupId>com.activiti</groupId>
		<artifactId>activiti-app-root</artifactId>
		<version>24.1.0</version>
	</parent>
	
	<groupId>com.inteligr8.activiti</groupId>
	<artifactId>cxf-activiti-app-ext</artifactId>
	<version>1.3.SNAPSHOT-aps-v24.1</version>
	<version>1.4.SNAPSHOT-aps-v24.1</version>
	<packaging>jar</packaging>
	
	<name>CXF-based JAX-RS &amp; JAX-WS enablement for APS App</name>
	<description>An Alfresco Process Service App extension providing the missing components for JAX-RS-based client libraries.</description>
	<url>https://git.inteligr8.com/inteligr8/cxf-activiti-ext</url>
	<url>https://git.inteligr8.com/inteligr8/cxf-activiti-app-ext</url>

	<licenses>
		<license>
@@ -26,9 +20,9 @@
	</licenses>

	<scm>
		<connection>scm:git:https://git.inteligr8.com/inteligr8/cxf-activiti-ext.git</connection>
		<developerConnection>scm:git:git@git.inteligr8.com:inteligr8/cxf-activiti-ext.git</developerConnection>
		<url>https://git.inteligr8.com/inteligr8/cxf-activiti-ext</url>
		<connection>scm:git:https://git.inteligr8.com/inteligr8/cxf-activiti-app-ext.git</connection>
		<developerConnection>scm:git:git@git.inteligr8.com:inteligr8/cxf-activiti-app-ext.git</developerConnection>
		<url>https://git.inteligr8.com/inteligr8/cxf-activiti-app-ext</url>
	</scm>
	<organization>
		<name>Inteligr8</name>
@@ -48,8 +42,12 @@
		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>
		
		<aps.version>24.1.0</aps.version>
		<!-- APS v24.1.0 uses CXF v3.5.5 -->
		<cxf.version>3.5.5</cxf.version>
		<!-- A-->

		<unimportant.version>[1.0.0,)</unimportant.version>
		<license.skip>true</license.skip>

		<!-- Jackson v2.20+ uses a concatenated version number for jackson-annotations -->
		<jackson-annotations.version>2.20</jackson-annotations.version>
@@ -58,185 +56,25 @@
	<dependencyManagement>
		<!-- versions need to be explicit for central-publishing-maven-plugin -->
		<dependencies>
			<!-- APS provided libraries -->
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-impl</artifactId>
				<version>${javax-jaxb.version}</version>
				<scope>provided</scope>
			</dependency>
			
			<!-- All APS versions v1.11.0 and later have some incarnation of the jaxws-api library; exclude all -->
			<dependency>
			    <groupId>javax.xml.ws</groupId>
			    <artifactId>jaxws-api</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
			    <groupId>jakarta.xml.ws</groupId>
			    <artifactId>jakarta.xml.ws-api</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			
			<!-- All APS versions v1.11.0 and later have some incarnation of the activation library; exclude all -->
			<dependency>
			    <groupId>javax.annotation</groupId>
			    <artifactId>javax.annotation-api</artifactId>
				<version>${javax-annotation.version}</version>
				<scope>provided</scope>  <!-- v1.11.3 and earlier; exclude in v1.11.4 and later for conflict with jakarta-annotation-api -->
			</dependency>
			<dependency>
			    <groupId>jakarta.annotation</groupId>
			    <artifactId>jakarta.annotation-api</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>  <!-- v1.11.4 and later; exclude in v1.11.3 and earlier for conflict with annotation-api -->
			</dependency>
			
			<!-- All APS versions v1.11.0 and later have some incarnation of the activation library; exclude all -->
			<dependency>
			    <groupId>javax.activation</groupId>
			    <artifactId>activation</artifactId>
				<version>${javax.activation.version}</version>
				<scope>provided</scope>  <!-- v1.11.0 and earlier; exclude in v1.11.1 and later for conflict with jakarta-activation-api -->
			</dependency>
			<dependency>
			    <groupId>com.sun.activation</groupId>
			    <artifactId>javax.activation</artifactId>
				<version>${javax.activation.version}</version>
				<scope>provided</scope>  <!-- v1.11.3 and later; exclude in v1.11.2 and earlier for conflict with activation -->
			</dependency>
			<dependency>
			    <groupId>jakarta.activation</groupId>
			    <artifactId>jakarta.activation-api</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>  <!-- v1.11.1 and later; exclude in v1.11.2 and earlier for conflict with activation -->
			</dependency>
			
			<!-- All APS versions v1.11.0 and later have some incarnation of the jaxb-api library; exclude all -->
			<dependency>
				<groupId>javax.xml.bind</groupId>
				<artifactId>jaxb-api</artifactId>
				<version>${javax-jaxb.version}</version>
				<scope>provided</scope>  <!-- v1.11.0 and earlier; exclude in v1.11.1 and alter for conflict with jakarta.xml.bind-api -->
			</dependency>
			<dependency>
				<groupId>jakarta.xml.bind</groupId>
				<artifactId>jakarta.xml.bind-api</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>  <!-- v1.11.3 and later; exclude in v1.11.2 and earlier for conflict with jaxb-api -->
			</dependency>
			
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-core</artifactId>
				<version>${jackson.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${jackson.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-annotations</artifactId>
				<version>${jackson-annotations.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.dataformat</groupId>
				<artifactId>jackson-dataformat-yaml</artifactId>
				<version>${jackson.version}</version>
				<scope>provided</scope>
			</dependency>
			
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda-time.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.codehaus.woodstox</groupId>
				<artifactId>stax2-api</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.codehaus.woodstox</groupId>
				<artifactId>woodstox-core-asl</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.ws.xmlschema</groupId>
				<artifactId>xmlschema-core</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			
			<!-- ******************** -->
			<!-- APS v2.x specific -->

			<!-- APS/Chemistry provided libraries -->
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-transports-http</artifactId>
				<version>${cxf.version}</version>
				<scope>provided</scope>
				<groupId>com.activiti</groupId>
				<artifactId>activiti-app-root</artifactId>
				<version>${aps.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-core</artifactId>
				<artifactId>cxf-bom</artifactId>
				<version>${cxf.version}</version>
				<scope>provided</scope>
			</dependency>
			
			<!-- APS v1.11.3 and later provided libraries -->
			<dependency>
				<groupId>org.jboss.spec.javax.rmi</groupId>
				<artifactId>jboss-rmi-api_1.0_spec</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.woodstox</groupId>
				<artifactId>woodstox-core</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.geronimo.specs</groupId>
				<artifactId>geronimo-jta_1.1_spec</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.messaging.saaj</groupId>
				<artifactId>saaj-impl</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>jakarta.jws</groupId>
				<artifactId>jakarta.jws-api</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>jakarta.xml.soap</groupId>
				<artifactId>jakarta.xml.soap-api</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.sun.activation</groupId>
				<artifactId>jakarta.activation</artifactId>
				<version>${unimportant.version}</version>
				<scope>provided</scope>
				<groupId>com.activiti</groupId>
				<artifactId>activiti-app</artifactId>
				<version>${aps.version}</version>
				<classifier>classes</classifier>
			</dependency>
		</dependencies>
	</dependencyManagement>
@@ -246,30 +84,43 @@
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-rs-client</artifactId>
			<version>${cxf.version}</version>
			<scope>runtime</scope>
		</dependency>
		<!-- Package JackSON JAX-RS support -->
		<dependency>
			<groupId>com.fasterxml.jackson.jakarta.rs</groupId>
			<artifactId>jackson-jakarta-rs-json-provider</artifactId>
			<version>${jackson.version}</version>
			<scope>runtime</scope>
		</dependency>
		<!-- Package JackSON XML support -->
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-xml</artifactId>
			<version>${jackson.version}</version>
			<scope>runtime</scope>
		</dependency>
		<!-- Package JackSON joda-time support -->
		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-joda</artifactId>
			<version>${jackson.version}</version>
			<scope>runtime</scope>
		</dependency>

		<!-- Provided by APS -->
		<dependency>
			<groupId>com.activiti</groupId>
			<artifactId>activiti-app</artifactId>
			<classifier>classes</classifier>
			<scope>provided</scope>
			<exclusions>
				<!-- not needed here and requires a separate repository in APS v24.1.0 -->
				<exclusion>
					<groupId>org.apache.commons</groupId>
					<artifactId>commons-email2-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.commons</groupId>
					<artifactId>commons-email2-jakarta</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<build>
@@ -282,6 +133,14 @@
			<plugin>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-deps</id>
						<phase>prepare-package</phase>
						<goals><goal>copy-dependencies</goal></goals>
						<configuration>
							<includeScope>runtime</includeScope>
						</configuration>
					</execution>
					<execution>
						<id>unpack-bus-extensions</id>
						<phase>prepare-package</phase>
@@ -324,16 +183,29 @@
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>3.6.2</version>
				<executions>
					<execution>
						<id>assemble-jar</id>
						<id>shade-jar</id>
						<phase>package</phase>
						<goals><goal>single</goal></goals>
						<goals><goal>shade</goal></goals>
						<configuration>
							<descriptorRefs>
								<descriptorRef>jar-with-dependencies</descriptorRef>
							</descriptorRefs>
							<shadedArtifactAttached>true</shadedArtifactAttached>
							<transformers>
								<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
								<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
									<addHeader>false</addHeader>
								</transformer>
								<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
								<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
									<resources>
										<resource>.handlers</resource>
										<resource>.schemas</resource>
										<resource>DEPENDENCIES</resource>
									</resources>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>
@@ -353,7 +225,7 @@
								<includes>
									<include>META-INF/cxf/bus-extensions.txt</include>
								</includes>
								<outputDirectory>${project.build.directory}/${project.build.finalName}-jar-with-dependencies.jar</outputDirectory>
								<outputDirectory>${project.build.directory}/${project.build.finalName}-shaded.jar</outputDirectory>
							</fileset>
						</configuration>
					</execution>
@@ -362,12 +234,12 @@
			<plugin>
				<groupId>io.repaint.maven</groupId>
				<artifactId>tiles-maven-plugin</artifactId>
				<version>2.41</version>
				<version>2.44</version>
				<extensions>true</extensions>
				<configuration>
					<tiles>
						<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-aps-ext-rad-tile -->
						<tile>com.inteligr8.ootbee:beedk-aps-ext-rad-tile:[1.0.3,2.0.0)</tile>
						<tile>com.inteligr8.ootbee:beedk-aps-ext-rad-tile:[1.1.18,2.0.0)</tile>
					</tiles>
				</configuration>
			</plugin>
@@ -428,7 +300,7 @@
	
	<repositories>
		<repository>
			<id>activiti-releases</id>
			<id>activiti-enterprise-releases</id>
			<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-enterprise-releases/</url>
		</repository>
	</repositories>
+3 −3
Original line number Diff line number Diff line
@@ -5,17 +5,17 @@ function discoverArtifactId {

function rebuild {
	echo "Rebuilding project ..."
	mvn process-classes
	mvn process-test-classes
}

function start_ {
	echo "Rebuilding project and starting Docker containers to support rapid application development ..."
	mvn -Drad process-classes
	mvn -Drad process-test-classes
}

function start_log {
	echo "Rebuilding project and starting Docker containers to support rapid application development ..."
	mvn -Drad "-Ddocker.showLogs" process-classes
	mvn -Drad "-Ddocker.showLogs" process-test-classes
}

function stop_ {
+3 −3
Original line number Diff line number Diff line
@@ -6,17 +6,17 @@ discoverArtifactId() {

rebuild() {
	echo "Rebuilding project ..."
	mvn process-classes
	mvn process-test-classes
}

start() {
	echo "Rebuilding project and starting Docker containers to support rapid application development ..."
	mvn -Drad process-classes
	mvn -Drad process-test-classes
}

start_log() {
	echo "Rebuilding project and starting Docker containers to support rapid application development ..."
	mvn -Drad -Ddocker.showLogs process-classes
	mvn -Drad -Ddocker.showLogs process-test-classes
}

stop() {