Maven Central Repository

nmw-oss-parent

Used in 0 components

Overview

Parent POM for all New Media Works open-source software projects.

Snippets

<dependency>
    <groupId>com.newmediaworks</groupId>
    <artifactId>nmw-oss-parent</artifactId>
    <version>1.5.0</version>
</dependency>

Maven POM File

<?xml version="1.0" encoding="UTF-8"?>
<!--
nmw-oss-parent - Parent POM for all New Media Works open-source software projects.
Copyright (C) 2019, 2020  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.5.0</version>
	<packaging>pom</packaging>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- The version of Java apidocs to link to, preferring https -->
		<javadoc.link.javase.5>https://docs.oracle.com/javase/1.5.0/docs/api/</javadoc.link.javase.5>
		<javadoc.link.javase.6>https://docs.oracle.com/javase/6/docs/api/</javadoc.link.javase.6>
		<javadoc.link.javase.7>https://docs.oracle.com/javase/7/docs/api/</javadoc.link.javase.7>
		<javadoc.link.javase.8>https://docs.oracle.com/javase/8/docs/api/</javadoc.link.javase.8>
		<javadoc.link.javase.9>https://docs.oracle.com/javase/9/docs/api/</javadoc.link.javase.9>
		<javadoc.link.javase.10>https://docs.oracle.com/javase/10/docs/api/</javadoc.link.javase.10>
		<javadoc.link.javase.11>https://docs.oracle.com/en/java/javase/11/docs/api/</javadoc.link.javase.11>
		<javadoc.link.javase.12>https://docs.oracle.com/en/java/javase/12/docs/api/</javadoc.link.javase.12>
		<javadoc.link.javase.13>https://docs.oracle.com/en/java/javase/13/docs/api/</javadoc.link.javase.13>
		<javadoc.link.javase.14>https://docs.oracle.com/en/java/javase/14/docs/api/</javadoc.link.javase.14>
		<javadoc.link.javase.15>https://download.java.net/java/early_access/jdk15/docs/api/</javadoc.link.javase.15>

		<!-- The Java EE apidocs to link to, preferring https -->
		<javadoc.link.javamail>https://javaee.github.io/javamail/docs/api/</javadoc.link.javamail>
		<javadoc.link.javaee.5>https://docs.oracle.com/javaee/5/api/</javadoc.link.javaee.5>
		<javadoc.link.javaee.6>https://docs.oracle.com/javaee/6/api/</javadoc.link.javaee.6>
		<javadoc.link.javaee.7>https://docs.oracle.com/javaee/7/api/</javadoc.link.javaee.7>
		<javadoc.link.javaee.8>https://javaee.github.io/javaee-spec/javadocs/</javadoc.link.javaee.8>

		<!-- Java SE version -->
		<javase.version>1.8</javase.version><!-- 1.6, 1.7, 1.8, 9, 10, 11, ... -->
		<javase.release>8</javase.release><!-- 6, 7, 8, 9, 10, 11, ... -->
		<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>
		<!-- These values are copied from the project being documented -->
		<documented.javase.version>1.8</documented.javase.version><!-- 1.6, 1.7, 1.8, 9, 10, 11, ... -->
		<documented.javadoc.link.javase>${javadoc.link.javase.8}</documented.javadoc.link.javase>

		<!-- Java EE version -->
		<javaee.version>6</javaee.version>
		<javadoc.link.javaee>${javadoc.link.javaee.6}</javadoc.link.javaee>
		<!-- These values are copied from the project being documented -->
		<documented.javaee.version>6</documented.javaee.version>
		<documented.javadoc.link.javaee>${documented.javadoc.link.javaee.6}</documented.javadoc.link.javaee>

		<!-- Maven Java version -->
		<maven.compiler.source>${javase.version}</maven.compiler.source>
		<maven.compiler.target>${javase.version}</maven.compiler.target>
		<!-- 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/nmw-oss-parent.git</connection>
		<developerConnection>scm:git:git@github.com:newmediaworks/nmw-oss-parent.git</developerConnection>
		<url>https://github.com/newmediaworks/nmw-oss-parent</url>
		<tag>nmw-oss-parent-1.5.0</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>${maven.compiler.source}</source>
						<target>${maven.compiler.target}</target>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId><artifactId>maven-enforcer-plugin</artifactId><version>3.0.0-M3</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>3.0.0-M4</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.2</version>
				</plugin>
				<!-- Supporting packaging of "bundle" for OSGI bundles -->
				<plugin>
					<groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId><version>4.2.1</version>
				</plugin>
				<!-- Other plugins used below -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>3.1.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>3.0.0-M1</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>3.0.0-M1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId><version>3.0.0-M1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.2.0</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.2.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.1.1</version>
					<configuration>
						<source>${maven.compiler.source}</source>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId><artifactId>maven-site-plugin</artifactId><version>3.9.0</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.27.v20200227</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 &gt;= 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>${maven.compiler.source}</X-Compile-Source-JDK>
							<X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId>
				<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>
					<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
					<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>${maven.compiler.source}</X-Compile-Source-JDK>
							<X-Compile-Target-JDK>${maven.compiler.target}</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>${maven.compiler.source}</X-Compile-Source-JDK>
						<X-Compile-Target-JDK>${maven.compiler.target}</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) Updated unit tests
			8) Deprecated methods and classes
			9) Renamed private fields and local variables
			10) 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>
		<!-- Use bootclasspath in JDK < 9 -->
		<profile>
			<id>javase.bootclasspath</id>
			<activation>
				<jdk>(,9)</jdk>
			</activation>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId>
							<configuration>
								<compilerArguments>
									<bootclasspath>${javase.bootclasspath}</bootclasspath>
								</compilerArguments>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId>
							<configuration>
								<bootclasspath>${javase.bootclasspath}</bootclasspath>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
		</profile>
		<!-- Use release in JDK >= 9 -->
		<profile>
			<id>javase.release</id>
			<activation>
				<jdk>[9,)</jdk>
			</activation>
			<properties>
				<maven.compiler.release>${javase.release}</maven.compiler.release>
			</properties>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId>
							<configuration>
								<release>${maven.compiler.release}</release>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId>
							<configuration>
								<release>${maven.compiler.release}</release>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
		</profile>
		<!-- Configure 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>all,-missing</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>${maven.compiler.source}</X-Compile-Source-JDK>
											<X-Compile-Target-JDK>${maven.compiler.target}</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>${javadoc.link.javase}</link>
							</links>
							<resourcesArtifacts>
								<resourcesArtifact>
									<groupId>com.newmediaworks</groupId><artifactId>nmw-javadoc-resources</artifactId><version>1.0.0<!-- 1.0.1-SNAPSHOT${POST-SNAPSHOT} --></version>
								</resourcesArtifact>
							</resourcesArtifacts>
							<top>
<![CDATA[<div style="position:absolute; top:0; right:0"><a target="_top" href="${project.scm.url}"><img src="{@docRoot}/nmw-javadoc-resources/fork-me.png" 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="{@docRoot}/nmw-javadoc-resources/nmw-logo.png" 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>
							<!-- TODO: Global site tag (gtag.js) once HTML 5 -->
							<bottom>
<![CDATA[Copyright &#169; {inceptionYear}&#x2013;{currentYear} {organizationName}. All rights reserved.
<script type="application/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>${maven.compiler.source}</X-Compile-Source-JDK>
											<X-Compile-Target-JDK>${maven.compiler.target}</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>
									<lockMode>multiple</lockMode>
									<homedir>${gpg.oss-newmediaworks-com.homedir}</homedir>
									<keyname>${gpg.oss-newmediaworks-com.keyname}</keyname>
									<passphrase>${gpg.oss-newmediaworks-com.passphrase}</passphrase>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>