aoserv-webservices-webapp
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.aoindustries</groupId>
<artifactId>aoserv-webservices-webapp</artifactId>
<version>1.91.7</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
aoserv-webservices-webapp - The Axis2-based AOServ Platform web services webapp.
Copyright (C) 2021, 2022 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 <https://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.20.0<!-- -POST-SNAPSHOT --></version>
<relativePath>../../oss/parent/pom.xml</relativePath>
</parent>
<groupId>com.aoindustries</groupId><artifactId>aoserv-webservices-webapp</artifactId><version>1.91.7</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".
TODO: This problem might be only an issue with Lambdas. Review other webservices projects.
-->
<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>
<!-- Never stage snapshot, see https://stackoverflow.com/a/39139979 -->
<nexus.skipNexusStagingDeployMojo>${build.isSnapshot}</nexus.skipNexusStagingDeployMojo>
<!-- SonarQube -->
<sonar.projectKey>com.aoapps.platform:aoapps-webservices-webapp<!-- TODO: ${project.groupId}:${project.artifactId} --></sonar.projectKey>
<sonar.organization>ao-apps</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<!-- Default publish settings -->
<publish-webservices.aoindustries.com-warmup-get-url>https://webservices.aoindustries.com/services/listServices</publish-webservices.aoindustries.com-warmup-get-url>
<publish-webservices.aoindustries.com-warmup-get-url.2>https://webservices.aoindustries.com/services/AoservService_v1_0?wsdl</publish-webservices.aoindustries.com-warmup-get-url.2>
</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/ao-apps/aoserv-webservices-webapp.git</connection>
<developerConnection>scm:git:git@github.com:ao-apps/aoserv-webservices-webapp.git</developerConnection>
<url>https://github.com/ao-apps/aoserv-webservices-webapp</url>
<tag>aoserv-webservices-webapp-1.91.7</tag>
</scm>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/ao-apps/aoserv-webservices-webapp/issues</url>
</issueManagement>
<ciManagement>
<system>Jenkins</system>
<url>https://jenkins.aoindustries.com/job/ao/job/aoserv/job/webservices-webapp/</url>
</ciManagement>
<!-- Only one allowed in POM:
<ciManagement>
<system>GitHub Actions</system>
<url>https://github.com/ao-apps/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>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId>
<configuration>
<ignoredUnusedDeclaredDependencies>
<!-- Runtime Direct -->
<!-- Mitigate CVE-2021-44228 -->
<dependency>org.apache.logging.log4j:log4j-api</dependency>
<dependency>org.apache.logging.log4j:log4j-core</dependency>
<dependency>org.apache.logging.log4j:log4j-jcl</dependency>
<!-- Non-classpath Direct -->
<dependency>com.aoindustries:aoserv-webservices:aar</dependency>
<dependency>org.apache.axis2:axis2-webapp:war</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>
<!-- Mitigate CVE-2021-44228 -->
<exclude>WEB-INF/lib/log4j-api-*.jar</exclude>
<exclude>WEB-INF/lib/log4j-core-*.jar</exclude>
<exclude>WEB-INF/lib/log4j-jcl-*.jar</exclude>
<!-- Avoid information disclosure -->
<exclude>WEB-INF/services/version*.aar</exclude>
<exclude>axis2-web/HappyAxis.jsp</exclude>
</excludes>
</overlay>
</overlays>
</configuration>
</plugin>
<!-- Do not deploy snapshot (unless "jenkins" profile below), 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>
</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>
<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>
<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-sleep</id><phase>deploy</phase><goals><goal>run</goal></goals>
<configuration>
<target>
<sleep seconds="10" />
</target>
</configuration>
</execution>
<execution>
<id>warmup-get-url</id><phase>deploy</phase><goals><goal>run</goal></goals>
<configuration>
<target>
<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>
<!-- Runtime Direct -->
<!-- Mitigate CVE-2021-44228 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.19.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.19.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId><artifactId>log4j-jcl</artifactId><version>2.19.0</version>
</dependency>
<!-- Runtime Transitive -->
<dependency>
<groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version>
</dependency>
<!-- Non-classpath Direct -->
<dependency>
<groupId>com.aoindustries</groupId><artifactId>aoserv-webservices</artifactId><version>1.91.7<!-- ${POST-SNAPSHOT} --></version>
<type>aar</type>
<exclusions><exclusion><groupId>*</groupId><artifactId>*</artifactId></exclusion></exclusions>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId><artifactId>axis2-webapp</artifactId><version>1.8.2</version>
<type>war</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Runtime Direct -->
<!-- Mitigate CVE-2021-44228 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId><artifactId>log4j-jcl</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Non-classpath Direct -->
<dependency>
<groupId>com.aoindustries</groupId><artifactId>aoserv-webservices</artifactId>
<type>aar</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId><artifactId>axis2-webapp</artifactId>
<type>war</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>