<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>com.github.paganini2008.doodler</groupId>
	<artifactId>doodler-framework-dependencies</artifactId>
	<version>1.0.0-beta</version>
	<packaging>pom</packaging>
	
	<name>doodler</name>
	<description>All in one Scaffold project based on SpringBoot framework</description>
	<url>https://github.com/paganini2008/greenfinger</url>
	
	<licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>
	
    <developers>
        <developer>
            <name>Fred Feng</name>
            <email>paganini.fy@gmail.com</email>
        </developer>
    </developers>
	
	<scm>
        <connection>https://github.com/paganini2008/doodler.git</connection>
        <developerConnection>https://github.com/paganini2008/doodler.git</developerConnection>
        <url>https://github.com/paganini2008/doodler</url>
    </scm>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>17</java.version>
		<springboot.version>2.7.18</springboot.version>
		<springcloud.version>2021.0.8</springcloud.version>
		<fastjson.version>1.2.74</fastjson.version>
		<guava.version>31.1-jre</guava.version>
		<doodler.backend.version>1.0.0-beta</doodler.backend.version>
		<swagger.fox.version>2.9.2</swagger.fox.version>
		<io.swagger>1.5.21</io.swagger>
	</properties>

	<modules>
		<module>doodler-common-data</module>
		<module>doodler-common-redis</module>
		<module>doodler-common-log</module>
		<module>doodler-common-jdbc</module>
		<module>doodler-common-jpa</module>
		<module>doodler-common-mybatis</module>
		<module>doodler-common-i18n</module>
		<module>doodler-common-id</module>
		<module>doodler-common-security</module>
		<module>doodler-common-oauth</module>
		<module>doodler-common-swagger</module>
		<module>doodler-common-feign</module>
		<module>doodler-common-webmvc</module>
		<module>doodler-common-validation</module>
		<module>doodler-common-ip</module>
		<module>doodler-common-websocket</module>
		<module>doodler-common-amqp</module>
		<module>doodler-common-cloud</module>
		<module>doodler-common-cache</module>
		<module>doodler-common-zookeeper</module>
		<module>doodler-common-quartz</module>
		<module>doodler-common-gateway</module>
		<module>doodler-common-timeseries</module>
		<module>doodler-common-traffic</module>
		<module>doodler-common-transmitter</module>
		<module>doodler-common-hazelcast</module>
		<module>doodler-common-elasticsearch</module>
		<module>doodler-common-scheduler</module>
		
		<!--
		<module>doodler-common-config</module>
		<module>doodler-common-messager</module>
		<module>doodler-common-upms</module>
		<module>doodler-common-jta</module>
		<module>doodler-common-aws</module>
		<module>doodler-common-webflux</module>
		<module>doodler-common-openfeign</module>
		<module>doodler-common-grpc</module>
		<module>doodler-example-client</module>
		-->
	</modules>

	<dependencyManagement>

		<dependencies>

			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>${springboot.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${springcloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-data</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-redis</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-mybatis</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-i18n</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-id</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-security</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-log</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-swagger</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-feign</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-webmvc</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-validation</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-jdbc</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-jpa</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-ip</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-websocket</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-amqp</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>
			
			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-cloud</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-quartz</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-cache</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-zookeeper</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-gateway</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-timeseries</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-hazelcast</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-transmitter</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-elasticsearch</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-traffic</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>
			
			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-scheduler</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>
			
			<!--
			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-example-client</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-config</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>
			
			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-messager</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-upms</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-example-client</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-webflux</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-openfeign</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-grpc</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>

			
			<dependency>
				<groupId>com.github.paganini2008.doodler</groupId>
				<artifactId>doodler-common-aws</artifactId>
				<version>${doodler.backend.version}</version>
			</dependency>
			-->

		</dependencies>
	</dependencyManagement>

	<dependencies>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>

		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.18.0</version>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-text</artifactId>
			<version>1.10.0</version>
		</dependency>

		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.9.4</version>
		</dependency>

		<dependency>
			<groupId>commons-dbutils</groupId>
			<artifactId>commons-dbutils</artifactId>
			<version>1.7</version>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-collections4</artifactId>
		</dependency>

		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
		</dependency>

		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.4.1</version>
		</dependency>
		        
        <dependency>
			<groupId>com.github.paganini2008</groupId> 
			<artifactId>devtools-lang</artifactId>
			<version>2.0.5</version>
		</dependency>

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>${fastjson.version}</version>
		</dependency>

		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>${guava.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-actuator-autoconfigure</artifactId>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.1</version>
				<configuration>
					<attach>true</attach>
				</configuration>
				<executions>
					<execution>
						<phase>compile</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			
			<plugin>
			    <groupId>com.mycila</groupId>
			    <artifactId>license-maven-plugin</artifactId>
			    <version>4.6</version>
			    <executions>
			        <execution>
			            <goals>
			                <goal>format</goal>
			            </goals>
			        </execution>
			    </executions>
			    <configuration>
			        <header>${basedir}/license-header.txt</header>
			        <includes>
			            <include>**/*.java</include>
			        </includes>
			    </configuration>
			</plugin>
			<!-- mvn license:format -->
		</plugins>
	</build>

	<profiles>
        <profile>
            <id>release-9</id>
            <build>
                <plugins>
                    <!-- Source -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Javadoc -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
						<version>2.9.1</version>
                        <configuration>
                            <show>private</show>
                            <nohelp>true</nohelp>
                            <charset>UTF-8</charset>
							<encoding>UTF-8</encoding>
							<docencoding>UTF-8</docencoding>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- GPG -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <distributionManagement>
                <snapshotRepository>
                    <id>paganini2008</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
                </snapshotRepository>
                <repository>
                    <id>paganini2008</id>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
            </distributionManagement>
        </profile>
    </profiles>
	
    <repositories>
        <repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
        <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>
</project>