<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<!--
	This pom is a copy of org.apache:apache, the idea being to also inherit
	from org.springframework.boot:spring-boot-starter-parent.

	As little as possible has been changed.  The customisations are clearly identified.
	Where the customisations clash with existing (eg project metadata stuff),
	then the original from org.apache:apache have been commented out.
	-->

	<!-- for more information, see the documentation of this POM: http://maven.apache.org/pom/asf/ -->

	<!-- ORG.APACHE:APACHE : commented out : start

    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>24</version>
    <packaging>pom</packaging>

	ORG.APACHE:APACHE : commented out : end -->

	<!-- APACHE ISIS customisation 1/15: : start -->

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.4</version>
		<relativePath/>
	</parent>

	<groupId>org.apache.isis</groupId>
	<artifactId>isis-parent</artifactId>
	<version>2.0.0-M7</version>
	<packaging>pom</packaging>

	<!-- APACHE ISIS customisation 1/15: end -->


	<!-- ORG.APACHE:APACHE : commented out : start

    <name>The Apache Software Foundation</name>
    <description>
        The Apache Software Foundation provides support for the Apache community of open-source software projects.
        The Apache projects are characterized by a collaborative, consensus based development process, an open and
        pragmatic software license, and a desire to create high quality software that leads the way in its field.
        We consider ourselves not simply a group of projects sharing a server, but rather a community of developers
        and users.
    </description>
    <url>https://www.apache.org/</url>

	ORG.APACHE:APACHE : commented out : end -->

	<!-- APACHE ISIS customisation 2/15: start -->
	<name>Apache Isis</name>
	<description>Parent for the core framework + extensions, starter parent pom for starter apps.</description>

    <url>https://isis.apache.org</url>
	<inceptionYear>2010</inceptionYear>
	<!-- APACHE ISIS customisation 2/15: end -->

	<organization>
		<name>The Apache Software Foundation</name>
		<url>https://www.apache.org/</url>
	</organization>
	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<!-- ORG.APACHE:APACHE : commented out : start
	<mailingLists>
        <mailingList>
            <name>Apache Announce List</name>
            <subscribe>announce-subscribe@apache.org</subscribe>
            <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
            <post>announce@apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/www-announce/</archive>
        </mailingList>
    </mailingLists>

    <scm>
        <connection>scm:git:https://gitbox.apache.org/repos/asf/maven-apache-parent.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-apache-parent.git</developerConnection>
        <url>https://github.com/apache/maven-apache-parent/tree/${project.scm.tag}</url>
        <tag>apache-24</tag>
    </scm>
	ORG.APACHE:APACHE : commented out : end -->

	<!-- APACHE ISIS customisation 3/15: start -->
	<mailingLists>
		<mailingList>
			<name>developers</name>
			<archive>http://mail-archives.apache.org/mod_mbox/isis-dev/</archive>
			<post>dev@isis.apache.org</post>
			<subscribe>dev-subscribe@isis.apache.org</subscribe>
			<unsubscribe>dev-unsubscribe@isis.apache.org</unsubscribe>
		</mailingList>
		<mailingList>
			<name>users</name>
			<archive>http://mail-archives.apache.org/mod_mbox/isis-users/</archive>
			<post>users@isis.apache.org</post>
			<subscribe>users-subscribe@isis.apache.org</subscribe>
			<unsubscribe>users-unsubscribe@isis.apache.org</unsubscribe>
		</mailingList>
	</mailingLists>

	<scm>
		<connection>scm:git:http://github.com/apache/isis.git</connection>
		<developerConnection>scm:git:https://github.com/apache/isis.git</developerConnection>
		<url>http://github.com/apache/isis</url>
		<tag>HEAD</tag>
	</scm>

	<issueManagement>
		<system>Jira</system>
		<url>https://issues.apache.org/jira/browse/ISIS</url>
	</issueManagement>

	<ciManagement>
		<system>CI</system>
		<url>https://github.com/apache-isis-committers/isis-nightly</url>
	</ciManagement>

	<developers>
		<developer>
			<id>ahuber</id>
			<name>Andi Huber</name>
			<email>ahuber@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>bibryam</id>
			<name>Bilgin Ibryam</name>
			<email>bibryam@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+0</timezone>
		</developer>
		<developer>
			<id>danhaywood</id>
			<name>Dan Haywood</name>
			<email>danhaywood@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+0</timezone>
		</developer>
		<developer>
			<id>dslaughter</id>
			<name>Dave Slaughter</name>
			<email>dslaughter@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>-6</timezone>
		</developer>
		<developer>
			<id>jcvanderwal</id>
			<name>Jeroen van der Wal</name>
			<email>jcvanderwal@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>jdoornenbal</id>
			<name>Johan Doornenbal</name>
			<email>jdoornenbal@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>joergrade</id>
			<name>Joerg Rade</name>
			<email>joergrade@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>kevin</id>
			<name>Kevin Meyer</name>
			<email>kevin@apache.org</email>
			<roles>
				<role>pmc chair</role>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+2</timezone>
		</developer>
		<developer>
			<id>madytyoo</id>
			<name>Maurizio Taverna</name>
			<email>madytyoo@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>mgrigorov</id>
			<name>Martin Grigorov</name>
			<email>mgrigorov@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+2</timezone>
		</developer>
		<developer>
			<id>mnour</id>
			<name>Mohammad Nour El-Din</name>
			<email>mnour@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>mentor while incubating</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>oscarbou</id>
			<name>Oscar Bou</name>
			<email>oscarbou@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>rmatthews</id>
			<name>Robert Matthews</name>
			<email>rmatthews@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+0</timezone>
		</developer>
		<developer>
			<id>struberg</id>
			<name>Mark Struberg</name>
			<email>struberg@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>mentor while incubating</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>themalkolm</id>
			<name>Alexander Krasnuhkin</name>
			<email>themalkolm@apache.org</email>
			<roles>
				<role>pmc</role>
				<role>committer</role>
			</roles>
			<timezone>+3</timezone>
		</developer>
	</developers>
	<!-- APACHE ISIS customisation 3/15: end -->

	<distributionManagement>
		<repository>
			<id>apache.releases.https</id>
			<name>Apache Release Distribution Repository</name>
			<url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
		</repository>
		<snapshotRepository>
			<id>apache.snapshots.https</id>
			<name>${distMgmtSnapshotsName}</name>
			<url>${distMgmtSnapshotsUrl}</url>
		</snapshotRepository>
	</distributionManagement>

	<properties>
		<distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
		<distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl>
		<organization.logo>https://www.apache.org/images/asf_logo_wide_2016.png</organization.logo>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<sourceReleaseAssemblyDescriptor>source-release</sourceReleaseAssemblyDescriptor>
		<gpg.useagent>true</gpg.useagent>
		<minimalMavenBuildVersion>3.1.1</minimalMavenBuildVersion>
		<minimalJavaBuildVersion>1.8</minimalJavaBuildVersion>
		<!-- APACHE ISIS customisation 4/15: start -->
		<java.version>11</java.version>
		<maven.compiler.source>${java.version}</maven.compiler.source>
		<maven.compiler.target>${java.version}</maven.compiler.target>
		<maven.compiler.release>11</maven.compiler.release>

		<!-- overriding Spring, since v3.0.0 breaks artifact retrieval of org.jruby:jruby (of any version) -->
		<maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>

		<lombok.version>1.18.22</lombok.version> <!-- overriding Spring -->
		<delombok.output>${project.build.directory}/delombok</delombok.output>
		<!-- APACHE ISIS customisation 4/15: end -->
		<surefire.version>2.22.2</surefire.version>
		<assembly.tarLongFileMode>posix</assembly.tarLongFileMode>
		<!-- set this property for all derived projects:
        -->
        <project.build.outputTimestamp>2022-02-11T22:20:00Z</project.build.outputTimestamp>
    </properties>

