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

	<groupId>io.github.jpostman</groupId>
	<artifactId>jpostman-parent</artifactId>
	<version>1.2.2</version>
	<packaging>pom</packaging>

	<name>JPostman Parent</name>
	<description>Multi-module JPostman build with core library and optional API
		executor adapters.</description>
	<url>https://github.com/JPostman/jpostman</url>

	<modules>
		<module>jpostman-core</module>
		<module>jpostman-secure</module>
		<module>jpostman-httpclient</module>
		<module>jpostman-restassured</module>
		<module>jpostman-playwright</module>
		<module>jpostman-unirest</module>
		<module>jpostman-testng</module>
		<module>jpostman-junit</module>
		<module>jpostman-annotations</module>
		<module>jpostman-github</module>
		<module>jpostman-kubernetes</module>
		<module>jpostman-vault</module>
		<module>jpostman-examples</module>
	</modules>

	<licenses>
		<license>
			<name>MIT License</name>
			<url>https://opensource.org/license/mit/</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>dgofman</id>
			<name>David Gofman</name>
			<email>dgofman@softigent.com</email>
			<organization>JPostman</organization>
			<organizationUrl>https://github.com/JPostman</organizationUrl>
			<roles>
				<role>developer</role>
				<role>maintainer</role>
			</roles>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:https://github.com/JPostman/jpostman.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/JPostman/jpostman.git</developerConnection>
		<url>https://github.com/JPostman/jpostman</url>
		<tag>HEAD</tag>
	</scm>

	<properties>
		<java.version>11</java.version>
		<maven.compiler.release>${java.version}</maven.compiler.release>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.compiler.encoding>${project.build.sourceEncoding}</maven.compiler.encoding>
		<maven.resources.encoding>${project.build.sourceEncoding}</maven.resources.encoding>

		<maven.compiler.plugin.version>3.13.0</maven.compiler.plugin.version>
		<maven.resources.plugin.version>3.3.1</maven.resources.plugin.version>
		<maven.eclipse.plugin.version>2.10</maven.eclipse.plugin.version>
		<maven.surefire.plugin.version>3.5.2</maven.surefire.plugin.version>
		<maven.source.plugin.version>3.4.0</maven.source.plugin.version>
		<maven.javadoc.plugin.version>3.12.0</maven.javadoc.plugin.version>
		<maven.gpg.plugin.version>3.2.8</maven.gpg.plugin.version>
		<maven.deploy.plugin.version>3.1.4</maven.deploy.plugin.version>
		<central.publishing.plugin.version>0.10.0</central.publishing.plugin.version>

		<gson.version>2.13.2</gson.version>
		<slf4j.version>2.0.17</slf4j.version>
		<logback.version>1.5.19</logback.version>
		<jspecify.version>1.0.0</jspecify.version>
		<handlebars.version>4.3.1</handlebars.version>
		<testng.version>7.11.0</testng.version>
		<rest-assured.version>5.5.0</rest-assured.version>
		<playwright.version>1.60.0</playwright.version>
		<hamcrest.version>2.2</hamcrest.version>
		<mockito.version>5.18.0</mockito.version>
		<jacoco.version>0.8.14</jacoco.version>

		<gpg.skip>true</gpg.skip>
		<central.skipPublishing>true</central.skipPublishing>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-core</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-secure</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-httpclient</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-restassured</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-playwright</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-unirest</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-testng</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-junit</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-annotations</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-github</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-kubernetes</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>jpostman-vault</artifactId>
				<version>${project.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<!--
				Do not generate an Eclipse Java project for this parent aggregator POM.
				The real Java projects are the Maven modules below.
			-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<inherited>false</inherited>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>

			<!-- Required by Maven Central for library modules. -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<source>${java.version}</source>
					<doclint>none</doclint>
					<quiet>true</quiet>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<phase>verify</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Signing is skipped by default and enabled only by the release
			workflow. -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>${maven.gpg.plugin.version}</version>
				<configuration>
					<skip>${gpg.skip}</skip>
					<gpgArguments>
						<arg>--batch</arg>
						<arg>--yes</arg>
						<arg>--pinentry-mode</arg>
						<arg>loopback</arg>
					</gpgArguments>
				</configuration>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Central Portal publishing. The examples module is intentionally
			excluded. -->
			<plugin>
				<groupId>org.sonatype.central</groupId>
				<artifactId>central-publishing-maven-plugin</artifactId>
				<version>${central.publishing.plugin.version}</version>
				<extensions>true</extensions>
				<configuration>
					<publishingServerId>central</publishingServerId>
					<skipPublishing>${central.skipPublishing}</skipPublishing>
					<autoPublish>true</autoPublish>
					<waitUntil>published</waitUntil>
					<excludeArtifacts>
						<excludeArtifact>jpostman-examples</excludeArtifact>
					</excludeArtifacts>
				</configuration>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>${maven.eclipse.plugin.version}</version>
					<configuration>
						<downloadSources>true</downloadSources>
						<downloadJavadocs>false</downloadJavadocs>
						<useProjectReferences>true</useProjectReferences>
						<additionalConfig>
							<file>
								<name>.settings/org.eclipse.core.resources.prefs</name>
								<content>
									eclipse.preferences.version=1
									encoding/&lt;project&gt;=${project.build.sourceEncoding}
								</content>
							</file>
						</additionalConfig>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven.compiler.plugin.version}</version>
					<configuration>
						<release>${java.version}</release>
						<encoding>${project.build.sourceEncoding}</encoding>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${maven.resources.plugin.version}</version>
					<configuration>
						<encoding>${project.build.sourceEncoding}</encoding>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven.surefire.plugin.version}</version>
					<configuration>
						<systemPropertyVariables>
							<slf4j.internal.verbosity>WARN</slf4j.internal.verbosity>
						</systemPropertyVariables>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>${maven.source.plugin.version}</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<phase>verify</phase>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>${maven.javadoc.plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<doclint>none</doclint>
						<quiet>true</quiet>
					</configuration>
					<executions>
						<execution>
							<id>attach-javadocs</id>
							<phase>verify</phase>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
