ao-servlet-last-modified
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.aoapps</groupId> <artifactId>ao-servlet-last-modified</artifactId> <version>3.0.1</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- ao-servlet-last-modified - Automatically adds lastModified URL parameters to ensure latest resources always used. Copyright (C) 2020, 2021, 2022, 2023 AO Industries, Inc. support@aoindustries.com 7262 Bull Pen Cir Mobile, AL 36695 This file is part of ao-servlet-last-modified. ao-servlet-last-modified 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. ao-servlet-last-modified 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 ao-servlet-last-modified. 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.24.2<!-- -POST-SNAPSHOT --></version> <relativePath>../parent/pom.xml</relativePath> </parent> <groupId>com.aoapps</groupId><artifactId>ao-servlet-last-modified</artifactId><version>3.0.1</version> <packaging>jar</packaging> <properties> <!-- Must be set to ${git.commit.time} for snapshots or ISO 8601 timestamp for releases. --> <project.build.outputTimestamp>2023-09-24T04:47:40Z</project.build.outputTimestamp> <module.name>com.aoapps.servlet.lastmodified</module.name> <!-- Java 1.8 --> <javase.version>1.8</javase.version> <javase.release>8</javase.release> <javadoc.link.javase>${javadoc.link.javase.8}</javadoc.link.javase> <javadoc.breadcrumbs><![CDATA[<a target="${javadoc.target}" href="https://oss.aoapps.com/">AO OSS</a> / <a target="${javadoc.target}" href="${project.url}">Servlet Last Modified</a>]]></javadoc.breadcrumbs> <!-- TODO: Implement tests --> <sonar.coverage.exclusions>**.*</sonar.coverage.exclusions> </properties> <name>AO Servlet Last Modified</name> <url>https://oss.aoapps.com/servlet-last-modified/</url> <description>Automatically adds lastModified URL parameters to ensure latest resources always used.</description> <inceptionYear>2013</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/ao-servlet-last-modified.git</connection> <developerConnection>scm:git:git@github.com:ao-apps/ao-servlet-last-modified.git</developerConnection> <url>https://github.com/ao-apps/ao-servlet-last-modified</url> <tag>ao-servlet-last-modified-3.0.1</tag> </scm> <issueManagement> <system>GitHub Issues</system> <url>https://github.com/ao-apps/ao-servlet-last-modified/issues</url> </issueManagement> <ciManagement> <system>Jenkins</system> <url>https://jenkins.aoindustries.com/job/ao/job/oss/job/servlet-last-modified/</url> </ciManagement> <!-- Only one allowed in POM: <ciManagement> <system>GitHub Actions</system> <url>https://github.com/ao-apps/ao-servlet-last-modified/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> <usedDependencies> <!-- Javadoc-only --> <dependency>com.aoapps:ao-hodgepodge</dependency> </usedDependencies> </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 --> <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> </plugins> </build> <profiles> <profile> <id>offlineLinks</id><activation><file><exists>src/main/java</exists></file></activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack.offlineLinks</id><phase>${unpack.offlineLinks.phase}</phase><goals><goal>unpack</goal></goals> <configuration> <artifactItems> <!-- Direct --> <artifactItem> <groupId>com.aoapps</groupId><artifactId>ao-hodgepodge</artifactId><classifier>javadoc</classifier> <includes>element-list, package-list</includes> <outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-hodgepodge</outputDirectory> </artifactItem> <artifactItem> <groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId><classifier>javadoc</classifier> <includes>element-list, package-list</includes> <outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-lang</outputDirectory> </artifactItem> <artifactItem> <groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId><classifier>javadoc</classifier> <includes>element-list, package-list</includes> <outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-net-types</outputDirectory> </artifactItem> <artifactItem> <groupId>com.aoapps</groupId><artifactId>ao-servlet-util</artifactId><classifier>javadoc</classifier> <includes>element-list, package-list</includes> <outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-servlet-util</outputDirectory> </artifactItem> <!-- ao-javadoc-offline: <groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><classifier>javadoc</classifier> --> <!-- ao-javadoc-offline: <groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><classifier>javadoc</classifier> --> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId> <configuration> <offlineLinks combine.children="append"> <!-- Direct --> <offlineLink> <url>https://oss.aoapps.com/hodgepodge/apidocs/</url> <location>${project.build.directory}/offlineLinks/com.aoapps/ao-hodgepodge</location> </offlineLink> <offlineLink> <url>https://oss.aoapps.com/lang/apidocs/</url> <location>${project.build.directory}/offlineLinks/com.aoapps/ao-lang</location> </offlineLink> <offlineLink> <url>https://oss.aoapps.com/net-types/apidocs/</url> <location>${project.build.directory}/offlineLinks/com.aoapps/ao-net-types</location> </offlineLink> <offlineLink> <url>https://oss.aoapps.com/servlet-util/apidocs/</url> <location>${project.build.directory}/offlineLinks/com.aoapps/ao-servlet-util</location> </offlineLink> <!-- ao-javadoc-offline: <groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><classifier>javadoc</classifier> --> <!-- ao-javadoc-offline: <groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><classifier>javadoc</classifier> --> </offlineLinks> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <properties> <!-- Newer plugins are failing on release builds: error: -\-add-modules ALL-MODULE-PATH can only be used when compiling the unnamed module or when compiling in the context of an automatic module This is caused by the project being detected as a modular build, despite the exclusions via Private-Package and the added Automatic-Module-Name manifest entry. Specifically excluding module-info.java from javadoc does not solve the issue. Could be related: https://issues.apache.org/jira/browse/MJAVADOC-586 https://bugs.openjdk.org/browse/JDK-8252531 (we also run javadoc in package phase) Workaround by using old version of maven-javadoc-plugin also used by reactor builds. --> <org.apache.maven.plugins.maven-javadoc-plugin.version>${org.apache.maven.plugins.maven-javadoc-plugin.version.reactor}</org.apache.maven.plugins.maven-javadoc-plugin.version> <copy-element-list-to-package-list-before-javadoc.phase>prepare-package</copy-element-list-to-package-list-before-javadoc.phase> </properties> <build> <plugins> <plugin> <groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId> <configuration> <instructions> <!-- Releases use "Automatic-Module-Name" instead of "module-info.java" since has direct dependencies that are not yet modularized. --> <Automatic-Module-Name>${module.name}</Automatic-Module-Name> <Private-Package>!.</Private-Package> </instructions> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId> <configuration> <excludes> <exclude>**/module-info.class</exclude> </excludes> </configuration> </plugin> </plugins> </build> </profile> </profiles> <dependencyManagement> <dependencies> <!-- Direct --> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-hodgepodge</artifactId><version>5.1.2<!-- ${POST-SNAPSHOT} --></version> </dependency> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId><version>5.5.0<!-- ${POST-SNAPSHOT} --></version> </dependency> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId><version>2.0.2<!-- ${POST-SNAPSHOT} --></version> </dependency> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-servlet-util</artifactId><version>5.2.1<!-- ${POST-SNAPSHOT} --></version> </dependency> <!-- javaee-web-api-bom: <groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId> --> <!-- javaee-web-api-bom: <groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId> --> <!-- Transitive --> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-collections</artifactId><version>3.0.0<!-- ${POST-SNAPSHOT} --></version> </dependency> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-tempfiles</artifactId><version>3.0.2<!-- ${POST-SNAPSHOT} --></version> </dependency> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-tlds</artifactId><version>2.0.0<!-- ${POST-SNAPSHOT} --></version> </dependency> <!-- Imports --> <dependency> <groupId>com.aoapps</groupId><artifactId>javaee-web-api-bom</artifactId><version>7.0.1<!-- -POST-SNAPSHOT --></version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Direct --> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-hodgepodge</artifactId> <!-- Javadoc-only --> <optional>true</optional> </dependency> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId> </dependency> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId> </dependency> <dependency> <groupId>com.aoapps</groupId><artifactId>ao-servlet-util</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId> </dependency> </dependencies> </project>