<?xml version='1.0' encoding='utf-8'?>
<!--
  ~ Copyright (c) 2023 looly(loolly@aliyun.com)
  ~ Hutool is licensed under Mulan PSL v2.
  ~ You can use this software according to the terms and conditions of the Mulan PSL v2.
  ~ You may obtain a copy of Mulan PSL v2 at:
  ~          https://license.coscl.org.cn/MulanPSL2
  ~ THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
  ~ EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
  ~ MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
  ~ See the Mulan PSL v2 for more details.
  -->

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

	<packaging>pom</packaging>

	<groupId>org.dromara.hutool</groupId>
	<artifactId>hutool-parent</artifactId>
	<version>6.0.0-M13</version>
	<name>hutool</name>
	<description>
		Hutool是一个功能丰富且易用的Java工具库，通过诸多实用工具类的使用，旨在帮助开发者快速、便捷地完成各类开发任务。这些封装的工具涵盖了字符串、数字、集合、编码、日期、文件、IO、加密、数据库JDBC、JSON、HTTP客户端等一系列操作，可以满足各种不同的开发需求。
	</description>
	<url>https://github.com/dromara/hutool</url>

	<modules>
		<module>hutool-all</module>
		<module>hutool-bom</module>
		<module>hutool-core</module>
		<module>hutool-cron</module>
		<module>hutool-crypto</module>
		<module>hutool-db</module>
		<module>hutool-extra</module>
		<module>hutool-http</module>
		<module>hutool-log</module>
		<module>hutool-setting</module>
		<module>hutool-json</module>
		<module>hutool-poi</module>
		<module>hutool-socket</module>
		<module>hutool-swing</module>
	</modules>

	<properties>
		<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>utf-8</project.reporting.outputEncoding>
		<Automatic-Module-Name>org.dromara.hutool</Automatic-Module-Name>

		<!-- versions -->
		<compile.version>8</compile.version>
		<junit.version>5.10.2</junit.version>
		<lombok.version>1.18.30</lombok.version>
		<kotlin-version>1.9.20</kotlin-version>
	</properties>

	<dependencies>
		<!-- Kotlin适配，用于在测试和编译中使用kotlin代码 -->
		<dependency>
			<groupId>org.jetbrains.kotlin</groupId>
			<artifactId>kotlin-reflect</artifactId>
			<version>${kotlin-version}</version>
			<scope>provided</scope>
		</dependency>
		<!-- 全局单元测试 -->
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>${lombok.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<issueManagement>
		<system>Github Issue</system>
		<url>https://github.com/dromara/hutool/issues</url>
	</issueManagement>

	<licenses>
		<license>
			<name>Mulan Permissive Software License，Version 2</name>
			<url>https://license.coscl.org.cn/MulanPSL2</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Looly</name>
			<email>loolly@gmail.com</email>
		</developer>
		<developer>
			<name>VampireAchao</name>
			<email>VampireAchao@dromara.org</email>
		</developer>
		<developer>
			<name>Emptypoint</name>
			<email>1215582715@qq.com</email>
		</developer>
		<developer>
			<name>Createsequence</name>
			<email>cn.createsequence@gmail.com</email>
		</developer>
		<developer>
			<name>TianPeiRong</name>
			<email>canghaihongxin@163.com</email>
		</developer>
		<developer>
			<name>Dazer007</name>
			<email>dazer007@163.com</email>
		</developer>
		<developer>
			<name>CherryRum</name>
			<email>yulin.1996@foxmail.com</email>
		</developer>
		<developer>
			<name>Aihuahua</name>
			<email>aihuahua522@qq.com</email>
		</developer>
	</developers>

	<scm>
		<connection>scm:git@github.com:dromara/hutool.git</connection>
		<developerConnection>scm:git@github.com:dromara/hutool.git</developerConnection>
		<url>git@github.com:dromara/hutool.git</url>
	</scm>

	<build>
		<plugins>
			<plugin>
				<groupId>org.jetbrains.kotlin</groupId>
				<artifactId>kotlin-maven-plugin</artifactId>
				<version>${kotlin-version}</version>
				<extensions>true</extensions>
				<executions>
					<execution>
						<id>compile</id>
						<goals>
							<goal>compile</goal>
						</goals>
						<configuration>
							<sourceDirs>
								<sourceDir>${project.basedir}/src/main/java</sourceDir>
							</sourceDirs>
						</configuration>
					</execution>
					<execution>
						<id>test-compile</id>
						<goals>
							<goal>test-compile</goal>
						</goals>
						<configuration>
							<sourceDirs>
								<sourceDir>${project.basedir}/src/test/java</sourceDir>
							</sourceDirs>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.11.0</version>
				<configuration>
					<source>${compile.version}</source>
					<target>${compile.version}</target>
					<compilerArgument>-Xlint:unchecked</compilerArgument>
				</configuration>
			</plugin>
			<!-- 单元测试 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>3.1.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.3.0</version>
				<configuration>
					<archive>
						<index>true</index>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
						<manifestEntries>
							<Build-OS>${os.name}</Build-OS>
							<Built-By>${user.name}</Built-By>
							<Build-Jdk>${java.version}</Build-Jdk>
							<Build-Timestamp>${maven.build.timestamp}</Build-Timestamp>
							<Automatic-Module-Name>${Automatic-Module-Name}</Automatic-Module-Name>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<!-- Javadoc -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.6.3</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<tags>
						<tag>
							<name>apiNote</name>
							<placement>a</placement>
							<head>API Note:</head>
						</tag>
						<tag>
							<name>implSpec</name>
							<placement>a</placement>
							<head>Implementation Requirements:</head>
						</tag>
						<tag>
							<name>implNote</name>
							<placement>a</placement>
							<head>Implementation Note:</head>
						</tag>
						<tag>
							<name>param</name>
						</tag>
						<tag>
							<name>return</name>
						</tag>
						<tag>
							<name>throws</name>
						</tag>
						<tag>
							<name>since</name>
						</tag>
						<tag>
							<name>version</name>
						</tag>
						<tag>
							<name>serialData</name>
						</tag>
						<tag>
							<name>see</name>
						</tag>
					</tags>
				</configuration>
			</plugin>
			<!-- 统一更新pom版本 -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				<version>2.16.0</version>
				<configuration>
					<generateBackupPoms>false</generateBackupPoms>
				</configuration>
			</plugin>
			<!-- 测试覆盖度 -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<formats>
						<format>html</format>
						<format>xml</format>
					</formats>
					<check/>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>release</id>
			<distributionManagement>
				<snapshotRepository>
					<id>oss</id>
					<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
				</snapshotRepository>
				<repository>
					<id>oss</id>
					<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
				</repository>
			</distributionManagement>
			<build>
				<plugins>
					<!-- Source -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>3.3.0</version>
						<executions>
							<execution>
								<id>oss</id>
								<phase>package</phase>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<!-- Gpg Signature -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.6</version>
						<executions>
							<execution>
								<id>oss</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.6.13</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>oss</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>
