<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>com.github.bbottema</groupId>
		<artifactId>standard-project-parent</artifactId>
		<version>1.0.46</version>
	</parent>

	<groupId>org.simplejavamail</groupId>
	<artifactId>smtp-connection-pool-parent</artifactId>
	<version>4.2.0</version>
	<packaging>pom</packaging>
	<name>SMTP Connection Pool :: Parent</name>
	<description>Shared Maven build for the SMTP connection pool, Jakarta Mail provider, Camel adapter and executable demos.</description>
	<url>https://github.com/simple-java-mail/smtp-connection-pool</url>
	<inceptionYear>2019</inceptionYear>

	<modules>
		<module>smtp-connection-pool</module>
		<module>smtp-connection-pool-jakarta-provider</module>
		<module>smtp-connection-pool-camel</module>
		<module>smtp-connection-pool-demo</module>
	</modules>

	<properties>
		<automaticModuleName>org.simplejavamail.smtpconnectionpool.parent</automaticModuleName>
		<java.version>1.8</java.version>
		<maven.compiler.release>8</maven.compiler.release>
		<compiler.encoding>UTF-8</compiler.encoding>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<license.owner.name>Benny Bottema</license.owner.name>
		<license.owner.email>benny@bennybottema.com</license.owner.email>
		<jakarta-mail.version>2.1.3</jakarta-mail.version>
		<jakarta-activation.version>2.1.4</jakarta-activation.version>
		<clustered-object-pool.version>4.1.1</clustered-object-pool.version>
		<angus-mail.version>2.0.5</angus-mail.version>
		<spring.version>6.2.19</spring.version>
		<camel.version>4.22.0</camel.version>
		<simple-java-mail.version>9.3.0</simple-java-mail.version>
		<subethasmtp.version>7.2.2</subethasmtp.version>
		<jspecify.version>1.0.0</jspecify.version>
		<core.compatibility.version>4.1.0</core.compatibility.version>
		<core.compatibility.sha256>b44e736a7deaae585dc2b317fb2ed2dc16c902f7df27730feb31774cf6104e55</core.compatibility.sha256>
	</properties>

	<scm>
		<connection>scm:git:git://github.com/simple-java-mail/smtp-connection-pool.git</connection>
		<developerConnection>scm:git:git@github.com:simple-java-mail/smtp-connection-pool.git</developerConnection>
		<url>https://github.com/simple-java-mail/smtp-connection-pool</url>
	</scm>

	<issueManagement>
		<system>GitHub Issues</system>
		<url>https://github.com/simple-java-mail/smtp-connection-pool/issues</url>
	</issueManagement>

	<distributionManagement>
		<snapshotRepository>
			<id>central</id>
			<url>https://central.sonatype.com/repository/maven-snapshots/</url>
		</snapshotRepository>
		<repository>
			<id>central</id>
			<url>https://central.sonatype.com</url>
		</repository>
	</distributionManagement>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.simplejavamail</groupId>
				<artifactId>smtp-connection-pool</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.simplejavamail</groupId>
				<artifactId>smtp-connection-pool-jakarta-provider</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.simplejavamail</groupId>
				<artifactId>smtp-connection-pool-camel</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.simplejavamail</groupId>
				<artifactId>simple-java-mail</artifactId>
				<version>${simple-java-mail.version}</version>
			</dependency>
			<dependency>
				<groupId>org.simplejavamail</groupId>
				<artifactId>batch-module</artifactId>
				<version>${simple-java-mail.version}</version>
			</dependency>
			<dependency>
				<groupId>jakarta.mail</groupId>
				<artifactId>jakarta.mail-api</artifactId>
				<version>${jakarta-mail.version}</version>
			</dependency>
			<dependency>
				<groupId>jakarta.activation</groupId>
				<artifactId>jakarta.activation-api</artifactId>
				<version>${jakarta-activation.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.bbottema</groupId>
				<artifactId>clustered-object-pool</artifactId>
				<version>${clustered-object-pool.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.angus</groupId>
				<artifactId>angus-mail</artifactId>
				<version>${angus-mail.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context-support</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-mail</artifactId>
				<version>${camel.version}</version>
			</dependency>
			<dependency>
				<groupId>org.jspecify</groupId>
				<artifactId>jspecify</artifactId>
				<version>${jspecify.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-core</artifactId>
				<version>${camel.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.davidmoten</groupId>
				<artifactId>subethasmtp</artifactId>
				<version>${subethasmtp.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<directory>${maven.multiModuleProjectDirectory}</directory>
				<includes>
					<include>LICENSE-2.0.txt</include>
					<include>NOTICE.txt</include>
					<include>RELEASE.txt</include>
				</includes>
			</resource>
		</resources>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.4.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>3.1.0</version>
					<executions>
						<execution>
							<id>verify-automatic-module-name</id>
							<phase>verify</phase>
							<goals>
								<goal>run</goal>
							</goals>
							<configuration>
								<target>
									<delete dir="${project.build.directory}/module-name-verification" quiet="true" />
									<unzip src="${project.build.directory}/${project.build.finalName}.jar"
										   dest="${project.build.directory}/module-name-verification">
										<patternset>
											<include name="META-INF/MANIFEST.MF" />
										</patternset>
									</unzip>
									<loadfile property="packagedManifest"
											  srcFile="${project.build.directory}/module-name-verification/META-INF/MANIFEST.MF" />
									<fail message="Packaged JAR is missing Automatic-Module-Name: ${automaticModuleName}">
										<condition>
											<not>
												<contains string="${packagedManifest}"
														  substring="Automatic-Module-Name: ${automaticModuleName}" />
											</not>
										</condition>
									</fail>
								</target>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.14.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>3.5.3</version>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>0.8.13</version>
				</plugin>
				<plugin>
					<groupId>com.github.spotbugs</groupId>
					<artifactId>spotbugs-maven-plugin</artifactId>
					<version>4.9.8.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<!-- 5.x keeps the build itself runnable on the Java 8 baseline of the pool/provider modules. -->
					<version>5.1.9</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.12.0</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestEntries>
							<Automatic-Module-Name>${automaticModuleName}</Automatic-Module-Name>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>default-prepare-agent</id>
						<configuration combine.self="override" />
					</execution>
					<execution>
						<id>instrument</id>
						<phase>none</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<release>${maven.compiler.release}</release>
					<encoding>${compiler.encoding}</encoding>
					<compilerArgs>
						<arg>-Xlint:all</arg>
					</compilerArgs>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<extensions>false</extensions>
				<configuration combine.self="override">
					<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.sonatype.central</groupId>
				<artifactId>central-publishing-maven-plugin</artifactId>
				<version>0.9.0</version>
				<extensions>true</extensions>
				<configuration>
					<publishingServerId>central</publishingServerId>
					<centralSnapshotsUrl>https://central.sonatype.com/repository/maven-snapshots/</centralSnapshotsUrl>
					<autoPublish>true</autoPublish>
					<waitUntil>published</waitUntil>
					<excludeArtifacts>
						<artifact>smtp-connection-pool-demo</artifact>
					</excludeArtifacts>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
