<?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>com.github.blutorange</groupId>
	<artifactId>closure-compiler-maven-plugin</artifactId>
	<version>2.28.0</version>
	<packaging>maven-plugin</packaging>

	<name>Closure Compiler Maven Plugin</name>
	<description>Preprocess (combine, transpile, minimize) JavaScript with closure compiler.</description>
	<url>https://github.com/blutorange/closure-compiler-maven-plugin</url>
	<inceptionYear>2009</inceptionYear>

	<organization>
		<name>Andre Wachsmuth</name>
		<url>http://github.com/blutorange</url>
	</organization>

	<licenses>
		<license>
			<name>The Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Samuel Santos</name>
			<url>http://samaxes.com</url>
			<roles>
				<role>Original author</role>
				<role>Developer</role>
			</roles>
			<timezone>Europe/Lisbon</timezone>
		</developer>
		<developer>
			<name>Andre Wachsmuth</name>
			<url>http://github.com/blutorange</url>
			<email>wachsmuth.andre@gmx.de</email>
			<roles>
				<role>Project owner</role>
				<role>Developer</role>
			</roles>
			<timezone>Europe/Berlin</timezone>
		</developer>
	</developers>

	<scm>
		<connection>
			scm:git:https://github.com/blutorange/closure-compiler-maven-plugin.git</connection>
		<developerConnection>
			scm:git:git@github.com:blutorange/closure-compiler-maven-plugin.git</developerConnection>
		<url>https://github.com/blutorange/closure-compiler-maven-plugin</url>
		<tag>HEAD</tag>
	</scm>

	<issueManagement>
		<system>GitHub</system>
		<url>https://github.com/blutorange/closure-compiler-maven-plugin/issues</url>
	</issueManagement>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
		</repository>
	</distributionManagement>

	<properties>
		<!-- General -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<github.global.server>github</github.global.server>
		<maven.version>3.9.5</maven.version>

		<!-- Dependencies -->
		<closure-compiler.version>v20230802</closure-compiler.version>
		<commons-io.version>2.14.0</commons-io.version>
		<commons-collections4.version>4.4</commons-collections4.version>
		<commons-lang3.version>3.13.0</commons-lang3.version>
		<commons-text.version>1.10.0</commons-text.version>
		<dataurl.version>2.0.0</dataurl.version>
		<gson.version>2.10.1</gson.version>

		<!-- Plugins -->
		<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
		<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
		<maven-plugin-plugin.version>3.9.0</maven-plugin-plugin.version>
		<maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
		<maven-javadoc-plugin.version>3.6.0</maven-javadoc-plugin.version>
		<maven-site-plugin.version>3.12.1</maven-site-plugin.version>
		<maven-jxr-plugin.version>2.1</maven-jxr-plugin.version>
		<maven-plugin-api.version>3.9.5</maven-plugin-api.version>
		<maven-plugin-annotations.version>3.9.0</maven-plugin-annotations.version>
		<maven-source-plugin.version>3.3.0</maven-source-plugin.version>
		<maven-project-info-reports-plugin.version>3.4.5</maven-project-info-reports-plugin.version>
		<maven-gpg-plugin.version>3.1.0</maven-gpg-plugin.version>
		<maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
		<nexus-staging.version>1.6.13</nexus-staging.version>
		<plexus-build-api.version>0.0.7</plexus-build-api.version>
		<maven-plugin-report-plugin.version>3.8.1</maven-plugin-report-plugin.version>
		<site-maven-plugin.version>0.12</site-maven-plugin.version>

		<!-- Testing -->
		<junit.version>5.10.0</junit.version>
		<slf4j.version>2.0.9</slf4j.version>
		<takari-plugin-testing.version>3.0.1</takari-plugin-testing.version>
		<maven-embedder.version>3.9.4</maven-embedder.version>
	</properties>

	<dependencies>

		<!-- Test -->
		<dependency>
			<groupId>io.takari.maven.plugins</groupId>
			<artifactId>takari-plugin-testing</artifactId>
			<version>${takari-plugin-testing.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-compat</artifactId>
			<version>${maven.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-model</artifactId>
			<version>${maven.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-embedder</artifactId>
			<version>${maven-embedder.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-simple</artifactId>
			<version>${slf4j.version}</version>
			<scope>test</scope>
		</dependency>

		<!-- Provided -->
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-plugin-api</artifactId>
			<version>${maven-plugin-api.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.maven.plugin-tools</groupId>
			<artifactId>maven-plugin-annotations</artifactId>
			<version>${maven-plugin-annotations.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-core</artifactId>
			<version>${maven.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- Compile -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-text</artifactId>
			<version>${commons-text.version}</version>
		</dependency>
		<dependency>
			<groupId>org.sonatype.plexus</groupId>
			<artifactId>plexus-build-api</artifactId>
			<version>${plexus-build-api.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>${commons-io.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-collections4</artifactId>
			<version>${commons-collections4.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>${commons-lang3.version}</version>
		</dependency>
		<dependency>
			<groupId>eu.maxschuster</groupId>
			<artifactId>dataurl</artifactId>
			<version>${dataurl.version}</version>
		</dependency>
		<dependency>
			<groupId>com.google.javascript</groupId>
			<artifactId>closure-compiler</artifactId>
			<version>${closure-compiler.version}</version>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>${gson.version}</version>
			<optional>true</optional>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
				<configuration>
					<encoding>UTF-8</encoding>
					<release>11</release>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>${maven-resources-plugin.version}</version>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>${maven-jar-plugin.version}</version>
				<configuration>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-plugin-plugin</artifactId>
				<version>${maven-plugin-plugin.version}</version>
				<executions>
					<execution>
						<?m2e ignore?>
						<id>default-descriptor</id>
						<phase>process-classes</phase>
						<goals>
							<goal>descriptor</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-plugin-report-plugin</artifactId>
				<version>${maven-plugin-report-plugin.version}</version>
				<executions>
					<execution>
						<id>mojo-report</id>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>


			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>${maven-jxr-plugin.version}</version>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven-surefire-plugin.version}</version>
				<configuration>
					<!-- see: https://stackoverflow.com/questions/53010200/maven-surefire-could-not-find-forkedbooter-class -->
					<argLine>-Xmx1024m -Xms1024m -Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>${maven-project-info-reports-plugin.version}</version>
			</plugin>

			<!-- Release the deployment to the central repository -->
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>${nexus-staging.version}</version>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>${maven-site-plugin.version}</version>
				<configuration>
					<locales>en</locales>
				</configuration>
			</plugin>

			<!-- Generate a new version of the Maven site -->
			<plugin>
				<groupId>com.github.github</groupId>
				<artifactId>site-maven-plugin</artifactId>
				<version>${site-maven-plugin.version}</version>
				<configuration>
					<message>Creating site for ${project.version}</message>
					<dryRun>true</dryRun>
					<noJekyll>true</noJekyll>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>site</goal>
						</goals>
						<phase>site</phase>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>${maven-project-info-reports-plugin.version}</version>
				<reportSets>
					<reportSet>
						<reports>
							<report>dependencies</report>
							<report>dependency-convergence</report>
							<report>dependency-info</report>
							<report>dependency-management</report>
							<report>issue-management</report>
							<report>licenses</report>
							<report>plugin-management</report>
							<report>plugins</report>
							<report>team</report>
							<report>scm</report>
							<report>summary</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
		</plugins>
	</reporting>

	<profiles>
		<profile>
			<id>site</id>
			<build>
				<plugins>
					<!-- Upllad site to github -->
					<plugin>
						<groupId>com.github.github</groupId>
						<artifactId>site-maven-plugin</artifactId>
						<version>${site-maven-plugin.version}</version>
						<configuration>
							<dryRun>false</dryRun>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>${maven-source-plugin.version}</version>
						<executions>
							<execution>
								<id>attach-sources</id>
								<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>
							<encoding>UTF-8</encoding>
							<source>11</source>
							<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
						</configuration>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<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>
	</profiles>
</project>
