<?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>cn.javaer</groupId>
    <artifactId>platform-bom-extension</artifactId>
    <version>1.0.21</version>
    <packaging>pom</packaging>

    <name>platform-bom-extension</name>
    <description>platform bom extension</description>
    <url>https://github.com/cn-src/platform-bom-extension</url>

    <properties>
        <aliyun-sdk-oss.version>2.8.3</aliyun-sdk-oss.version>
        <assertj-core.version>3.8.0</assertj-core.version>
        <byte-buddy.version>1.7.9</byte-buddy.version>
        <commons-collections4.version>4.1</commons-collections4.version>
        <commons-crypto.version>1.0.0</commons-crypto.version>
        <commons-csv.version>1.5</commons-csv.version>
        <commons-email.version>1.5</commons-email.version>
        <commons-io.version>2.6</commons-io.version>
        <commons-lang3.version>3.7</commons-lang3.version>
        <cucumber.version>1.2.5</cucumber.version>
        <dalesbred.version>1.2.5</dalesbred.version>
        <druid.version>1.1.6</druid.version>
        <emoji-java.version>4.0.0</emoji-java.version>
        <fastjson.version>1.2.41</fastjson.version>
        <fastutil.version>8.1.1</fastutil.version>
        <findbugs.annotations.version>3.0.1u2</findbugs.annotations.version>
        <groovy-all.version>2.4.13</groovy-all.version>
        <guava.version>23.5-jre</guava.version>
        <itext-pdf.version>7.1.0</itext-pdf.version>
        <javaparser-core.version>3.5.5</javaparser-core.version>
        <javatuples.version>1.2</javatuples.version>
        <jcaptcha-core.version>2.0.0</jcaptcha-core.version>
        <jetbrains.annotations.version>15.0</jetbrains.annotations.version>
        <jodd.version>3.9.1</jodd.version>
        <jsch.version>0.1.54</jsch.version>
        <juniversalchardet.version>2.1.0</juniversalchardet.version>
        <mybatis-ehcache.version>1.1.0</mybatis-ehcache.version>
        <mybatis-spring-boot.version>1.3.1</mybatis-spring-boot.version>
        <mybatis-typehandlers-jsr310.version>1.0.2</mybatis-typehandlers-jsr310.version>
        <mybatis.version>3.4.5</mybatis.version>
        <objenesis.version>2.6</objenesis.version>
        <okhttp3.version>3.9.1</okhttp3.version>
        <pagehelper-spring-boot-starter.version>1.2.3</pagehelper-spring-boot-starter.version>
        <pagehelper.version>5.1.2</pagehelper.version>
        <qrgen.version>2.3.0</qrgen.version>
        <retrofit2-converter-jaxb.version>1.0.0</retrofit2-converter-jaxb.version>
        <retrofit2.version>2.3.0</retrofit2.version>
        <spock.version>1.1-groovy-2.4</spock.version>
        <spring-boot-admin.version>1.5.5</spring-boot-admin.version>
        <spring-data-mybatis.version>1.0.17.RELEASE</spring-data-mybatis.version>
        <springfox.version>2.7.0</springfox.version>
        <sshj.version>0.23.0</sshj.version>
        <super-csv.version>2.4.0</super-csv.version>
        <vavr.version>0.9.2</vavr.version>
        <wiremock.version>2.12.0</wiremock.version>
    </properties>
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>
    <scm>
        <url>https://github.com/cn-src/platform-bom-extension.git</url>
        <connection>scm:git:ssh://github.com/cn-src/platform-bom-extension.git</connection>
        <developerConnection>scm:git:ssh://git@github.com/cn-src/platform-bom-extension.git
        </developerConnection>
        <tag>1.0.21</tag>
    </scm>
    <developers>
        <developer>
            <name>zhangpeng</name>
            <email>java@javaer.cn</email>
        </developer>
    </developers>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>cn.javaer</groupId>
                <artifactId>retrofit2-converter-jaxb</artifactId>
                <version>${retrofit2-converter-jaxb.version}</version>
            </dependency>
            <!-- 部分第三方工具性质的依赖提供了新的不兼容版，故旧版只作为 runtime -->
            <dependency>
                <artifactId>commons-lang</artifactId>
                <groupId>commons-lang</groupId>
                <version>2.6</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.2</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-io</artifactId>
                <version>1.3.2</version>
                <scope>runtime</scope>
            </dependency>
            <!-- 对 platform-bom 已有的部分依赖进行版本升级 -->
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj-core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>animal-sniffer-annotations</artifactId>
                        <groupId>org.codehaus.mojo</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>error_prone_annotations</artifactId>
                        <groupId>com.google.errorprone</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>j2objc-annotations</artifactId>
                        <groupId>com.google.j2objc</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jsr305</artifactId>
                        <groupId>com.google.code.findbugs</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- 扩展 platform-bom 中没有的依赖 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>${commons-collections4.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-email</artifactId>
                <version>${commons-email.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-crypto</artifactId>
                <version>${commons-crypto.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-csv</artifactId>
                <version>${commons-csv.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>

            <dependency>
                <groupId>io.vavr</groupId>
                <artifactId>vavr</artifactId>
                <version>${vavr.version}</version>
            </dependency>

            <dependency>
                <groupId>com.jcraft</groupId>
                <artifactId>jsch</artifactId>
                <version>${jsch.version}</version>
            </dependency>

            <dependency>
                <groupId>net.sf.supercsv</groupId>
                <artifactId>super-csv</artifactId>
                <version>${super-csv.version}</version>
            </dependency>

            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>${springfox.version}</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${springfox.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-typehandlers-jsr310</artifactId>
                <version>${mybatis-typehandlers-jsr310.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.caches</groupId>
                <artifactId>mybatis-ehcache</artifactId>
                <version>${mybatis-ehcache.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-spring-boot.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter-test</artifactId>
                <version>${mybatis-spring-boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper-spring-boot-starter.version}</version>
            </dependency>
            <dependency>
                <groupId>com.ifrabbit</groupId>
                <artifactId>spring-data-mybatis</artifactId>
                <version>${spring-data-mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>com.ifrabbit</groupId>
                <artifactId>spring-boot-starter-data-mybatis</artifactId>
                <version>${spring-data-mybatis.version}</version>
            </dependency>

            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-server</artifactId>
                <version>${spring-boot-admin.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-server-ui</artifactId>
                <version>${spring-boot-admin.version}</version>
            </dependency>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-server-ui-login</artifactId>
                <version>${spring-boot-admin.version}</version>
            </dependency>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-starter-client</artifactId>
                <version>${spring-boot-admin.version}</version>
            </dependency>

            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>retrofit</artifactId>
                <version>${retrofit2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>converter-jackson</artifactId>
                <version>${retrofit2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>retrofit-mock</artifactId>
                <version>${retrofit2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>mockwebserver</artifactId>
                <version>${okhttp3.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jodd</groupId>
                <artifactId>jodd-core</artifactId>
                <version>${jodd.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jodd</groupId>
                <artifactId>jodd-bean</artifactId>
                <version>${jodd.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jodd</groupId>
                <artifactId>jodd-vtor</artifactId>
                <version>${jodd.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jodd</groupId>
                <artifactId>jodd-mail</artifactId>
                <version>${jodd.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jodd</groupId>
                <artifactId>jodd-madvoc</artifactId>
                <version>${jodd.version}</version>
            </dependency>

            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-java8</artifactId>
                <version>${cucumber.version}</version>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>${cucumber.version}</version>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>${cucumber.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>jconsole</artifactId>
                        <groupId>com.alibaba</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>tools</artifactId>
                        <groupId>com.alibaba</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun.oss</groupId>
                <artifactId>aliyun-sdk-oss</artifactId>
                <version>${aliyun-sdk-oss.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!--i text pdf-->
            <!-- always needed -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>kernel</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- always needed -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>io</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- always needed -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>layout</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- only needed for forms -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>forms</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- only needed for PDF/A -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>pdfa</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- only needed for digital signatures -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>sign</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- only needed for barcodes -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>barcodes</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- only needed for Asian fonts -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>font-asian</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- only needed for hyphenation -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>hyph</artifactId>
                <version>${itext-pdf.version}</version>
            </dependency>
            <!-- add all iText Core modules -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itext7-core</artifactId>
                <version>${itext-pdf.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>org.dalesbred</groupId>
                <artifactId>dalesbred</artifactId>
                <version>${dalesbred.version}</version>
            </dependency>
            <dependency>
                <groupId>org.dalesbred</groupId>
                <artifactId>dalesbred-junit</artifactId>
                <version>${dalesbred.version}</version>
            </dependency>

            <dependency>
                <groupId>io.leopard.thirdparty</groupId>
                <artifactId>jcaptcha-core</artifactId>
                <version>${jcaptcha-core.version}</version>
            </dependency>

            <dependency>
                <groupId>it.unimi.dsi</groupId>
                <artifactId>fastutil</artifactId>
                <version>${fastutil.version}</version>
            </dependency>

            <dependency>
                <!--jitpack.io-->
                <groupId>com.github.kenglxn.qrgen</groupId>
                <artifactId>javase</artifactId>
                <version>${qrgen.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.javaparser</groupId>
                <artifactId>javaparser-core</artifactId>
                <version>${javaparser-core.version}</version>
            </dependency>

            <dependency>
                <groupId>com.vdurmont</groupId>
                <artifactId>emoji-java</artifactId>
                <version>${emoji-java.version}</version>
            </dependency>

            <dependency>
                <groupId>com.hierynomus</groupId>
                <artifactId>sshj</artifactId>
                <version>${sshj.version}</version>
            </dependency>

            <dependency>
                <groupId>org.javatuples</groupId>
                <artifactId>javatuples</artifactId>
                <version>${javatuples.version}</version>
            </dependency>

            <dependency>
                <!-- 字符集编码检测工具包 -->
                <groupId>com.github.albfernandez</groupId>
                <artifactId>juniversalchardet</artifactId>
                <version>${juniversalchardet.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jetbrains</groupId>
                <artifactId>annotations</artifactId>
                <version>${jetbrains.annotations.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>annotations</artifactId>
                <version>${findbugs.annotations.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock</artifactId>
                <version>${wiremock.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock-standalone</artifactId>
                <version>${wiremock.version}</version>
            </dependency>

            <!-- Mandatory dependencies for using Spock -->
            <dependency>
                <groupId>org.spockframework</groupId>
                <artifactId>spock-core</artifactId>
                <version>${spock.version}</version>
            </dependency>
            <dependency>
                <groupId>org.spockframework</groupId>
                <artifactId>spock-guice</artifactId>
                <version>${spock.version}</version>
            </dependency>
            <dependency>
                <groupId>org.spockframework</groupId>
                <artifactId>spock-spring</artifactId>
                <version>${spock.version}</version>
            </dependency>
            <dependency>
                <groupId>org.spockframework</groupId>
                <artifactId>spock-tapestry</artifactId>
                <version>${spock.version}</version>
            </dependency>
            <dependency>
                <groupId>org.spockframework</groupId>
                <artifactId>spock-unitils</artifactId>
                <version>${spock.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- Optional dependencies for using Spock -->
            <dependency>
                <!-- use a specific Groovy version rather than the one specified by spock-core -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <version>${groovy-all.version}</version>
            </dependency>
            <dependency>
                <!-- enables mocking of classes (in addition to interfaces) -->
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>${byte-buddy.version}</version>
            </dependency>
            <dependency>
                <!-- enables mocking of classes without default constructor (together with CGLIB) -->
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>${objenesis.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <rulesUri>file://${basedir}/rules.xml</rulesUri>
                    <generateBackupPoms>false</generateBackupPoms>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.3</version>
                <configuration>
                    <tagNameFormat>@{project.version}</tagNameFormat>
                    <useReleaseProfile>false</useReleaseProfile>
                    <releaseProfiles>release</releaseProfiles>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <version>1.6.8</version>
                <extensions>true</extensions>
                <configuration>
                    <serverId>ossrh</serverId>
                    <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                    <autoReleaseAfterClose>true</autoReleaseAfterClose>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <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>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>