<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<groupId>io.xiaper</groupId>
	<artifactId>xiaper-spring-boot-router-rabbitmq</artifactId>
	<version>2.1.4.RELEASE</version>

	<name>xiaper-spring-boot-router-rabbitmq</name>
	<description>full stack open source enterprise im engine component</description>

	<url>http://www.xiaper.io/</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>jackning</name>
			<email>270580156@qq.com</email>
		</developer>
	</developers>
	<scm>
		<connection>scm:git:git@github.com/xiaper/server.git</connection>
		<developerConnection>scm:git:git@github.com/xiaper/server.git</developerConnection>
		<url>git@github.com/xiaper/server</url>
	</scm>

	<properties>
		<java.version>1.8</java.version>
		<proguard.version>6.0.3</proguard.version>
	</properties>

	<dependencies>

		<!--授权oauth-->
		<dependency>
			<groupId>org.springframework.security.oauth</groupId>
			<artifactId>spring-security-oauth2</artifactId>
			<version>2.3.4.RELEASE</version>
			<scope>provided</scope>
		</dependency>

		<!--security-->
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-messaging</artifactId>
			<scope>provided</scope>
		</dependency>

		<!--邮件html模板-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
			<scope>provided</scope>
		</dependency>

		<!--发送邮件-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
			<scope>provided</scope>
		</dependency>

		<!--websocket-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-websocket</artifactId>
			<scope>provided</scope>
		</dependency>

		<!--jpa-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
			<scope>provided</scope>
		</dependency>

		<!--redis-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
			<scope>provided</scope>
		</dependency>

		<!--rabbitmq-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
			<scope>provided</scope>
		</dependency>


		<!--///////////////////////////////////////////////////////////////////////////////////////-->

		<dependency>
			<groupId>io.xiaper</groupId>
			<artifactId>xiaper-spring-boot-data-jpa</artifactId>
			<version>2.1.4.RELEASE</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>io.xiaper</groupId>
			<artifactId>xiaper-spring-boot-wechat</artifactId>
			<version>2.1.4.RELEASE</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>io.xiaper</groupId>
			<artifactId>xiaper-spring-boot-service</artifactId>
			<version>2.1.4.RELEASE</version>
			<scope>provided</scope>
		</dependency>
		
		<!--///////////////////////////////////////////////////////////////////////////////////////-->

		<!-- For Stomp Broker Replay -->
		<dependency>
			<groupId>io.projectreactor.netty</groupId>
			<artifactId>reactor-netty</artifactId>
			<version>0.8.4.RELEASE</version>
			<scope>provided</scope>
		</dependency>

		<!--json, 注：module jpa 中已经存在-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.46</version>
			<scope>provided</scope>
		</dependency>

		<!--protobuf-->
		<dependency>
			<groupId>com.google.protobuf</groupId>
			<artifactId>protobuf-java</artifactId>
			<version>3.6.1</version>
			<scope>provided</scope>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util -->
		<!--protobuf-java-util 是protobuf相关的工具类-->
		<dependency>
			<groupId>com.google.protobuf</groupId>
			<artifactId>protobuf-java-util</artifactId>
			<version>3.6.1</version>
			<scope>provided</scope>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.googlecode.protobuf-java-format/protobuf-java-format -->
		<!--protobuf-java-format 是可以将protobuf转换为Json格式转换器-->
		<dependency>
			<groupId>com.googlecode.protobuf-java-format</groupId>
			<artifactId>protobuf-java-format</artifactId>
			<version>1.4</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>

		<!--混淆之后jar包名-->
		<!--<finalName>${project.artifactId}-proguard-${project.version}</finalName>-->
		<!--<plugins>-->
			<!--&lt;!&ndash; 混淆参考：https://github.com/seregaSLM/proguard-spring-boot-example/blob/master/pom.xml &ndash;&gt;-->
			<!--<plugin>-->
				<!--<groupId>com.github.wvengen</groupId>-->
				<!--<artifactId>proguard-maven-plugin</artifactId>-->
				<!--<version>2.0.14</version>-->
				<!--<executions>-->
					<!--<execution>-->
						<!--<phase>package</phase>-->
						<!--<goals>-->
							<!--<goal>proguard</goal>-->
						<!--</goals>-->
					<!--</execution>-->
				<!--</executions>-->
				<!--<configuration>-->
					<!--<proguardVersion>${proguard.version}</proguardVersion>-->
					<!--<injar>${project.build.finalName}.jar</injar>-->
					<!--<outjar>${project.build.finalName}.jar</outjar>-->
					<!--<obfuscate>true</obfuscate>-->
					<!--<options>-->
						<!--<option>-dontshrink</option>-->
						<!--<option>-dontoptimize</option>-->
						<!--&lt;!&ndash;<option>-dontpreverify</option>&ndash;&gt;-->
						<!--&lt;!&ndash;<option>-verbose</option>&ndash;&gt;-->
						<!--&lt;!&ndash; This option will replace all strings in reflections method invocations with new class names.-->
                             <!--For example, invokes Class.forName('className')&ndash;&gt;-->
						<!--<option>-adaptclassstrings</option>-->
						<!--&lt;!&ndash;<option>-keepdirectories</option>&ndash;&gt;-->
						<!--&lt;!&ndash; This option will save all original annotations and etc. Otherwise all we be removed from files.&ndash;&gt;-->
						<!--<option>-keepattributes-->
							<!--Exceptions,-->
							<!--InnerClasses,-->
							<!--Signature,-->
							<!--Deprecated,-->
							<!--SourceFile,-->
							<!--LineNumberTable,-->
							<!--*Annotation*,-->
							<!--EnclosingMethod-->
						<!--</option>-->
						<!--&lt;!&ndash; This option will save all original names in interfaces (without obfuscate).&ndash;&gt;-->
						<!--<option>-keepnames interface **</option>-->
						<!--&lt;!&ndash; This option will save all original methods parameters in files defined in -keep sections,-->
                             <!--otherwise all parameter names will be obfuscate.&ndash;&gt;-->
						<!--<option>-keepparameternames</option>-->
						<!--&lt;!&ndash; This option will save all original class files (without obfuscate) but obfuscate all-->
                             <!--in domain and service packages.&ndash;&gt;-->
						<!--<option>-keep-->
							<!--class io.xiaper.mq.RabbitMqRouterApplication {-->
							<!--public static void main(java.lang.String[]);-->
							<!--}-->
						<!--</option>-->
						<!--&lt;!&ndash; This option ignore warnings such as duplicate class definitions and classes in incorrectly-->
                            <!--named files&ndash;&gt;-->
						<!--<option>-ignorewarnings</option>-->
						<!--&lt;!&ndash; This option will save all original class files (without obfuscate) in service package&ndash;&gt;-->
						<!--&lt;!&ndash;<option>-keep class com.slm.proguard.example.spring.boot.service { *; }</option>&ndash;&gt;-->
						<!--&lt;!&ndash; This option will save all original interfaces files (without obfuscate) in all packages.&ndash;&gt;-->
						<!--<option>-keep interface * extends * { *; }</option>-->
						<!--&lt;!&ndash; This option will save all original defined annotations in all class in all packages.&ndash;&gt;-->
						<!--<option>-keepclassmembers class * {-->
							<!--@org.springframework.beans.factory.annotation.Autowired *;-->
							<!--@org.springframework.beans.factory.annotation.Value *;-->
							<!--}-->
						<!--</option>-->
					<!--</options>-->
					<!--<injarNotExistsSkip>true</injarNotExistsSkip>-->
					<!--<libs>-->
						<!--&lt;!&ndash;Put here your libraries if required&ndash;&gt;-->
						<!--&lt;!&ndash;<lib>${java.home}/lib/rt.jar</lib>&ndash;&gt;-->
					<!--</libs>-->
				<!--</configuration>-->
				<!--<dependencies>-->
					<!--<dependency>-->
						<!--<groupId>net.sf.proguard</groupId>-->
						<!--<artifactId>proguard-base</artifactId>-->
						<!--<version>${proguard.version}</version>-->
					<!--</dependency>-->
				<!--</dependencies>-->
			<!--</plugin>-->
		<!--</plugins>-->

	</build>

	<profiles>
		<profile>
			<id>release</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>
						<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>
						<version>1.6</version>
						<executions>
							<execution>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
			<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>
		</profile>
	</profiles>

</project>
