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

	<groupId>net.jueb</groupId>
	<artifactId>util4j</artifactId>
	<version>4.0.2</version>
	<packaging>jar</packaging>

	<name>${project.groupId}:${project.artifactId}</name>
	<description>java base tools</description>
	<url>https://github.com/juebanlin/util4j</url>
	<licenses>
		<license>
			<name>The Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>
	<developers>
		<developer>
			<name>juebanlin</name>
			<email>juebanlin@gmail.com</email>
			<roles>
				<role>developer</role>
			</roles>
			<timezone>+8</timezone>
		</developer>
	</developers>
	<scm>
		<connection>scm:git:https://github.com/juebanlin/util4j.git</connection>
		<developerConnection>scm:git:https://github.com/juebanlin/util4j.git</developerConnection>
		<url>https://github.com/juebanlin/util4j</url>
		<tag>v${project.version}</tag>
	</scm>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<name>Maven Central Staging Repository</name>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<JDK.VERSION>1.8</JDK.VERSION>
	</properties>
	<repositories>

	</repositories>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
		<!-- 日志配置 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.12</version>
		</dependency>
		<!-- 日志log4j实现配置 <optional>true</optional>只适合当前项目测试使用,不传递个依赖此项目的其它项目 -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-slf4j-impl</artifactId>
			<version>2.3</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>2.3</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId>
			<version>2.3</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.lmax</groupId>
			<artifactId>disruptor</artifactId>
			<version>3.3.2</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>io.netty</groupId>
			<artifactId>netty-all</artifactId>
			<version>4.1.6.Final</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.10</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.google.protobuf</groupId>
			<artifactId>protobuf-java</artifactId>
			<version>3.1.0</version>
			<optional>true</optional>
			<scope>provided</scope>
		</dependency>
		<!-- 配置JDK 1.7的tools.jar依赖 -->
		<dependency>
			<groupId>com.sun</groupId>
			<artifactId>tools</artifactId>
			<version>1.7</version>
			<scope>system</scope>
			<systemPath>${java.home}/../lib/tools.jar</systemPath>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.5</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
			<optional>true</optional>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.mina/mina-core -->
		<dependency>
			<groupId>org.apache.mina</groupId>
			<artifactId>mina-core</artifactId>
			<version>2.0.13</version>
			<optional>true</optional>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>19.0</version>
			<optional>true</optional>
		</dependency>
		<!-- https://github.com/JCTools/JCTools -->
		<dependency>
			<groupId>org.jctools</groupId>
			<artifactId>jctools-core</artifactId>
			<version>2.0</version>
		</dependency>
		<dependency>
			<groupId>org.mapdb</groupId>
			<artifactId>mapdb</artifactId>
			<version>3.0.3</version>
			<optional>true</optional>
		</dependency>
	</dependencies>
	<build>
		<!-- 读取系统版本的扩展 -->
		<extensions>
			<extension>
				<!-- ${os.name} and ${os.arch} [INFO] os.detected.name: windows [INFO] 
					os.detected.arch: x86_64 [INFO] os.detected.version: 10.0 [INFO] os.detected.version.major: 
					10 [INFO] os.detected.version.minor: 0 [INFO] os.detected.classifier: windows-x86_64 -->
				<groupId>kr.motd.maven</groupId>
				<artifactId>os-maven-plugin</artifactId>
				<version>1.5.0.Final</version>
			</extension>
		</extensions>
		<plugins>
			<!-- ossrh config start -->
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.3</version>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>1.5</version>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.3</version>
				<configuration>
					<aggregate>true</aggregate>
					<charset>${project.build.sourceEncoding}</charset>
					<encoding>${project.build.sourceEncoding}</encoding>
					<docencoding>${project.build.sourceEncoding}</docencoding>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<!-- 忽略doc警告 -->
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.2.1</version>
				<configuration>
					<aggregate>true</aggregate>
					<charset>${project.build.sourceEncoding}</charset>
					<encoding>${project.build.sourceEncoding}</encoding>
					<docencoding>${project.build.sourceEncoding}</docencoding>
				</configuration>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>1.6</version>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- ossrh config end -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<source>${JDK.VERSION}</source>
					<target>${JDK.VERSION}</target>
					<!-- 编译插件jdk版本 -->
					<compilerVersion>${JDK.VERSION}</compilerVersion>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>
			<!-- 字节码打jar包时把不需要的资源文件给排除在外 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<!-- jar资源过滤 -->
					<excludes>
						<exclude>**/conf/*</exclude>
						<exclude>**/shell/*</exclude>
						<exclude>**/.svn/*</exclude>
						<exclude>**/*.java</exclude>
						<exclude>log4j2.xml</exclude>
					</excludes>
				</configuration>
			</plugin>
			<!-- maven protobuf插件 -->
			<plugin>
				<groupId>org.xolstice.maven.plugins</groupId>
				<artifactId>protobuf-maven-plugin</artifactId>
				<version>0.5.0</version>
				<configuration>
					<!-- 设置本地调用程序路径 -->
					<protocExecutable>${project.basedir}/src/main/proto/protoc-3.1.0-windows-x86_32.exe</protocExecutable>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>compile</goal>
							<goal>test-compile</goal>
						</goals>
						<configuration>
							<!-- https://repo.maven.apache.org/maven2/com/google/protobuf/protoc/ 
								自动发现下载exe,需要os-maven-plugin插件解析系统版本 <protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact> -->
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<!-- classes 目录资源过滤 -->
		<testResources>
			<testResource>
				<directory>src/test/resources</directory>
			</testResource>
			<testResource>
				<directory>src/main/proto</directory>
				<excludes>
					<exclude>**/*.proto</exclude>
				</excludes>
			</testResource>
			<testResource>
				<directory>target/generated-sources/protobuf/java</directory>
				<excludes>
					<exclude>**/*..*</exclude>
				</excludes>
			</testResource>
		</testResources>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.properties</include>
				</includes>
				<!-- 排除 <excludes> <exclude>log4j2.xml</exclude> </excludes> -->
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<!-- 排除 <excludes> <exclude>log4j2.xml</exclude> </excludes> -->
			</resource>
		</resources>
	</build>
</project>