nmw-oss-parent
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.newmediaworks</groupId> <artifactId>nmw-oss-parent</artifactId> <version>1.1.1</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- nmw-oss-parent - Parent POM for all New Media Works open-source software projects. Copyright (C) 2019 New Media Works info@newmediaworks.com 703 2nd Street #465 Santa Rosa, CA 95404 This file is part of nmw-oss-parent. nmw-oss-parent 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. nmw-oss-parent 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 nmw-oss-parent. 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> <groupId>com.newmediaworks</groupId><artifactId>nmw-oss-parent</artifactId><version>1.1.1</version> <packaging>pom</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- The version of JDK used, such as 1.7, 1.8, 9, 10, 11, 12, 13, ... --> <javaVersion>1.7</javaVersion> <!-- This should be set in your ~/.m2/settings.xml and activated --> <compiler.bootclasspath>${bootclasspath.jdk7}</compiler.bootclasspath> <!-- Java 1.8 javadoc bug: https://bugs.openjdk.java.net/browse/JDK-8041628 Java 1.9: Set this back to jdk7. --> <javac.bootclasspath>${bootclasspath.jdk8}</javac.bootclasspath> <!-- The version of Java apidocs to link to, preferring https --> <javac.link.javaApi.jdk5>https://docs.oracle.com/javase/1.5.0/docs/api/</javac.link.javaApi.jdk5> <javac.link.javaApi.jdk6>https://docs.oracle.com/javase/6/docs/api/</javac.link.javaApi.jdk6> <javac.link.javaApi.jdk7>https://docs.oracle.com/javase/7/docs/api/</javac.link.javaApi.jdk7> <javac.link.javaApi.jdk8>https://docs.oracle.com/javase/8/docs/api/</javac.link.javaApi.jdk8> <javac.link.javaApi.jdk9>https://docs.oracle.com/javase/9/docs/api/</javac.link.javaApi.jdk9> <javac.link.javaApi.jdk10>https://docs.oracle.com/javase/10/docs/api/</javac.link.javaApi.jdk10> <javac.link.javaApi.jdk11>https://docs.oracle.com/en/java/javase/11/docs/api/</javac.link.javaApi.jdk11> <javac.link.javaApi.jdk12>https://docs.oracle.com/en/java/javase/12/docs/api/</javac.link.javaApi.jdk12> <javac.link.javaApi.jdk13>https://download.java.net/java/early_access/jdk13/docs/api/</javac.link.javaApi.jdk13> <javac.link.javaApi>${javac.link.javaApi.jdk7}</javac.link.javaApi> <!-- The Java EE apidocs to link to, preferring https --> <javac.link.javaeeApi.5>https://docs.oracle.com/javaee/5/api/</javac.link.javaeeApi.5> <javac.link.javaeeApi.6>https://docs.oracle.com/javaee/6/api/</javac.link.javaeeApi.6> <javac.link.javaeeApi.7>https://docs.oracle.com/javaee/7/api/</javac.link.javaeeApi.7> <javac.link.javaeeApi.8>https://javaee.github.io/javaee-spec/javadocs/</javac.link.javaeeApi.8> <!-- The breadcrumbs for the javadocs --> <javadoc.breadcrumbs><![CDATA[<a target="_top" href="https://oss.newmediaworks.com/">NMW OSS</a> / <a target="_top" href="${project.url}">${shortTitle}</a>]]></javadoc.breadcrumbs> <shortTitle>Parent</shortTitle> <!-- The HTML format of the description --> <description.html>${project.description}</description.html> <!-- Taglib reference line for javadocs --> <javadoc.taglibReference><!-- Default is none --></javadoc.taglibReference> <!-- Modules section for javadocs --> <javadoc.modules><!-- Default is none --></javadoc.modules> <!-- Related Projects section for javadocs --> <javadoc.relatedProjects><!-- Default is none --></javadoc.relatedProjects> <!-- Google Analytics tracking code for the javadocs --> <google.analytics.trackingId>UA-177004-2</google.analytics.trackingId> <!-- Optional Main-Class for JAR manifest --> <osgi.mainClass><!-- Default is none --></osgi.mainClass> <!-- Set to "-POST-SNAPSHOT" by activating the "POST-SNAPSHOT" profile to use post-release dependencies --> <POST-SNAPSHOT><!-- -POST-SNAPSHOT --></POST-SNAPSHOT> </properties> <name>NMW OSS Parent</name> <url>https://oss.newmediaworks.com/parent/</url> <description>Parent POM for all New Media Works open-source software projects.</description> <inceptionYear>2019</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>New Media Works</name> <url>https://www.newmediaworks.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/newmediaworks/${project.artifactId}.git</connection> <developerConnection>scm:git:git@github.com:newmediaworks/${project.artifactId}.git</developerConnection> <url>https://github.com/newmediaworks/${project.artifactId}</url> <tag>nmw-oss-parent-1.1.1</tag> </scm> <repositories> <repository> <id>sonatype-nexus-snapshots</id> <name>Sonatype Nexus Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <distributionManagement> <snapshotRepository> <id>ossrh-newmediaworks</id> <name>ossrh-newmediaworks</name> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <!-- Unused for Nexus plugin <repository> <id>ossrh-newmediaworks</id> <name>ossrh-newmediaworks</name> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> --> </distributionManagement> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId><version>1.8</version> </plugin> <!-- Default to using -Xlint and showing warnings --> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version> <configuration> <compilerArgs> <arg>-Xlint</arg> </compilerArgs> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> <source>${javaVersion}</source> <target>${javaVersion}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-enforcer-plugin</artifactId><version>3.0.0-M2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.1.0</version> <configuration> <useDefaultDelimiters>false</useDefaultDelimiters> <delimiters> <!-- ${*} is JSP EL and shell scripts, so avoiding it --> <!-- #{*} is JSP EL deferred syntax, so avoiding it --> <!-- @{*} selected over @*@, as it gives our developers a more consistent representation with JSP EL and shell scripts --> <delimiter>@{*}</delimiter> </delimiters> </configuration> <executions> <execution> <id>default-resources</id> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/resources-filtered</directory> <filtering>true</filtering> </resource> </resources> <outputDirectory>${project.build.outputDirectory}</outputDirectory> </configuration> </execution> <!-- maven-bundle-plugin does not use the filtered resources from project.build.outputDirectory. To workaround this limitation, we perform a second filtering into a separate directory that is then used in bundle creation. We tried to avoid duplicate filtering by only filtering to target/resources-filtered and not also into target/classes. However, maven-jar-plugin used for default-jar does not allow multiple source directories, and a second execution must be placed in a different artifact classifier. We hope for a better solution within maven-bundle-plugin in the future, but this issue goes back over a decade - we're not holding our breath. --> <execution> <id>filter-resources</id> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources> <resource> <directory>src/main/resources-filtered</directory> <filtering>true</filtering> </resource> </resources> <outputDirectory>${project.build.directory}/resources-filtered</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version> </plugin> <!-- We need newer dependency plugin for Java 8 compatibility --> <!-- See https://issues.apache.org/jira/browse/MDEP-439 --> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>3.1.1</version> </plugin> <!-- Supporting packaging of "bundle" for OSGI bundles --> <plugin> <groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId><version>4.2.0</version> </plugin> <!-- Other plugins used below --> <plugin> <groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>3.0.0</version> </plugin> <plugin> <groupId>io.reformanda.semper</groupId><artifactId>dependencyversion-maven-plugin</artifactId><version>1.0.1</version> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId><artifactId>nexus-staging-maven-plugin</artifactId><version>1.6.8</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-release-plugin</artifactId><version>2.5.3</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId><artifactId>versions-maven-plugin</artifactId><version>2.7</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId><artifactId>buildnumber-maven-plugin</artifactId><version>1.4</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>1.6</version> </plugin> <!-- Setup a few global plugin versions so we don't have to specify elsewhere. This includes the versions of other plugins inherited from the super-pom without versions. This also keeps the output of versions:display-plugin-updates more meaningful. --> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId><version>2.5.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.1.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.2.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>3.1.0</version> </plugin> <plugin> <!-- Leave at 3.0.0 until bug fixed: [MJAVADOC-539] Upgrading plugin from 3.0.0 to 3.0.1 and 3.1.0 breaks certain external javadoc links https://issues.apache.org/jira/browse/MJAVADOC-539 --> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.0.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-site-plugin</artifactId><version>3.7.1</version> </plugin> <!-- Plugins used by some project-specific pom.xml --> <plugin> <groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>9.4.19.v20190610</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <message>Maven >= 3.5.0 required by org.apache.felix:maven-bundle-plugin</message> <version>[3.5.0,)</version> </requireMavenVersion> </rules> </configuration> </execution> </executions> </plugin> <!-- Make the components of the current version available as parsedVersion.* properties --> <plugin> <groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>parse-version</id> <goals> <goal>parse-version</goal> </goals> </execution> </executions> </plugin> <!-- Create build.currentYear property for filtering --> <plugin> <groupId>org.codehaus.mojo</groupId><artifactId>buildnumber-maven-plugin</artifactId> <executions> <execution> <id>build.currentYear</id> <phase>initialize</phase> <goals> <goal>create-timestamp</goal> </goals> <configuration> <timestampFormat>yyyy</timestampFormat> <timestampPropertyName>build.currentYear</timestampPropertyName> </configuration> </execution> </executions> </plugin> <!-- Make dependency versions available as properties --> <plugin> <groupId>io.reformanda.semper</groupId><artifactId>dependencyversion-maven-plugin</artifactId> <executions> <execution> <id>set-all</id> <goals> <goal>set-version</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <!-- Built-By defaults to ${user.name} - hide it --> <Built-By /> <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> <X-Compile-Source-JDK>${javaVersion}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${javaVersion}</X-Compile-Target-JDK> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <!-- Built-By defaults to ${user.name} - hide it --> <Built-By /> <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> <X-Compile-Source-JDK>${javaVersion}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${javaVersion}</X-Compile-Target-JDK> </manifestEntries> </archive> </configuration> </plugin> <!-- The second copy of resources-filtered is required for maven-bundle-plugin, even if empty. Otherwise the bundle packaging will fail. --> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>create-resources-filtered-output</id> <phase>process-resources</phase> <configuration> <target> <mkdir dir="${project.build.directory}/classes" /> <mkdir dir="${project.build.directory}/resources-filtered" /> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <!-- Supporting packaging of "bundle" for OSGI bundles --> <plugin> <groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <!-- Built-By defaults to ${user.name} - skip it --> <_removeheaders>Built-By,POST-SNAPSHOT</_removeheaders> <!-- TODO: What to do with post-release builds regarding Bundle-Version? --> <!-- TODO: ao-badges for OSGI? --> <!-- TODO: _nouses like in http://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk/pom.xml ? --> <Bundle-DocURL>${project.url}</Bundle-DocURL> <!-- Other values seen at http://maven.reprezen.com/repository/releases/com/fasterxml/oss-parent/11/oss-parent-11.pom With documentation found at https://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html Also from https://maven.apache.org/shared/maven-archiver/ --> <Bundle-Name>${project.name}</Bundle-Name> <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> <Bundle-Description>${project.description}</Bundle-Description> <Implementation-Title>${project.name}</Implementation-Title> <Implementation-Version>${project.version}</Implementation-Version><!-- TODO: What to do with post-release builds? --> <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id> <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> <Implementation-URL>${project.url}</Implementation-URL> <Include-Resource> {maven-resources}, target/resources-filtered </Include-Resource> <Specification-Title>${project.name}</Specification-Title> <!-- TODO: The Specification-Version is not being set to major.minor as expected. Could be related to being in parent pom? Possibly related: https://issues.apache.org/jira/browse/FELIX-3392 https://stackoverflow.com/questions/12279952/mercurial-changeset-in-osgi-bundle-manifest-with-maven Not important enought to put any more time into this, at least for now. --> <Specification-Version>${project.artifact.selectedVersion.majorVersion}.${project.artifact.selectedVersion.minorVersion}</Specification-Version> <Specification-Vendor>${project.organization.name}</Specification-Vendor> <!-- Instructions not found in docs, and adapted by what found in https://github.com/mybatis/parent/blob/master/pom.xml --> <!-- TODO: Necessary? Helpful? --> <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> <X-Compile-Source-JDK>${javaVersion}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${javaVersion}</X-Compile-Target-JDK> <!-- Optional Main-Class, as seen at https://github.com/FasterXML/oss-parent/blob/master/pom.xml --> <Main-Class>${osgi.mainClass}</Main-Class> </instructions> </configuration> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId><artifactId>nexus-staging-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <serverId>ossrh-newmediaworks</serverId> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-release-plugin</artifactId> <configuration> <useReleaseProfile>false</useReleaseProfile> <releaseProfiles>release</releaseProfiles> <goals>deploy</goals> </configuration> </plugin> </plugins> </build> <profiles> <!-- This profile is not active by default. Activate in ~/.m2/settings.xml to use post-release builds as dependencies: <profile> <id>POST-SNAPSHOT</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <POST-SNAPSHOT>-POST-SNAPSHOT</POST-SNAPSHOT> </properties> </profile> This profile must not be active while performing a release. Deactivate with: mvn -Prelease,'!POST-SNAPSHOT' … Post-release builds happen after a release and before a new -SNAPSHOT is started. They are used to ensure that previous releases still compile against newer dependencies. Furthermore, post-release builds may contain the following changes without being promoted to the next -SNAPSHOT version: 1) Updated parent POM 2) Updated POM 3) Updated Java version (without any source code changes) 4) Updated dependency versions 5) Updated javadocs 6) Updated documentation 7) Other changes to white-space or comments Post-release builds also allow NetBeans to correctly connect projects together for those who are actively developing multiple modules. Those who are only using the dependency can use the regular release to avoid the overhead of the daily check for updates. --> <profile> <id>POST-SNAPSHOT</id> <properties> <POST-SNAPSHOT>-POST-SNAPSHOT</POST-SNAPSHOT> </properties> </profile> <!-- Add bootclasspath when profile enabled --> <profile> <id>bootclasspaths</id> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId> <configuration> <compilerArguments> <bootclasspath>${compiler.bootclasspath}</bootclasspath> </compilerArguments> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId> <configuration> <bootclasspath>${javac.bootclasspath}</bootclasspath> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <!-- Disable doclint and allow-script-in-comments in Java 1.8+ --> <profile> <id>java8-javadoc</id> <activation> <jdk>[1.8,)</jdk> </activation> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId> <configuration> <additionalOptions>--allow-script-in-comments</additionalOptions> <doclint>none</doclint> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <!-- Do not pack the war in "skip-war" profile --> <profile> <id>skip-war</id> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId> <executions> <execution> <id>default-war</id> <phase>none</phase> </execution> <execution> <id>war-exploded</id> <phase>package</phase> <goals> <goal>exploded</goal> </goals> </execution> </executions> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <id>release</id> <build> <plugins> <!-- Include the unfiltered form of resources-filtered in the source artifact --> <plugin> <groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-resources-filtered-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>src/main/resources-filtered</source> </sources> </configuration> </execution> </executions> </plugin> <!-- Attach sources only during release builds --> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <!-- Built-By defaults to ${user.name} - hide it --> <Built-By /> <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> <X-Compile-Source-JDK>${javaVersion}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${javaVersion}</X-Compile-Target-JDK> </manifestEntries> </archive> </configuration> </execution> </executions> </plugin> <!-- Create javadocs only during release builds --> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId> <configuration> <!-- TODO: Here and all javadocs, support canonical URL links in generated docs --> <packagesheader><![CDATA[<a target="_top" href="${project.url}">${project.name} ${project.version}</a>]]></packagesheader> <header><![CDATA[<a target="_top" href="${project.url}">${project.name} ${project.version}</a>]]></header> <keywords>true</keywords><!-- Help internal search systems --> <quiet>true</quiet> <docfilessubdirs>true</docfilessubdirs> <!-- Links to JDK docs are added manually to the https version on a per-project basis --> <detectJavaApiLink>false</detectJavaApiLink> <links> <link>${javac.link.javaApi}</link> </links> <top> <![CDATA[<div style="position:absolute; top:0; right:0"><a target="_top" href="${project.scm.url}"><img src="data:image/png;base64,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" style="border:0" width="149" height="149" alt="Fork me on GitHub" /></a></div> <div style="margin: 0.5em 0"> <h1 style="margin: 0 1em"><a target="_top" href="https://newmediaworks.com/"><img style="display:inline-block; vertical-align:middle; line-height:40px" src=" data:image/png;base64,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" alt="New Media Works Logo" width="40" height="40" /></a> ${javadoc.breadcrumbs}</h1> <p style="margin-left: 1em; margin-right: 1em"> ${description.html} </p> <div style="float:left; margin: 0 1em"> <h2 style="margin-top: 0em">Project Links</h2> <ul> <li><a target="_top" href="${project.url}">Project Home</a></li> <li><a target="_top" href="${project.url}changelog">Changelog</a></li> ${javadoc.taglibReference} <li><a target="_top" href="${project.url}apidocs/">API Docs</a></li> <li><a target="_top" href="https://search.maven.org/#search%7Cgav%7C1%7Cg:%22${project.groupId}%22%20AND%20a:%22${project.artifactId}%22">Maven Central Repository</a></li> <li><a target="_top" href="${project.scm.url}">GitHub</a></li> </ul> </div> ${javadoc.modules} ${javadoc.relatedProjects} <div style="float:left; margin: 0 1em"> <h2 style="margin-top: 0em">Contact Us</h2> <p> For questions or support, please <a target="_top" href="https://www.newmediaworks.com/html/contact.html">contact us</a>: </p> <p> Email: <a target="_top" href="mailto:info@newmediaworks.com">info@newmediaworks.com</a><br /> Phone: <a target="_top" href="tel:+1-707-252-7700">+1-707-252-7700</a><br /> Web: <a target="_top" href="https://www.newmediaworks.com/html/contact.html">https://www.newmediaworks.com/html/contact.html</a> </p> </div> </div>]]> </top> <bottom> <![CDATA[Copyright © {inceptionYear}–{currentYear} {organizationName}. All rights reserved. <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', '${google.analytics.trackingId}', 'auto'); ga('send', 'pageview'); </script>]]> </bottom> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <!-- Built-By defaults to ${user.name} - hide it --> <Built-By /> <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> <X-Compile-Source-JDK>${javaVersion}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${javaVersion}</X-Compile-Target-JDK> </manifestEntries> </archive> </configuration> </execution> </executions> </plugin> <!-- Sign all release jars --> <plugin> <groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <keyname>${gpg.oss-newmediaworks-com.keyname}</keyname> <passphrase>${gpg.oss-newmediaworks-com.passphrase}</passphrase> <defaultKeyring>${gpg.oss-newmediaworks-com.defaultKeyring}</defaultKeyring> <useAgent>${gpg.oss-newmediaworks-com.useagent}</useAgent> <lockMode>${gpg.oss-newmediaworks-com.lockMode}</lockMode> <homedir>${gpg.oss-newmediaworks-com.homedir}</homedir> <publicKeyring>${gpg.oss-newmediaworks-com.publicKeyring}</publicKeyring> <secretKeyring>${gpg.oss-newmediaworks-com.secretKeyring}</secretKeyring> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>