<?xml version="1.0" encoding="UTF-8"?>
<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>

	<!--
			Maven BOM Template
			https://github.com/anliksim/maven-template-bom
	-->
	<groupId>io.foldright</groupId>
	<artifactId>cffu-bom</artifactId>
	<version>0.9.7</version>
	<packaging>pom</packaging>
	<name>${project.artifactId}</name>
	<description>${parent.artifactId}</description>
	<url>https://github.com/foldright/cffu</url>
	<inceptionYear>2023</inceptionYear>

	<licenses>
		<license>
			<name>Apache 2</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
			<comments>A business-friendly OSS license</comments>
		</license>
	</licenses>
	<scm>
		<connection>scm:git:git@github.com:foldright/cffu.git</connection>
		<developerConnection>scm:git:git@github.com:foldright/cffu.git</developerConnection>
		<url>https://github.com/foldright/cffu</url>
	</scm>
	<issueManagement>
		<url>https://github.com/foldright/cffu/issues</url>
		<system>GitHub Issues</system>
	</issueManagement>
	<organization>
		<name>FoldRight</name>
		<url>https://foldright.io</url>
	</organization>
	<developers>
		<developer>
			<name>Jerry Lee</name>
			<id>oldratlee</id>
			<email>oldratlee(AT)gmail(DOT)com</email>
			<roles>
				<role>Developer</role>
			</roles>
			<timezone>+8</timezone>
			<url>https://github.com/oldratlee</url>
			<organization>FoldRight</organization>
			<organizationUrl>https://foldright.io</organizationUrl>
		</developer>
	</developers>

	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.deploy.skip>false</maven.deploy.skip>
		<jacoco.skip>true</jacoco.skip>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>io.foldright</groupId>
				<artifactId>cffu</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>io.foldright</groupId>
				<artifactId>cffu-kotlin</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>io.foldright</groupId>
				<artifactId>cffu-ttl-executor-wrapper</artifactId>
				<version>${project.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
	</distributionManagement>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.3.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.5.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>3.1.1</version>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>0.8.10</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
			<id>gen-sign</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>3.1.0</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>deploy-settings</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.6.13</version>
						<extensions>true</extensions>
						<!--
							In multiply module builds using the deploy-at-end feature, the deployment of all components
							is performed in the last module based on the reactor order. If this property is set to true
							in the last module, all staging deployment for all modules will be skipped.
							so, we'll config nexus deploy after every module's `deploy` phase
							see: https://github.com/sonatype/nexus-maven-plugins/tree/master/staging/maven-plugin#configuring-the-plugin
						-->
						<configuration>
							<serverId>ossrh</serverId>
							<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
							<!--
								If you are deploying to Maven Central, it is the Nexus Staging Plugin that is doing the deployment
								instead of the `deploy` plugin, so the configuration of the `deploy` plugin has no effect.
								To make the Nexus deploy plugin skip, set skipNexusStagingDeployMojo in its configuration to true.
								see: https://stackoverflow.com/questions/59552549/preventing-maven-modules-from-being-deployed
							-->
							<skipNexusStagingDeployMojo>${maven.deploy.skip}</skipNexusStagingDeployMojo>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
