<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>

	<parent>
		<groupId>com.github.bordertech.common</groupId>
		<artifactId>qa-parent</artifactId>
		<version>1.0.21</version>
		<relativePath />
	</parent>

	<name>wcomponents-parent</name>

	<groupId>com.github.bordertech.wcomponents</groupId>
	<artifactId>wcomponents-parent</artifactId>
	<version>1.5.39</version>

	<packaging>pom</packaging>

	<properties>
		<jetty.version>8.1.16.v20140903</jetty.version>
		<slf4j.version>2.0.17</slf4j.version>
		<bt.qa.skip>false</bt.qa.skip>
		<bt.convergence.check.fail>true</bt.convergence.check.fail>
		<!-- Report Vulnerabilities. -->
		<failBuildOnCVSS>11</failBuildOnCVSS>
		<!-- Update every 168 hours (7 days) -->
		<cveValidForHours>168</cveValidForHours>

		<dependency-check.skip>true</dependency-check.skip>

		<!-- OSSRH has been sunsetted so this is the API to use until publishing directly to Central Publisher Portal. -->
		<!-- After running the maven release execute the following REST command with namespace com.github.bordertech to push the artifacts from OSSRH staging to Central Publisher Portal. -->
		<!-- Use the same userid and token generated in the portal for the settings.xml file when prompted -->
		<!-- https://ossrh-staging-api.central.sonatype.com/swagger-ui/#/default/manual_upload_default_repository -->
		<!-- Refer to https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/#ensuring-deployment-visibility-in-the-central-publisher-portal -->
		<stagingBaseUrl>https://ossrh-staging-api.central.sonatype.com/</stagingBaseUrl>

	</properties>

	<licenses>
		<license>
			<name>GPLv3</name>
			<url>http://www.gnu.org/licenses/gpl-3.0.txt</url>
			<distribution>manual</distribution>
			<comments>GNU General Public License</comments>
		</license>
	</licenses>

	<!-- description is a required section for Maven Central -->
	<description>Accessible Web UI Framework for Enterprise</description>

	<!-- url is a required section for Maven Central -->
	<url>http://bordertech.github.io/wcomponents/</url>

	<scm>
		<url>https://github.com/bordertech/wcomponents</url>
		<connection>scm:git:https://github.com/bordertech/wcomponents.git</connection>
		<developerConnection>scm:git:https://github.com/bordertech/wcomponents.git</developerConnection>
		<tag>wcomponents-parent-1.5.39</tag>
	</scm>

	<issueManagement>
		<system>GitHub</system>
		<url>https://github.com/BorderTech/wcomponents/issues</url>
	</issueManagement>

	<ciManagement>
		<system>Github Actions</system>
		<url>https://github.com/BorderTech/wcomponents/actions</url>
	</ciManagement>

	<dependencyManagement>
		<dependencies>

			<!-- Junit -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.13.2</version>
				<scope>test</scope>
			</dependency>

			<!-- JSR107 Caching provider. -->
			<dependency>
				<groupId>org.ehcache</groupId>
				<artifactId>ehcache</artifactId>
				<version>3.11.1</version>
				<exclusions>
					<!-- Exclude jaxb runtime as ehcache has a wildcard dependency that breaks the build -->
					<exclusion>
						<groupId>org.glassfish.jaxb</groupId>
						<artifactId>jaxb-runtime</artifactId>
					</exclusion>
					<!-- Fix convergence -->
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.cache</groupId>
						<artifactId>cache-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<!-- Specific JAXB runtime for cache provider -->
			<dependency>
				<groupId>org.glassfish.jaxb</groupId>
				<artifactId>jaxb-runtime</artifactId>
				<version>4.0.6</version>
			</dependency>

			<!-- Servlet Interface -->
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>servlet-api</artifactId>
				<version>2.5</version>
				<scope>provided</scope>
			</dependency>

		</dependencies>
	</dependencyManagement>

	<profiles>
		<profile>
			<id>skipAllTests</id>
			<activation>
				<property>
					<name>skipTests</name>
					<value>true</value>
				</property>
			</activation>
			<properties>
				<!-- Setting this property will not trigger other profiles looking for this system property -->
				<skipOptionalTests>true</skipOptionalTests>
			</properties>
		</profile>
	</profiles>

	<build>
		<plugins>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<version>[3.2,)</version>
								</requireMavenVersion>
								<requireJavaVersion>
									<version>[1.8,)</version>
								</requireJavaVersion>

								<requireSameVersions>
									<plugins>
										<plugin>org.apache.maven.plugins:maven-surefire-plugin</plugin>
										<plugin>org.apache.maven.plugins:maven-failsafe-plugin</plugin>
										<plugin>org.apache.maven.plugins:maven-surefire-report-plugin</plugin>
									</plugins>
								</requireSameVersions>
								<requireSameVersions>
									<dependencies>
										<dependency>org.apache.maven</dependency>
									</dependencies>
								</requireSameVersions>

							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>1.8</version>
					<dependencies>
						<dependency>
							<groupId>ant-contrib</groupId>
							<artifactId>ant-contrib</artifactId>
							<version>1.0b3</version>
							<exclusions>
								<exclusion>
									<groupId>ant</groupId>
									<artifactId>ant</artifactId>
								</exclusion>
							</exclusions>
						</dependency>
						<dependency>
							<groupId>org.apache.ant</groupId>
							<artifactId>ant</artifactId>
							<version>1.10.15</version>
						</dependency>
					</dependencies>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<modules>
		<module>wcomponents-i18n</module>
		<module>wcomponents-core</module>
		<module>wcomponents-examples</module>
		<module>wcomponents-examples-lde</module>
		<module>wcomponents-lde</module>
		<module>wcomponents-test-lib</module>
		<module>wcomponents-theme</module>
		<module>wcomponents-xslt</module>
		<module>wcomponents-bundle</module>
		<module>code-coverage</module>
	</modules>

</project>
