<?xml version="1.0"?>
<project 
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>mbap</groupId>
    <artifactId>mbap-parent</artifactId>
	<version>2.7.8</version>
  </parent>
  <artifactId>mbap-core</artifactId>
  <name>mbap-core</name>
  <version>v1.V${timestamp}</version>
  <properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<nexus.server.id>nexus-release</nexus.server.id>
		<nexus.server.ip>192.168.100.27:3691</nexus.server.ip>
		<nexus.release.url>http://${nexus.server.ip}/nexus/content/repositories/mbap</nexus.release.url>
		<timestamp>${maven.build.timestamp}</timestamp>
		<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
  </properties>

  <dependencies>
    <dependency>
   	 	<groupId>mbap</groupId>
		<artifactId>mbap-log</artifactId>
		<version>v1.V20240218033255</version>
    </dependency>
  	<!-- web控制支持 -->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
  	<!-- （健康监控）配置和使用:可以对应用系统进行配置查看、相关功能统计等 -->
	<!-- 代码优化工具 -->
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
	</dependency>
    <!-- redis 存储 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <!-- 添加graylog收集日志的jar -->
	<dependency>
		<groupId>de.siegmar</groupId>
		<artifactId>logback-gelf</artifactId>
		<version>2.0.0</version>
	</dependency>
    <!-- json包 -->
    <dependency>
      <groupId>org.json</groupId>
      <artifactId>json</artifactId>
      <version>20160212</version>
      <scope>compile</scope>
    </dependency> 
	
	  <!--redis序列化相关 -->
	  <dependency>
		  <groupId>com.esotericsoftware</groupId>
		  <artifactId>kryo</artifactId>
		  <version>5.3.0</version>
	  </dependency>
	  <dependency>
		  <groupId>org.xerial.snappy</groupId>
		  <artifactId>snappy-java</artifactId>
		  <version>1.1.8.4</version>
	  </dependency>

	  <dependency>
		  <groupId>mbap</groupId>
		  <artifactId>tpc-hm</artifactId>
		  <version>1.2</version>
	  </dependency>
  </dependencies>


	<build>
		<finalName>mbap-core</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>17</source>
					<target>17</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/lib</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- resouces拷贝文件插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.6</version>
				<!-- 插件执行的时候申明所有的phase-->
				<executions>
					<execution>
						<id>copy-allatori-config</id>
						<phase>package</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<!-- 拷贝文件的目录，我们最终打包存放的位置是target目录 -->
							<outputDirectory>${basedir}/target</outputDirectory>
							<resources>
								<resource>
									<!-- 这个目录放recsource，是因为resource打包时本身会被copy到target中 -->
									<directory>src/main/resources</directory>
									<includes>
										<!-- Allatori配置文件的文件名 -->
										<include>allatori.xml</include>
									</includes>
									<filtering>true</filtering>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- 执行java程序，这里执行的是混淆的jar包程序，对代码进行混淆 -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>exec-maven-plugin</artifactId>
				<version>1.2.1</version>
				<executions>
					<execution>
						<id>run-allatori</id>
						<phase>package</phase>
						<goals>
							<goal>exec</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<includePluginDependencies>true</includePluginDependencies>
					<executable>java</executable>
					<arguments>
						<argument>-Xms128m</argument>
						<argument>-Xmx512m</argument>
						<argument>-jar</argument>
						<!-- 指定应用的Allatori的jar包的位置，我放在了当前项目的lib文件下-->
						<argument>lib/allatori.jar</argument>
						<!-- 制定代码混淆时的配置文件，我放在了当前项目根路径下-->
						<argument>allatori.xml</argument>
					</arguments>
				</configuration>
			</plugin>
			<!-- 本地安装-->
<!--			<plugin>-->
<!--				<groupId>org.apache.maven.plugins</groupId>-->
<!--				<artifactId>maven-install-plugin</artifactId>-->
<!--				<version>2.5.2</version>-->
<!--				<executions>-->
<!--					<execution>-->
<!--						<goals>-->
<!--							<goal>install-file</goal>-->
<!--						</goals>-->
<!--						<phase>package</phase>-->
<!--						<configuration>-->
<!--							<groupId>${project.groupId}</groupId>-->
<!--							<artifactId>${project.artifactId}</artifactId>-->
<!--							<version>${project.version}</version>-->
<!--							<packaging>jar</packaging>-->
<!--							<pomFile>${project.basedir}/pom.xml</pomFile>-->
<!--							<file>${project.build.directory}/${project.build.finalName}-obf.jar</file>-->
<!--							<javadoc>${project.build.directory}/${project.build.finalName}-obf.jar</javadoc>-->
<!--						</configuration>-->
<!--					</execution>-->
<!--				</executions>-->
<!--			</plugin>-->

			<!-- 公司仓库安装-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8.2</version>
				<executions>
					<execution>
						<goals>
							<goal>deploy-file</goal>
						</goals>
						<phase>package</phase>
						<configuration>
							<repositoryId>${nexus.server.id}</repositoryId>
							<groupId>${project.groupId}</groupId>
							<artifactId>${project.artifactId}</artifactId>
							<version>${project.version}</version>
							<packaging>jar</packaging>
							<pomFile>${project.basedir}/pom.xml</pomFile>
							<file>${project.build.directory}/${project.build.finalName}-obf.jar</file>
							<javadoc>${project.build.directory}/${project.build.finalName}-obf.jar</javadoc>
							<url>${nexus.release.url}</url>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>