<!-- breaks dependabot run: timeout due to repo not accessible
	<repositories>
		<repository>
			<id>apache.snapshots</id>
			<name>Apache Snapshot Repository</name>
			<url>https://repository.apache.org/snapshots</url>
			<releases>
				<enabled>false</enabled>
			</releases>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>apache.snapshots</id>
			<name>Apache Snapshot Repository</name>
			<url>https://repository.apache.org/snapshots</url>
			<releases>
				<enabled>false</enabled>
			</releases>
		</pluginRepository>
	</pluginRepositories>
	 -->

	<build>
		<pluginManagement>
			<plugins>
            <!-- set versions of common plugins for reproducibility, ordered alphabetically -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>3.0.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>3.3.0</version>
				</plugin>
				<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-compiler-plugin</artifactId>
					<version>3.8.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.2.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-docck-plugin</artifactId>
					<version>1.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-ear-plugin</artifactId>
					<version>3.2.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
 					<version>${maven-enforcer-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>${surefire.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>3.0.1</version>
					<configuration>
						<gpgArguments>
							<arg>--digest-algo=SHA512</arg>
						</gpgArguments>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-help-plugin</artifactId>
					<version>3.2.0</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-invoker-plugin</artifactId>
					<version>3.2.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.2.0</version>
					<configuration>
						<archive>
							<manifest>
								<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							</manifest>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.3.0</version>
                    <configuration>
                        <notimestamp>true</notimestamp><!-- avoid noise for svn/gitpubsub -->
                    </configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.6.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>3.1.2</version>
                    <configuration>
                        <pluginManagementExcludes>
                            <exclude>org.eclipse.m2e:lifecycle-mapping</exclude>
                        </pluginManagementExcludes>
                    </configuration>
				</plugin>
				<!-- START SNIPPET: release-plugin-configuration -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
                    <version>3.0.0-M4</version>
					<configuration>
						<useReleaseProfile>false</useReleaseProfile>
						<goals>deploy</goals>
                        <releaseProfiles>apache-release</releaseProfiles>
					</configuration>
				</plugin>
				<!-- END SNIPPET: release-plugin-configuration -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-remote-resources-plugin</artifactId>
					<version>1.7.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.2.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-scm-plugin</artifactId>
					<version>1.12.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-scm-publish-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.11.0</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-surefire-plugin</artifactId>
					<version>${surefire.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-report-plugin</artifactId>
					<version>${surefire.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>3.3.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>3.2.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.rat</groupId>
					<artifactId>apache-rat-plugin</artifactId>
					<version>0.13</version>

					<!-- APACHE ISIS customisation 5/15: start -->
					<configuration>
						<addDefaultLicenseMatchers>true</addDefaultLicenseMatchers>
						<excludeSubProjects>true</excludeSubProjects>
						<excludes>
							<exclude>**/target/**</exclude>
							<exclude>**/target-ide/**</exclude>

							<exclude>**/node_modules/**</exclude>
							<exclude>**/node/npm</exclude>
							<exclude>**/node/npm.cmd</exclude>

							<exclude>**/*.project</exclude>
							<exclude>**/.classpath</exclude>
							<exclude>**/.settings/**</exclude>
							<exclude>**/*.launch</exclude>
							<exclude>**/*.columnOrder.txt</exclude>
							<exclude>**/*.drawio.svg</exclude>
							<exclude>**/META-INF/spring.factories</exclude>

							<exclude>**/incubator/clients/kroviz/package.json.d/project.info</exclude>

							<exclude>**/isis/tooling/model4adoc/src/test/resources/org/apache/isis/tooling/adocmodel/test/**</exclude>

							<exclude>**/*.iml</exclude>
							<exclude>**/webpack.config.js</exclude>
							<exclude>**/webpack.generated.js</exclude>
							<exclude>**/pnpm-lock.yaml</exclude>
							<exclude>**/pnpmfile.js</exclude>

							<exclude>**/*.pdn</exclude>
							<exclude>**/*.svg</exclude>
							<exclude>**/*.rtf</exclude>
							<exclude>**/*.json</exclude>
							<exclude>**/.gitkeep</exclude>
							<exclude>**/*.min.js</exclude>
							<exclude>**/fakedata/applib/services/clobs/*.dtd</exclude>
							<exclude>**/fakedata/applib/services/clobs/*.dcl</exclude>
							<exclude>**/fakedata/applib/services/clobs/*.soc</exclude>
							<exclude>**/fakedata/applib/services/clobs/vs</exclude>
							<exclude>**/fakedata/applib/services/clobs/vx</exclude>

							<exclude>**/MANIFEST.MF</exclude>
							<exclude>**/*.ucd</exclude>
							<exclude>**/*.ucls</exclude>
							<exclude>**/*.puml</exclude>
							<exclude>**/antora/supplemental-ui/**</exclude>

							<exclude>**/xml/objects/**</exclude>
							<exclude>**/test.data</exclude>
							<exclude>**/fixture-data/**</exclude>
							<exclude>**/partials/module-nav.adoc</exclude>
							<exclude>**/partials/extensions.adoc</exclude>
							<exclude>**/partials/component-nav.adoc</exclude>
							<exclude>**/_nav.adoc</exclude>
							<exclude>**/_overview/nav.adoc</exclude>

							<exclude>**/src/test/resources/org/apache/isis/subdomains/docx/applib/*.html</exclude>
							<exclude>**/adoc/modules/docx/examples/*.html</exclude>

							<exclude>**/application.js</exclude>

							<exclude>**/jquery.zclip.js</exclude>
							<exclude>**/simple-sidebar.css</exclude>
							<exclude>**/bootstrap-growl.js</exclude>
							<exclude>**/moment.js</exclude>
							<exclude>**/prism*.js</exclude>
							<exclude>**/prism*.css</exclude>
							<exclude>**/kroviz/webpack.config.d/**</exclude>

							<exclude>**/viewer/wicket/ui/components/**/*.css</exclude>
							<exclude>**/viewer/wicket/ui/components/**/*.js</exclude>
							<exclude>**/bootstrap-datetimepicker.min.css</exclude>
							<exclude>**/bootstrap-datetimepicker.css</exclude>
							<exclude>**/select2-bootstrap.css</exclude>

							<exclude>**/wicket-xhtml1.4-strict.dtd</exclude>

							<exclude>**/src/main/resources/supplemental-models.xml</exclude>
							<exclude>**/datanucleus.log</exclude>
							<exclude>**/gradle/wrapper/gradle-wrapper.properties</exclude>
							<exclude>**/gradlew</exclude>
							<exclude>**/gradlew.bat</exclude>
							<exclude>**/rebel.xml</exclude>
							<exclude>**/translations**.po</exclude>
							<exclude>**/translations.pot</exclude>
							<exclude>**/intellij/launch/*.xml</exclude>

							<exclude>**/css/home/scss-files.txt</exclude>
							<exclude>**/css/home/styles.css</exclude>
							<exclude>**/css/site-custom.css</exclude>

							<exclude>**/swagger-ui/**</exclude>

							<exclude>**/META-INF/services/**</exclude>
						</excludes>
						<licenses>
							<license
									implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
								<licenseFamilyCategory>AL2  </licenseFamilyCategory>
								<licenseFamilyName>Apache License 2.0</licenseFamilyName>
								<notes />
								<patterns>
									<pattern>Licensed to the Apache Software Foundation (ASF) under
										one</pattern>
								</patterns>
							</license>
							<license
									implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
								<licenseFamilyCategory>MIT</licenseFamilyCategory>
								<licenseFamilyName>MIT Licensed</licenseFamilyName>
								<notes />
								<patterns>
									<pattern>The MIT License (MIT)</pattern>
									<pattern>Dual licensed under the MIT</pattern>
									<pattern>http://prismjs.com/download.html</pattern>
								</patterns>
							</license>
							<license
									implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
								<licenseFamilyCategory>CC3</licenseFamilyCategory>
								<licenseFamilyName>Creative Commons 3.0</licenseFamilyName>
								<notes />
								<patterns>
									<pattern>ASCII text placed in the public domain by Moby Lexical Tools, 1992.</pattern>
								</patterns>
							</license>
							<license
									implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
								<licenseFamilyCategory>JMOCK</licenseFamilyCategory>
								<licenseFamilyName>JMock</licenseFamilyName>
								<notes />
								<patterns>
									<pattern>Copyright (c) 2000-2007, jMock.org</pattern>
								</patterns>
							</license>
							<license
									implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
								<licenseFamilyCategory>JMOCK</licenseFamilyCategory>
								<licenseFamilyName>JMock</licenseFamilyName>
								<notes />
								<patterns>
									<pattern>Copyright (c) 2000-2007, jMock.org</pattern>
								</patterns>
							</license>
						</licenses>
						<licenseFamilies>
							<licenseFamily
									implementation="org.apache.rat.license.SimpleLicenseFamily">
								<familyName>Apache License 2.0</familyName>
							</licenseFamily>
							<licenseFamily
									implementation="org.apache.rat.license.SimpleLicenseFamily">
								<familyName>MIT</familyName>
							</licenseFamily>
							<licenseFamily
									implementation="org.apache.rat.license.SimpleLicenseFamily">
								<familyName>JMock</familyName>
							</licenseFamily>
							<licenseFamily
									implementation="org.apache.rat.license.SimpleLicenseFamily">
								<familyName>XHTML</familyName>
							</licenseFamily>
						</licenseFamilies>
					</configuration>
					<!-- APACHE ISIS customisation 5/15: end -->
				</plugin>

				<!-- APACHE ISIS customisation 6/15: start -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>clirr-maven-plugin</artifactId>
					<version>2.8</version>
				</plugin>
				<!-- APACHE ISIS customisation 6/15: end -->
			</plugins>
		</pluginManagement>
		<plugins>
			<!-- We want to package up license resources in the JARs produced -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-remote-resources-plugin</artifactId>
				<executions>
					<execution>
                        <id>process-resource-bundles</id>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<resourceBundles>
								<resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
							</resourceBundles>
							<!-- APACHE ISIS customisation 7/15: start -->

						    <!-- Reference the supplemental-model artifact from module supplemental-model -->
				            <supplementalModelArtifacts>
				            	<supplementalModelArtifact>org.apache.isis:supplemental-model:1.0</supplementalModelArtifact>
				            </supplementalModelArtifacts>

							<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>

							 <!-- Specify the path, relative to the JAR root, where the supplemental model file is located -->
							<supplementalModels>
								<supplementalModel>supplemental-models.xml</supplementalModel>
							</supplementalModels>
							<properties>
								<projectTimespan>2010~2021</projectTimespan>
								<postDepListText>
									The above (auto-generated) list aggregates the
									dependencies
									(either directly
									or transitively) of all the modules
									that make up ${project.name}.
									You can use
									mvn dependency:list or
									mvn dependency:tree to view dependencies by
									submodule.

									${license.additional-notes}
								</postDepListText>
							</properties>
							<!-- APACHE ISIS customisation 7/15: end -->
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-maven-version</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
                                    <version>${minimalMavenBuildVersion}</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
                    <execution>
                        <id>enforce-java-version</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <version>${minimalJavaBuildVersion}</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-descriptor</id>
						<goals>
							<goal>attach-descriptor</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- APACHE ISIS customisation 8/15: start -->
			<plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.7</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <!-- stopped working with GitHub CI on 2021-03-18,
				         could not find a way to disable
                    <execution>
                        <id>report</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                    -->
                </executions>
            </plugin>
			<!-- APACHE ISIS customisation 8/15: end -->
		</plugins>
	</build>

	<profiles>
		<!-- START SNIPPET: release-profile -->
		<profile>
			<id>apache-release</id>
			<!-- APACHE ISIS customisation 9/15: start -->
			<activation>
				<property>
					<name>apache-release</name>
				</property>
			</activation>
			<properties>
				<skipTests>true</skipTests>
			</properties>
			<!-- APACHE ISIS customisation 9/15: end -->
			<build>
				<plugins>
					<!-- APACHE ISIS customisation 10/15: end -->
					<plugin>
						<groupId>org.projectlombok</groupId>
						<artifactId>lombok-maven-plugin</artifactId>
						<version>1.18.20.0</version>
						<configuration>
							<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
							<outputDirectory>${delombok.output}</outputDirectory>
							<addOutputDirectory>false</addOutputDirectory>
						</configuration>
						<executions>
							<execution>
								<phase>generate-sources</phase>
								<goals>
									<goal>delombok</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<!-- APACHE ISIS customisation 10/15: end -->

					<!-- Create a source-release artifact that contains the fully buildable
                         project directory source structure. This is the artifact which is
                         the official subject of any release vote. -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-assembly-plugin</artifactId>
						<dependencies>
							<dependency>
								<groupId>org.apache.apache.resources</groupId>
								<artifactId>apache-source-release-assembly-descriptor</artifactId>
								<version>1.0.6</version>
							</dependency>
						</dependencies>
						<executions>
							<execution>
								<id>source-release-assembly</id>
								<phase>package</phase>
								<goals>
									<goal>single</goal>
								</goals>
								<configuration>
									<!-- APACHE ISIS customisation 11/15: start -->
									<archiveBaseDirectory>..</archiveBaseDirectory>
									<!-- APACHE ISIS customisation 11/15: end -->
                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
									<descriptorRefs>
										<descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
									</descriptorRefs>
									<tarLongFileMode>posix</tarLongFileMode>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- We want to deploy the artifact to a staging location for perusal -->
					<plugin>
						<inherited>true</inherited>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-deploy-plugin</artifactId>
						<configuration>
							<updateReleaseInfo>true</updateReleaseInfo>
						</configuration>
					</plugin>
					<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>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
								<!-- APACHE ISIS customisation 12/15: start -->
								<configuration>
									<sourcepath>${delombok.output}</sourcepath>
									<doclint>none</doclint>
								</configuration>
								<!-- APACHE ISIS customisation 12/15: end -->
							</execution>
						</executions>
					</plugin>
					<!-- calculate checksums of source release for Apache dist area -->
					<plugin>
						<groupId>net.nicoulaj.maven.plugins</groupId>
						<artifactId>checksum-maven-plugin</artifactId>
						<version>1.11</version>
						<executions>
							<execution>
								<id>source-release-checksum</id>
								<goals>
                                    <goal>artifacts</goal>
								</goals>
								<!-- execute prior to maven-gpg-plugin:sign due to https://github.com/nicoulaj/checksum-maven-plugin/issues/112 -->
								<phase>post-integration-test</phase>
								<configuration>
									<algorithms>
										<algorithm>SHA-512</algorithm>
									</algorithms>
									<!-- https://maven.apache.org/apache-resource-bundles/#source-release-assembly-descriptor -->
									<includeClassifiers>source-release</includeClassifiers>
									<excludeMainArtifact>true</excludeMainArtifact>
									<csvSummary>false</csvSummary>
									<!-- attach SHA-512 checksum as well to upload to Maven Staging Repo,
                                         as this eases uploading from stage to dist and doesn't do harm in Maven Central -->
									<attachChecksums>true</attachChecksums>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- We want to sign the artifact, the POM, and all attached artifacts (except for SHA-512 checksum) -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<executions>
							<execution>
								<id>sign-release-artifacts</id>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
			<!-- APACHE ISIS customisation 13/15: start -->
			<modules>
				<module>../core</module>
				<module>../extensions</module>
				<module>../mappings</module>
				<module>../mavendeps</module>
				<module>../starters</module>
				<module>../subdomains</module>
				<module>../testing</module>
				<module>../valuetypes</module>
			</modules>
			<!-- APACHE ISIS customisation 13/15: end -->
		</profile>
		<!-- END SNIPPET: release-profile -->
		<profile>
			<id>enforce-output-timestamp-property</id>
			<activation>
				<!-- APACHE ISIS customisation 14/15: start -->
				<!-- multiple profile activation conditions have AND logic ... -->
				<property>
					<name>apache-release</name>
				</property>
				<!-- APACHE ISIS customisation 14/15: end -->
				<file>
					<missing>${basedir}/.maven-apache-parent.marker</missing>
				</file>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<id>enforce-output-timestamp-property</id>
								<goals>
									<goal>enforce</goal>
								</goals>
								<configuration>
									<rules>
										<requireProperty>
											<property>project.build.outputTimestamp</property>
											<message>The property "project.build.outputTimestamp" must be set on the reactor's root pom.xml to make the build reproducible. Further information at "https://maven.apache.org/guides/mini/guide-reproducible-builds.html".</message>
										</requireProperty>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- APACHE ISIS customisation 15/15: start -->
		<profile>
			<id>released</id>
			<activation>
				<property>
					<name>released</name>
				</property>
			</activation>
			<modules>
				<module>../core</module>
				<module>../extensions</module>
				<module>../mappings</module>
				<module>../mavendeps</module>
				<module>../starters</module>
				<module>../subdomains</module>
				<module>../testing</module>
				<module>../valuetypes</module>
			</modules>
		</profile>

		<profile>
			<id>sources</id>
			<activation>
				<property>
					<name>sources</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-sources</id>
								<phase>deploy</phase>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- APACHE ISIS customisation 15/15: end -->
	</profiles>
</project>
