<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>com.starcharge</groupId>
	<artifactId>wios</artifactId>
	<version>2.0.0</version>
	<packaging>jar</packaging>

	<name>starcharge-${project.artifactId}</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
		<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
		<maven.build.version>${project.version}-${maven.build.timestamp}</maven.build.version>
		<docker.image.prefix>registry-vpc.cn-hangzhou.aliyuncs.com/cams</docker.image.prefix>
		<start.class>com.starcharge.Application</start.class>
	</properties>

	<repositories>
		<repository>
			<id>rdc-releases</id>
			<name>aliyun-maven-repository</name>
			<url>https://repo.rdc.aliyun.com/repository/42378-release-YWUwgn/</url>
		</repository>
		<repository>
			<id>rdc-snapshots</id>
			<name>aliyun-maven-repository</name>
			<url>https://repo.rdc.aliyun.com/repository/42378-snapshot-SzMM2B/</url>
		</repository>
	</repositories>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.8.RELEASE</version>
	</parent>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-aop</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.9</version>
		</dependency>
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>3.2.1</version>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.9.3</version>
		</dependency>
		<dependency>
    	<groupId>org.javassist</groupId>
		    <artifactId>javassist</artifactId>
		    <version>3.25.0-GA</version>
		</dependency>
		<!-- json.utils -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.47</version>
		</dependency>
		<dependency>
			<groupId>com.ihidea</groupId>
			<artifactId>frame.core</artifactId>
			<version>2.2.2.20201022.082934-1</version>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.2.2</version>
		</dependency>
		
		<!-- cat监控 -->
<!--		<dependency>-->
<!--			<groupId>com.dianping.cat</groupId>-->
<!--			<artifactId>cat-client</artifactId>-->
<!--			<version>3.1.1</version>-->
<!--		</dependency>-->
		<!-- poi -->
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>4.1.2</version>
		</dependency>
		<dependency>
		  <groupId>com.deepoove</groupId>
		  <artifactId>poi-tl</artifactId>
		  <version>1.8.2</version>
		</dependency>
		
		<dependency>
			<groupId>com.aliyun.oss</groupId>
			<artifactId>aliyun-sdk-oss</artifactId>
			<version>3.10.0</version>
		</dependency>

		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.4.6</version>
		</dependency>
		<!--hutool生成二维码依赖此包-->
		<dependency>
			<groupId>com.google.zxing</groupId>
			<artifactId>core</artifactId>
			<version>3.4.1</version>
		</dependency>

		<!-- log -->
		<!-- <dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
		</dependency> -->

		<!-- 解析分页sql -->
		<dependency>
			<groupId>com.github.jsqlparser</groupId>
			<artifactId>jsqlparser</artifactId>
			<version>3.2</version>
		</dependency>
		
		<!-- redis连接池 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-pool2</artifactId>
		</dependency>
		
		<!-- jxl -->
        <dependency>
            <groupId>net.sourceforge.jexcelapi</groupId>
            <artifactId>jxl</artifactId>
            <version>2.6.12</version>
        </dependency>
        
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.9.2</version>
		</dependency>
		<dependency>
			<groupId>io.swagger</groupId>
			<artifactId>swagger-annotations</artifactId>
			<version>1.5.21</version>
		</dependency>
		<dependency>
			<groupId>io.swagger</groupId>
			<artifactId>swagger-models</artifactId>
			<version>1.5.21</version>
		</dependency>
		<dependency>
			<groupId>com.github.xiaoymin</groupId>
			<artifactId>knife4j-spring-boot-starter</artifactId>
			<version>2.0.2</version>
		</dependency>
		
		<dependency>
		    <groupId>com.starcharge</groupId>
		    <artifactId>warehouse-api</artifactId>
		    <version>1.0.0-20210319.112648-36</version>
		</dependency>

		<dependency>
		  <groupId>org.springframework.cloud</groupId>
		  <artifactId>spring-cloud-starter-openfeign</artifactId>
		</dependency>
		<dependency>
		  <groupId>io.github.openfeign</groupId>
		  <artifactId>feign-okhttp</artifactId>
		</dependency>
		
		<dependency>
		    <groupId>org.apache.httpcomponents</groupId>
		    <artifactId>httpmime</artifactId>
		</dependency>

		<!-- jackson.xml-->
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-xml</artifactId>
		</dependency>
		
		<dependency>
		    <groupId>com.aliyun</groupId>
		    <artifactId>aliyun-java-sdk-core</artifactId>
		    <version>4.4.4</version>
		</dependency>

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

		<dependency>
			<groupId>org.redisson</groupId>
			<artifactId>redisson</artifactId>
			<version>3.13.4</version>
		</dependency>

	</dependencies>
	
	<dependencyManagement>
	  <dependencies>
	    <dependency>
	    <groupId>org.springframework.cloud</groupId>
	    <artifactId>spring-cloud-dependencies</artifactId>
	    <version>Finchley.SR1</version>
	    <type>pom</type>
	    <scope>import</scope>
	    </dependency>
	  </dependencies>
	</dependencyManagement>

	<build>
		<finalName>starcharge.${project.artifactId}.${maven.build.timestamp}</finalName>
		<plugins>
			<!-- 打包成普通jar -->
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
					<encoding>${project.build.sourceEncoding}</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>
					</execution>
				</executions>
			</plugin>

			<!-- 打包成fatjar -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<mainClass>${start.class}</mainClass>
					<layout>JAR</layout>
					<executable>false</executable>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- 打包成普通jar -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<addMavenDescriptor>false</addMavenDescriptor>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							<mainClass>${start.class}</mainClass>
						</manifest>
						<manifestEntries>
							<Implementation-Version>${maven.build.version}</Implementation-Version>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>

			<!-- 打包成docker -->
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>0.4.14</version>
				<configuration>

					<!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 -->
					<imageName>${docker.image.prefix}/${project.name}</imageName>
					<imageTags>
						<imageTag>${maven.build.version}</imageTag>
					</imageTags>
					<!-- <dockerHost>http://10.8.8.5:2375</dockerHost>
					<pushImageTag>true</pushImageTag> -->
					<!-- 指定Dockerfile所在的路径 -->
					<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>

					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>starcharge.${project.artifactId}.${maven.build.timestamp}.jar</include>
						</resource>
					</resources>

					<!-- 与maven配置文件settings.xml一致 -->
					<serverId>docker-registry</serverId>
				</configuration>
			</plugin>
			
			<!-- 如果有写junit,在打包时又不想运行junit则需要加上以下配置 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
		</plugins>

		<resources>
			<resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.xsd</include>
                    <include>**/*.txt</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>config</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources/config</directory>
                <includes>
                    <include>*.properties</include>
                    <include>*.json</include>
                    <include>*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>lib</directory>
                <targetPath>lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
		</resources>

	</build>
</project>