<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>cn.jslim</groupId>
	<artifactId>jslim-frameworks</artifactId>
	<version>1.0.2</version>
	<packaging>pom</packaging>
	<name>jslim-frameworks</name>
	<description>jslim-frameworks</description>

	<url>https://www.jslim.cn</url>

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

	<scm>
		<url>https://www.jslim.cn</url>
		<connection>scm:git:https://www.jslim.cn</connection>
		<developerConnection>scm:git:https://www.jslim.cn</developerConnection>
	</scm>

	<developers>
		<developer>
			<name>koko</name>
			<email>tb_bin@163.com</email>
		</developer>
	</developers>

	<modules>
		<module>jslim-basic</module>
		<module>jslim-mocker</module>
		<module>jslim-toolkit</module>

		<module>jslim-starter</module>
		<module>jslim-starter-cluster</module>

		<module>jslim-webserver</module>
		<module>jslim-webserver-tomcat</module>
		<module>jslim-webserver-undertow</module>

		<module>jslim-redis</module>
		<module>jslim-mongo</module>
		<module>jslim-mybatis</module>
	</modules>

	<properties>
		<!-- basic -->
		<maven.test.skip>true</maven.test.skip>
		<maven.compiler.source>21</maven.compiler.source>
		<maven.compiler.target>21</maven.compiler.target>
		<maven.compiler.version>3.13.0</maven.compiler.version>
		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>

		<project.version>1.0.0</project.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- spring -->
		<spring.boot.version>3.3.13</spring.boot.version>
		<spring.cloud.version>2023.0.6</spring.cloud.version>
		<spring.cloud.alibaba.version>2023.0.3.3</spring.cloud.alibaba.version>

		<!-- redisson -->
		<redisson.version>3.39.0</redisson.version>

		<!-- commons -->
		<commons.io.version>2.20.0</commons.io.version>
		<commons.lang.version>3.18.0</commons.lang.version>
		<servlet.api.version>6.1.0</servlet.api.version>
		<fastjson.version>2.0.58</fastjson.version>
		<lombok.version>1.18.38</lombok.version>

		<!-- mybatis flex -->
		<mybatis.flex.version>1.11.1</mybatis.flex.version>
		<mariadb.version>3.5.5</mariadb.version>

	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>${spring.boot.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring.cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>com.alibaba.cloud</groupId>
				<artifactId>spring-cloud-alibaba-dependencies</artifactId>
				<version>${spring.cloud.alibaba.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<!-- mybatis flex -->
			<dependency>
				<groupId>com.mybatis-flex</groupId>
				<artifactId>mybatis-flex-spring-boot3-starter</artifactId>
				<version>${mybatis.flex.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mariadb.jdbc</groupId>
				<artifactId>mariadb-java-client</artifactId>
				<version>${mariadb.version}</version>
			</dependency>

			<!-- redisson -->
			<dependency>
				<groupId>org.redisson</groupId>
				<artifactId>redisson-spring-boot-starter</artifactId>
				<version>${redisson.version}</version>
			</dependency>

			<!-- common -->
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons.io.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons.lang.version}</version>
			</dependency>
			<dependency>
				<groupId>jakarta.servlet</groupId>
				<artifactId>jakarta.servlet-api</artifactId>
				<version>${servlet.api.version}</version>
			</dependency>
			<dependency>
				<groupId>com.alibaba.fastjson2</groupId>
				<artifactId>fastjson2</artifactId>
				<version>${fastjson.version}</version>
			</dependency>
			<dependency>
				<groupId>org.projectlombok</groupId>
				<artifactId>lombok</artifactId>
				<version>${lombok.version}</version>
			</dependency>

			<!-- internal -->
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-basic</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-toolkit</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-starter</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-starter-cluster</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-webserver</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-webserver-tomcat</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-webserver-undertow</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-redis</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-mongo</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-mybatis</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-mybatis-tenant</artifactId>
				<version>${project.version}</version>
			</dependency>


		</dependencies>
	</dependencyManagement>

	<repositories>
		<repository>
			<id>aliyun</id>
			<url>https://maven.aliyun.com/repository/public</url>
		</repository>
	</repositories>

	<profiles>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<!-- 1. 生成并附加源码包 -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>3.3.1</version>
						<inherited>true</inherited>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<!-- 2. 生成并附加 Javadoc 包 -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>3.11.3</version>
						<inherited>true</inherited>
						<executions>
							<execution>
								<id>attach-javadoc</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<!-- 常用参数，避免 Java 8+ doclint 报错 -->
							<failOnError>false</failOnError>
							<additionalJOptions>
								<additionalJOption>-Xdoclint:none</additionalJOption>
							</additionalJOptions>
						</configuration>
					</plugin>
					<!-- GPG -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>3.2.8</version>
						<executions>
							<execution>
								<id>sign-artifacts</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>jslim</publishingServerId>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>versions-maven-plugin</artifactId>
						<version>2.18.0</version>
						<configuration>
							<generateBackupPoms>false</generateBackupPoms>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>