<?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>
	<groupId>cc.ryanc</groupId>
	<artifactId>halo</artifactId>
	<version>latest</version>
	<name>halo</name>
	<!-- 虽然Halo使用了宽松的GPL协议，但开发不易，希望您可以保留一下版权声明。笔芯~ -->
	<description>
		halo，一个基于SpringBoot的博客系统，最求轻快，易用，以内容为中心。
	</description>

	<developers>
		<developer>
			<id>ruibaby</id>
			<name>Ryan Wang</name>
			<email>i@ryanc.cc</email>
			<url>https://ryanc.cc</url>
		</developer>
	</developers>

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

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<oh-my-email.version>0.0.3</oh-my-email.version>
		<lombok.version>1.18.2</lombok.version>
		<ehcache.version>3.6.0</ehcache.version>
		<rome.version>1.0</rome.version>
		<hutool-all.version>4.2.1</hutool-all.version>
		<upyun-java-sdk.version>4.0.1</upyun-java-sdk.version>
		<qiniu-java-sdk.version>7.2.14</qiniu-java-sdk.version>
		<thumbnailator.version>0.4.8</thumbnailator.version>
		<jaxb-api.version>2.3.0</jaxb-api.version>
		<commonmark.version>0.12.1</commonmark.version>
	</properties>

	<dependencies>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-tomcat</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
		</dependency>

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

		<!-- undertow -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-undertow</artifactId>
		</dependency>

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

		<!-- mysql-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>

		<!-- H2Database -->
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-cache</artifactId>
		</dependency>

		<!-- freemarker依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
		</dependency>

		<!-- 邮件 -->
		<dependency>
			<groupId>io.github.biezhi</groupId>
			<artifactId>oh-my-email</artifactId>
			<version>${oh-my-email.version}</version>
		</dependency>

		<!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <scope>provided</scope>
        </dependency>

		<!-- EhCache -->
		<dependency>
			<groupId>org.ehcache</groupId>
			<artifactId>ehcache</artifactId>
			<version>${ehcache.version}</version>
		</dependency>

		<!-- rss -->
		<dependency>
			<groupId>rome</groupId>
			<artifactId>rome</artifactId>
			<version>${rome.version}</version>
		</dependency>

		<!-- hutool工具包 -->
		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>${hutool-all.version}</version>
		</dependency>

        <!-- 又拍云SDK -->
		<dependency>
			<groupId>com.upyun</groupId>
			<artifactId>java-sdk</artifactId>
			<version>${upyun-java-sdk.version}</version>
		</dependency>

		<!-- 七牛云SDK -->
		<dependency>
			<groupId>com.qiniu</groupId>
			<artifactId>qiniu-java-sdk</artifactId>
			<version>${qiniu-java-sdk.version}</version>
			<exclusions>
				<exclusion>
					<artifactId>okhttp</artifactId>
					<groupId>com.squareup.okhttp3</groupId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- 图片操作 -->
		<dependency>
			<groupId>net.coobird</groupId>
			<artifactId>thumbnailator</artifactId>
			<version>${thumbnailator.version}</version>
		</dependency>

		<!-- jaxb-api-->
		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>${jaxb-api.version}</version>
		</dependency>

		<!-- Markdown渲染 -->
		<dependency>
			<groupId>com.atlassian.commonmark</groupId>
			<artifactId>commonmark</artifactId>
			<version>${commonmark.version}</version>
		</dependency>
		<dependency>
			<groupId>com.atlassian.commonmark</groupId>
			<artifactId>commonmark-ext-gfm-tables</artifactId>
			<version>${commonmark.version}</version>
		</dependency>
		<dependency>
			<groupId>com.atlassian.commonmark</groupId>
			<artifactId>commonmark-ext-yaml-front-matter</artifactId>
			<version>${commonmark.version}</version>
		</dependency>

	</dependencies>

	<profiles>
		<!-- 生产环境打包配置 -->
		<profile>
			<id>prod</id>
            <repositories>
                <repository>
                    <id>aliyun</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>aliyun</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                </pluginRepository>
            </pluginRepositories>
			<build>
				<finalName>halo</finalName>
				<resources>
					<resource>
						<directory>src/main/java</directory>
						<filtering>false</filtering>
						<excludes>
							<exclude>**/*.java</exclude>
						</excludes>
					</resource>
				</resources>
				<plugins>
					<!-- 跳过单元测试，不然打包的时候会因为加载不了application.yaml报错 -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<configuration>
							<skip>true</skip>
						</configuration>
					</plugin>

					<plugin>
						<artifactId>maven-compiler-plugin</artifactId>
						<configuration>
							<source>1.8</source>
							<target>1.8</target>
							<encoding>UTF-8</encoding>
						</configuration>
					</plugin>

					<plugin>
						<artifactId>maven-assembly-plugin</artifactId>
						<configuration>
							<appendAssemblyId>false</appendAssemblyId>
							<descriptors>
								<descriptor>assembly.xml</descriptor>
							</descriptors>
							<outputDirectory>${project.build.directory}/dist/</outputDirectory>
						</configuration>
						<executions>
							<execution>
								<id>make-assembly</id>
								<phase>package</phase>
								<goals>
									<goal>single</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<!-- 打包成jar文件，并指定lib文件夹以及resources资源文件夹 -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-jar-plugin</artifactId>
						<version>3.1.0</version>
						<configuration>
							<archive>
								<manifest>
									<mainClass>cc.ryanc.halo.Application</mainClass>
									<classpathPrefix>lib/</classpathPrefix>
									<addClasspath>true</addClasspath>
								</manifest>
								<manifestEntries>
									<Class-Path>resources/</Class-Path>
								</manifestEntries>
							</archive>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

        <!--CI环境-->
        <profile>
            <id>ci</id>
            <build>
                <finalName>halo</finalName>
                <resources>
                    <resource>
                        <directory>src/main/java</directory>
                        <filtering>false</filtering>
                        <excludes>
                            <exclude>**/*.java</exclude>
                        </excludes>
                    </resource>
                </resources>
                <plugins>
                    <!-- 跳过单元测试，不然打包的时候会因为加载不了application.yaml报错 -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                    </plugin>

                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.8</source>
                            <target>1.8</target>
                            <encoding>UTF-8</encoding>
                        </configuration>
                    </plugin>

                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <configuration>
                            <appendAssemblyId>false</appendAssemblyId>
                            <descriptors>
                                <descriptor>assembly.xml</descriptor>
                            </descriptors>
                            <outputDirectory>${project.build.directory}/dist/</outputDirectory>
                        </configuration>
                        <executions>
                            <execution>
                                <id>make-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <!-- 打包成jar文件，并指定lib文件夹以及resources资源文件夹 -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>3.1.0</version>
                        <configuration>
                            <archive>
                                <manifest>
                                    <mainClass>cc.ryanc.halo.Application</mainClass>
                                    <classpathPrefix>lib/</classpathPrefix>
                                    <addClasspath>true</addClasspath>
                                </manifest>
                                <manifestEntries>
                                    <Class-Path>resources/</Class-Path>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

		<!-- 开发环境 -->
		<profile>
			<id>dev</id>
			<build>
				<plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <configuration>
                            <fork>true</fork>
                        </configuration>
                    </plugin>
                </plugins>
			</build>
		</profile>
	</profiles>
</project>
