Maven Central Repository

aoserv-webservices-webapp

Used in 0 components

Overview

SOAP web services for the AOServ Platform.

Snippets

<dependency>
    <groupId>com.aoindustries</groupId>
    <artifactId>aoserv-webservices-webapp</artifactId>
    <version>1.85.0</version>
</dependency>

Maven POM File

<?xml version="1.0" encoding="UTF-8"?>
<!--
aoserv-webservices-webapp - The Axis2-based AOServ Platform web services webapp.
Copyright (C) 2021  AO Industries, Inc.
    support@aoindustries.com
    7262 Bull Pen Cir
    Mobile, AL 36695

This file is part of aoserv-webservices-webapp.

aoserv-webservices-webapp is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

aoserv-webservices-webapp is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with aoserv-webservices-webapp.  If not, see <http://www.gnu.org/licenses />.
-->
<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>com.aoapps</groupId><artifactId>ao-oss-parent</artifactId><version>1.17.0<!-- -POST-SNAPSHOT --></version>
		<relativePath>../../oss/parent/pom.xml</relativePath>
	</parent>

	<groupId>com.aoindustries</groupId><artifactId>aoserv-webservices-webapp</artifactId><version>1.85.0</version>
	<packaging>war</packaging>

	<properties>
		<module.name>com.aoindustries.aoserv.webservices.webapp</module.name>
		<!-- Stay on Java 1.8 since Axis fails with "Error looking for paramter names in bytecode: unexpected bytes in file". -->
		<javase.version>1.8</javase.version>
		<javase.release>8</javase.release>
		<javadoc.link.javase>${javadoc.link.javase.8}</javadoc.link.javase>
		<!-- This must be set in your ~/.m2/settings.xml when building with JDK < 9 -->
		<javase.bootclasspath>${javase.bootclasspath.8}</javase.bootclasspath>

		<description.html><![CDATA[The Axis2-based <a target="${javadoc.target}" href="https://aoindustries.com/aoserv/">AOServ Platform</a> web services webapp.]]></description.html>
		<!-- TODO: Remove once moved to platform.aoapps.com -->
		<google.analytics.trackingId>UA-86871646-1</google.analytics.trackingId>
		<!-- com.aoindustries is on original Sonatype Nexus Repository Manager -->
		<nexusUrl>https://oss.sonatype.org/</nexusUrl>
		<!-- SonarQube -->
		<sonar.projectKey>com.aoapps.platform:aoapps-webservices-webapp<!-- TODO: ${project.groupId}:${project.artifactId} --></sonar.projectKey>
		<sonar.organization>aoindustries</sonar.organization>
		<sonar.host.url>https://sonarcloud.io</sonar.host.url>
	</properties>

	<name>AOServ Webservices Webapp</name>
	<url>https://aoindustries.com/aoserv/webservices/webapp/</url>
	<description>SOAP web services for the AOServ Platform.</description>
	<inceptionYear>2009</inceptionYear>

	<licenses>
		<license>
			<name>GNU General Lesser Public License (LGPL) version 3.0</name>
			<url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<organization>
		<name>AO Industries, Inc.</name>
		<url>https://aoindustries.com/</url>
	</organization>

	<developers>
		<developer>
			<name>AO Industries, Inc.</name>
			<email>support@aoindustries.com</email>
			<url>https://aoindustries.com/</url>
			<organization>AO Industries, Inc.</organization>
			<organizationUrl>https://aoindustries.com/</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:git://github.com/aoindustries/aoserv-webservices-webapp.git</connection>
		<developerConnection>scm:git:git@github.com:aoindustries/aoserv-webservices-webapp.git</developerConnection>
		<url>https://github.com/aoindustries/aoserv-webservices-webapp</url>
		<tag>aoserv-webservices-webapp-1.85.0</tag>
	</scm>

	<issueManagement>
		<system>GitHub Issues</system>
		<url>https://github.com/aoindustries/aoserv-webservices-webapp/issues</url>
	</issueManagement>

	<ciManagement>
		<system>GitHub Actions</system>
		<url>https://github.com/aoindustries/aoserv-webservices-webapp/actions</url>
	</ciManagement>

	<repositories>
		<!-- Repository required here, too, so can find parent -->
		<repository>
			<id>sonatype-nexus-snapshots-s01</id>
			<name>Sonatype Nexus Snapshots S01</name>
			<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId>
				<configuration>
					<ignoredUnusedDeclaredDependencies>
						<!-- Non-classpath Direct -->
						<dependency>org.apache.axis2:axis2-webapp:war</dependency>
						<dependency>com.aoindustries:aoserv-webservices:aar</dependency>
					</ignoredUnusedDeclaredDependencies>
				</configuration>
			</plugin>
			<!-- Java 1.8: see https://maven.apache.org/plugins/maven-compiler-plugin/examples/module-info.html -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId>
				<executions>
					<!-- compile everything to ensure module-info contains right entries -->
					<execution>
						<id>default-compile</id>
						<configuration>
							<release>9</release>
						</configuration>
					</execution>
					<!-- recompile everything for target VM except the module-info.java -->
					<!-- module-info.java only:
					<execution>
						<id>base-compile</id><goals><goal>compile</goal></goals>
						<configuration>
							<excludes>
								<exclude>module-info.java</exclude>
							</excludes>
						</configuration>
					</execution>
					-->
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<!-- Java 1.8: generate future-proof modular javadocs -->
					<source>11</source>
					<release>11</release>
				</configuration>
			</plugin>
			<!-- Seems to not be required.  The aar file is still correctly put in WEB-INF/services:
			<plugin>
				<groupId>org.apache.axis2</groupId><artifactId>axis2-aar-maven-plugin</artifactId>
				<extensions>true</extensions>
			</plugin>
			-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId>
				<configuration>
					<overlays>
						<overlay>
							<groupId>org.apache.axis2</groupId><artifactId>axis2-webapp</artifactId>
							<excludes>
								<!--
									For safety, excluding explicitly, no depending on overlay default settings.  This
									way, if we accidentally move one of these files in the source, we won't accidentally
									revert to a default password.
								-->
								<exclude>META-INF/**</exclude>
								<exclude>WEB-INF/conf/axis2.xml</exclude>
								<exclude>WEB-INF/services/services.list</exclude>
								<exclude>WEB-INF/web.xml</exclude>
								<!-- Avoid information disclosure -->
								<exclude>WEB-INF/services/version*.aar</exclude>
								<exclude>axis2-web/HappyAxis.jsp</exclude>
							</excludes>
						</overlay>
					</overlays>
				</configuration>
			</plugin>
			<!-- Never attach sources for snapshot, see https://stackoverflow.com/a/39139979 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId>
				<configuration><skipSource>${build.isSnapshot}</skipSource></configuration>
			</plugin>
			<!-- TODO: Use install-file for pom and javadocs only? -->
			<!-- Never deploy snapshot, see https://stackoverflow.com/a/39139979 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId>
				<configuration><skip>${build.isSnapshot}</skip></configuration>
			</plugin>
			<!-- Never stage snapshot, see https://stackoverflow.com/a/39139979 -->
			<plugin>
				<groupId>org.sonatype.plugins</groupId><artifactId>nexus-staging-maven-plugin</artifactId>
				<configuration>
					<skipNexusStagingDeployMojo>${build.isSnapshot}</skipNexusStagingDeployMojo>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>development</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId><artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<id>require-development-properties</id><goals><goal>enforce</goal></goals>
								<configuration>
									<rules>
										<requireSnapshotVersion>
											<message>Releases may not include Axis2 username and password.</message>
										</requireSnapshotVersion>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<!--
			Required for bug "requireActiveProfile ignores inherited profiles in submodules":
			https://issues.apache.org/jira/browse/MENFORCER-226
		-->
		<profile>
			<id>POST-SNAPSHOT</id>
			<properties>
				<POST-SNAPSHOT>-POST-SNAPSHOT</POST-SNAPSHOT>
			</properties>
		</profile>
		<profile>
			<id>publish</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId><artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<id>require-publish-properties</id><goals><goal>enforce</goal></goals>
								<configuration>
									<rules>
										<requireActiveProfile>
											<message>"publish" requires "POST-SNAPSHOT" profile</message>
											<profiles>POST-SNAPSHOT</profiles>
										</requireActiveProfile>
										<requireSnapshotVersion>
											<message>Releases may not include Axis2 username and password.</message>
										</requireSnapshotVersion>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>publish</id><phase>deploy</phase><goals><goal>deploy-only</goal></goals>
								<configuration>
									<charset>UTF-8</charset>
									<server>tomcat7-maven-plugin-webservices.aoindustries.com</server>
									<path>/</path>
									<update>true</update>
									<url>${tomcat7-maven-plugin-webservices.aoindustries.com}</url>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId>
						<executions>
							<execution>
								<id>warmup-get-url</id><phase>deploy</phase><goals><goal>run</goal></goals>
								<configuration>
									<target>
										<sleep seconds="10" />
										<mkdir dir="${project.build.directory}/warmup-get-url" />
										<retry retrycount="12" retrydelay="15000">
											<get retries="1" src="${publish-webservices.aoindustries.com-warmup-get-url}" dest="${project.build.directory}/warmup-get-url/response" maxtime="120" httpusecaches="false" />
										</retry>
										<retry retrycount="12" retrydelay="15000">
											<get retries="1" src="${publish-webservices.aoindustries.com-warmup-get-url.2}" dest="${project.build.directory}/warmup-get-url/response.2" maxtime="120" httpusecaches="false" />
										</retry>
									</target>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<dependencyManagement>
		<dependencies>
			<!-- Non-classpath Direct -->
			<dependency>
				<groupId>org.apache.axis2</groupId><artifactId>axis2-webapp</artifactId><version>1.7.9</version>
				<type>war</type>
			</dependency>
			<dependency>
				<groupId>com.aoindustries</groupId><artifactId>aoserv-webservices</artifactId><version>1.85.0<!-- ${POST-SNAPSHOT} --></version>
				<type>aar</type>
				<exclusions><exclusion><groupId>*</groupId><artifactId>*</artifactId></exclusion></exclusions>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<!-- Non-classpath Direct -->
		<dependency>
			<groupId>org.apache.axis2</groupId><artifactId>axis2-webapp</artifactId>
			<type>war</type>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>com.aoindustries</groupId><artifactId>aoserv-webservices</artifactId>
			<type>aar</type>
			<scope>runtime</scope>
		</dependency>
	</dependencies>
</project>