<!--

    Copyright 2017-2025 Open Text

    OpenText is a trademark of Open Text.
    The only warranties for products and services of Open Text and
    its affiliates and licensors ("Open Text") are as may be set forth
    in the express warranty statements accompanying such products and services.
    Nothing herein should be construed as constituting an additional warranty.
    Open Text shall not be liable for technical or editorial errors or
    omissions contained herein. The information contained herein is subject
    to change without notice.

    Except as specifically indicated otherwise, this document contains
    confidential information and a valid license is required for possession,
    use or copying. If this work is provided to the U.S. Government,
    consistent with FAR 12.211 and 12.212, Commercial Computer Software,
    Computer Software Documentation, and Technical Data for Commercial Items are
    licensed to the U.S. Government under vendor's standard commercial license.

    Licensed 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/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>
	<groupId>com.hpe.adm.octane.ciplugins</groupId>
	<artifactId>java-sdk</artifactId>
	<version>2.24.4.1</version>
	<packaging>pom</packaging>

	<name>MicroFocus ALM Octane Common libraries for CI plugins</name>
	<description>MicroFocus ALM Octane common libraries for developing CI plugins for Octane</description>
	<url>https://github.com/MicroFocus/octane-ci-java-sdk</url>
	<organization>
		<name>MicroFocus</name>
	</organization>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>radislavB</id>
			<name>Radislav Berkovich</name>
			<email>radislav.berkovich@microfocus.com</email>
			<roles>
				<role>Global owner and maintainer</role>
			</roles>
			<organization>MicroFocus</organization>
		</developer>
		<developer>
			<id>lazara3</id>
			<name>Ayellet Lazar</name>
			<email>ayellet.lazar@microfocus.com</email>
			<organization>MicroFocus</organization>
		</developer>
		<developer>
			<id>gullerya</id>
			<name>Yuri Guller</name>
			<email>gullerya@gmail.com</email>
			<organization>MicroFocus</organization>
		</developer>
	</developers>

	<modules>
		<module>integrations-dto</module>
		<module>integrations-sdk</module>
	</modules>

	<scm>
		<connection>scm:git:ssh://github.com/MicroFocus/octane-ci-java-sdk.git</connection>
		<developerConnection>scm:git:ssh://github.com/MicroFocus/octane-ci-java-sdk.git</developerConnection>
		<url>https://github.com/MicroFocus/octane-ci-java-sdk</url>
		<tag>HEAD</tag>
	</scm>
	<issueManagement/>
	<ciManagement/>

	<properties>
		<maven-clean-plugin.verion>3.1.0</maven-clean-plugin.verion>
		<maven-install-plugin.verion>3.0.0-M1</maven-install-plugin.verion>
		<maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version>
		<maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
		<maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
		<maven-source-plugin.version>3.0.1</maven-source-plugin.version>
		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
		<maven-javadoc-plugin.version>3.3.0</maven-javadoc-plugin.version> <!--mvn javadoc:aggregate -->
		<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
		<nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<junit.version>4.13.1</junit.version>
		<easymock.version>3.5.1</easymock.version>
		<maven-surefire-plugin.version>3.0.0-M2</maven-surefire-plugin.version>
		<jacoco-maven-plugin.version>0.8.2</jacoco-maven-plugin.version>
		<spotbugs.version>3.1.9</spotbugs.version>
		<!-- The ending year for copyright information -->
		<copyright.end.year>2025</copyright.end.year>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<artifactId>junit</artifactId>
				<groupId>junit</groupId>
				<version>${junit.version}</version>
			</dependency>
			<dependency>
				<artifactId>easymock</artifactId>
				<groupId>org.easymock</groupId>
				<version>${easymock.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<artifactId>maven-clean-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-clean-plugin.verion}</version>
				</plugin>
				<plugin>
					<artifactId>maven-resources-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-resources-plugin.version}</version>
				</plugin>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-compiler-plugin.version}</version>
					<configuration>
						<source>1.8</source>
						<target>1.8</target>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-jar-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-jar-plugin.version}</version>
				</plugin>
				<plugin>
					<artifactId>maven-source-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-source-plugin.version}</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<goals>
								<goal>jar-no-fork</goal>
								<goal>test-jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<artifactId>maven-javadoc-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-javadoc-plugin.version}</version>
					<configuration>
						<source>8</source>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-install-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-install-plugin.verion}</version>
				</plugin>

				<plugin>
					<artifactId>maven-enforcer-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-enforcer-plugin.version}</version>
					<executions>
						<execution>
							<id>enforce</id>
							<configuration>
								<rules>
									<dependencyConvergence/>
								</rules>
							</configuration>
							<goals>
								<goal>enforce</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<artifactId>spotbugs-maven-plugin</artifactId>
					<groupId>com.github.spotbugs</groupId>
					<version>${spotbugs.version}</version>
					<configuration>
						<effort>max</effort>
						<maxRank>20</maxRank>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
					<dependencies>
						<dependency>
							<artifactId>spotbugs</artifactId>
							<groupId>com.github.spotbugs</groupId>
							<version>${spotbugs.version}</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<groupId>org.apache.maven.plugins</groupId>
					<version>${maven-surefire-plugin.version}</version>
				</plugin>
				<plugin>
					<artifactId>jacoco-maven-plugin</artifactId>
					<groupId>org.jacoco</groupId>
					<version>${jacoco-maven-plugin.version}</version>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<!-- This is the plugin that is used to add license headers to the source files
                    Run the following Maven command when the license needs to pe updated:
                    MAKE SURE THAT YOU ARE IN THE ROOT DIRECTORY OF THE PROJECT("octane-ci-java-sdk") WHEN RUNNING THIS COMMAND
                    mvn license:format-->
			<plugin>
				<groupId>com.mycila</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<version>4.6</version>
				<configuration>
					<!-- Path to your license header -->
					<!--suppress UnresolvedMavenProperty -->
					<header>${session.executionRootDirectory}\LICENSE</header>
					<strictCheck>true</strictCheck>
					<!-- Apply to .java,.cs,.xml,.xsd,.js,.jsx,.html,.scss,.css,.xsl and .properties files -->
					<includes>
						<include>**/*.java</include>
						<include>**/*.xml</include>
						<include>**/*.properties</include>
					</includes>
					<!-- Define the comment styles for different file types -->
					<mapping>
						<java>SLASHSTAR_STYLE</java>
						<xml>XML_STYLE</xml>
						<properties>SCRIPT_STYLE</properties>
					</mapping>
					<properties>
						<!-- Properties dynamically inserted into the license header -->
						<copyright.end.year>${copyright.end.year}</copyright.end.year>
					</properties>
				</configuration>
				<executions>
					<execution>
						<goals>
							<!-- Goal to apply the license headers to source files -->
							<goal>format</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
				<groupId>org.apache.maven.plugins</groupId>
			</plugin>
			<plugin>
				<artifactId>spotbugs-maven-plugin</artifactId>
				<groupId>com.github.spotbugs</groupId>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<groupId>org.apache.maven.plugins</groupId>
			</plugin>
		</plugins>
	</build>

	<distributionManagement>
		<repository>
			<id>release-repository</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
		</repository>
	</distributionManagement>

	<profiles>
		<profile>
			<id>build-deployment</id>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<artifactId>maven-javadoc-plugin</artifactId>
							<groupId>org.apache.maven.plugins</groupId>
							<version>${maven-javadoc-plugin.version}</version>
							<executions>
								<execution>
									<id>attach-javadocs</id>
									<goals>
										<goal>jar</goal>
									</goals>
								</execution>
							</executions>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>

		</profile>
		<profile>
			<id>sign</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-gpg-plugin</artifactId>
						<groupId>org.apache.maven.plugins</groupId>
						<version>${maven-gpg-plugin.version}</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<groupId>org.sonatype.plugins</groupId>
						<version>${nexus-staging-maven-plugin.version}</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>release-repository</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>snapshot</id>
			<distributionManagement>
				<snapshotRepository>
					<id>snapshot-repository</id>
					<name>Maven2 Snapshot Repository</name>
					<url>https://oss.sonatype.org/content/repositories/snapshots</url>
					<uniqueVersion>false</uniqueVersion>
				</snapshotRepository>
			</distributionManagement>
		</profile>

		<profile>
			<id>jacoco-coverage</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>jacoco-maven-plugin</artifactId>
						<groupId>org.jacoco</groupId>
						<executions>
							<execution>
								<id>prepare-agent</id>
								<goals>
									<goal>prepare-agent</goal>
								</goals>
							</execution>
							<execution>
								<id>report</id>
								<phase>prepare-package</phase>
								<goals>
									<goal>report</goal>
								</goals>
							</execution>
							<execution>
								<id>post-unit-test</id>
								<phase>test</phase>
								<goals>
									<goal>report</goal>
								</goals>
								<configuration>
									<dataFile>target/jacoco.exec</dataFile>
									<outputDirectory>target/jacoco-report</outputDirectory>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

	</profiles>
</project>
