<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-framework</artifactId>
	<version>1.0.11</version>
	<packaging>pom</packaging>

	<name>JSlim</name>
	<description>
		一款把约定大于配置体现的淋漓尽致的SpringBoot整个项目，按照规范，可快速集成各类中间件及扩展模块。
	</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-toolkit</module>
		<module>jslim-basic-library</module>
		<module>jslim-basic-starter</module>

		<module>jslim-bridge-dubbo</module>
		<module>jslim-bridge-redis</module>
		<module>jslim-bridge-mongo</module>
		<module>jslim-bridge-author</module>
		<module>jslim-bridge-mybatis</module>
		<module>jslim-bridge-gateway</module>

		<module>jslim-module-region</module>
		<module>jslim-module-formily</module>
		<module>jslim-module-captcha</module>

		<module>jslim-module-upload</module>
		<module>jslim-module-upload-local</module>
		<module>jslim-module-upload-minio</module>
		<module>jslim-module-upload-oss</module>

	</modules>

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

		<!-- dubbo -->
		<dubbo.version>3.3.1</dubbo.version>

		<!-- toolkit -->
		<commons.io.version>2.19.0</commons.io.version>
		<commons.lang.version>3.17.0</commons.lang.version>
		<fastjson.version>2.0.57</fastjson.version>
		<lombok.version>1.18.38</lombok.version>
		<servlet.api.version>6.1.0</servlet.api.version>

		<!-- ip region -->
		<ip2region.version>2.7.0</ip2region.version>

		<!-- database -->
		<mybatis.flex.version>1.10.9</mybatis.flex.version>
		<mariadb.jdbc.version>3.5.3</mariadb.jdbc.version>

		<!-- sa-token -->
		<satoken.version>1.41.0</satoken.version>

		<!-- captcha 图片验证码 -->
		<captcha.version>2.2.5</captcha.version>

		<!-- minio -->
		<minio.version>8.5.17</minio.version>
		<aliyun.oss.version>3.18.3</aliyun.oss.version>
	</properties>


	<dependencyManagement>
		<dependencies>
			<!-- spring -->
			<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>

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

			<!-- toolkit -->
			<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>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>
			<dependency>
				<groupId>jakarta.servlet</groupId>
				<artifactId>jakarta.servlet-api</artifactId>
				<version>${servlet.api.version}</version>
			</dependency>

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

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

			<!-- IP地址库 -->
			<dependency>
				<groupId>org.lionsoul</groupId>
				<artifactId>ip2region</artifactId>
				<version>${ip2region.version}</version>
			</dependency>

			<!-- sa-token -->
			<dependency>
				<groupId>cn.dev33</groupId>
				<artifactId>sa-token-redis-jackson</artifactId>
				<version>${satoken.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.dev33</groupId>
				<artifactId>sa-token-spring-boot3-starter</artifactId>
				<version>${satoken.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.dev33</groupId>
				<artifactId>sa-token-reactor-spring-boot3-starter</artifactId>
				<version>${satoken.version}</version>
			</dependency>

			<!-- 验证码 -->
			<dependency>
				<groupId>com.pig4cloud.plugin</groupId>
				<artifactId>captcha-core</artifactId>
				<version>${captcha.version}</version>
			</dependency>

			<!-- minio -->
			<dependency>
				<groupId>io.minio</groupId>
				<artifactId>minio</artifactId>
				<version>${minio.version}</version>
			</dependency>

			<!-- aliyun oss -->
			<dependency>
				<groupId>com.aliyun.oss</groupId>
				<artifactId>aliyun-sdk-oss</artifactId>
				<version>${aliyun.oss.version}</version>
			</dependency>

			<!-- jslim basic -->
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-basic-toolkit</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-basic-library</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-basic-starter</artifactId>
				<version>${project.version}</version>
			</dependency>

			<!-- jslim bridge -->
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-bridge-author</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-bridge-dubbo</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-bridge-mongo</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-bridge-mybatis</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-bridge-redis</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-bridge-gateway</artifactId>
				<version>${project.version}</version>
			</dependency>

			<!-- jslim module -->
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-module-region</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-module-formily</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-module-captcha</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-module-upload</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-module-upload-local</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-module-upload-minio</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cn.jslim</groupId>
				<artifactId>jslim-module-upload-oss</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>