<?xml version='1.0' encoding='utf-8'?>
<!--
  ~ Copyright (c) 2013-2025 Hutool Team and hutool.cn
  ~
  ~ 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>

	<packaging>pom</packaging>

	<groupId>org.dromara.hutool</groupId>
	<artifactId>hutool-parent</artifactId>
	<version>6.0.0-M22</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>
		<module>hutool-ai</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.11.3</junit.version>
		<lombok.version>1.18.36</lombok.version>
		<kotlin-version>2.0.20</kotlin-version>
		<bouncycastle.version>1.79</bouncycastle.version>

		<!-- version for json and jmh -->
		<jackson.version>2.18.1</jackson.version>
		<gson.version>2.11.0</gson.version>
		<fastjson2.version>2.0.53</fastjson2.version>
		<moshi.version>1.15.1</moshi.version>
	</properties>

	<dependencies>
		<!-- Kotlin适配，用于在测试中使用kotlin代码 -->
		<dependency>
			<groupId>org.jetbrains.kotlin</groupId>
			<artifactId>kotlin-reflect</artifactId>
			<version>${kotlin-version}</version>
			<scope>test</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>Apache License Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>bugo</name>
			<email>bugo@bugotech.cn</email>
		</developer>
		<developer>
			<name>Looly</name>
			<email>loolly@gmail.com</email>
		</developer>
		<developer>
			<name>VampireAchao</name>
			<email>VampireAchao@dromara.org</email>
		</developer>
		<developer>
			<name>CherryRum</name>
			<email>yulin.1996@foxmail.com</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>Aihuahua</name>
			<email>aihuahua522@qq.com</email>
		</developer>
	</developers>

	<scm>
		<connection>scm:git@github.com:chinabugotech/hutool.git</connection>
		<developerConnection>scm:git@github.com:chinabugotech/hutool.git</developerConnection>
		<url>git@github.com:chinabugotech/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.13.0</version>
				<configuration>
					<fork>true</fork>
					<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.5.1</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.4.2</version>
				<configuration>
					<archive>
						<index>true</index>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
						<manifestEntries>
							<Build-OS>${os.name}</Build-OS>
							<Built-By>Looly</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.11.2</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- 统一更新pom版本 -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				<version>2.17.1</version>
				<configuration>
					<generateBackupPoms>false</generateBackupPoms>
				</configuration>
			</plugin>
			<!-- 单元测试 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>3.5.3</version>
			</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.1</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>
						<!-- 固定1.6，高版本签名失败 -->
						<version>1.6</version>
						<executions>
							<execution>
								<id>oss</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.sonatype.central</groupId>
						<artifactId>central-publishing-maven-plugin</artifactId>
						<version>0.8.0</version>
						<extensions>true</extensions>
						<configuration>
							<publishingServerId>central6</publishingServerId>
							<!-- 自动发布 -->
							<autoPublish>true</autoPublish>
							<!-- 等待发布 -->
							<waitUntil>published</waitUntil>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>
