/*
 * ********************************************************************************************************************
 *
 *                     :*$@@%$*:                         ;:                ;;    ;;
 *                   :@@%!  :!@@%:                       %!             ;%%@@%$ =@@@@@@@%;     @%@@@%%%%@@@@@
 *                  :@%;       :$=                       %%$$$%$$         ;$$  ;$@=   !@$
 *                  =@!                                  %!              @ $=;%   !@@@%:      !$$$$$$$$$$$$$$=
 *                  =@*                                  %!              @ $= % %@=   =%@!      %=
 *             *$%%! @@=        ;=$%%%$*:                %!              @ $= % =%%%%%%@$      *%:         =%
 *           %@@!:    !@@@%=$@@@@%!  :*@@$:              %!              @ $= % $*     ;@      @*          :%*
 *         ;@@!          ;!!!;:         ;@%:      =======@%========*     @ $$ % $%*****$@     :@$=*********=@$
 *         $@*   ;@@@%=!:                *@*             
 *         =@$    ;;;!=%@@@@=!           =@!      
 *          %@$:      =@%: :*@@@*       %@=                    Copyright (c) 2016-2019.  北京上格云技术有限公司
 *           ;%@@$=$@@%*       *@@@$=%@@%;                              
 *              ::;::             ::;::                                              All rights reserved.
 *
 * ********************************************************************************************************************
 */

group rootProject.group
version rootProject.version

apply plugin: "kotlin"
apply plugin: "org.jetbrains.dokka"
apply plugin: "war"
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

sourceCompatibility = JVM_TARGET

compileKotlin {
    kotlinOptions.jvmTarget = JVM_TARGET
}
compileTestKotlin {
    kotlinOptions.jvmTarget = JVM_TARGET
}

dependencies {
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // kotlin 依赖
    compile group: "org.jetbrains.kotlin", name: "kotlin-stdlib-jdk8", version: KOTLIN_VERSION
    compile group: "org.jetbrains.kotlin", name: "kotlin-reflect", version: KOTLIN_VERSION

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // 页面
    compile group: "org.springframework.boot", name: "spring-boot-starter-freemarker", version: SPRING_BOOT_VERSION
    // spring boot 依赖
    compile group: "org.springframework.boot", name: "spring-boot-starter-web", version: SPRING_BOOT_VERSION
    compile group: "org.springframework.boot", name: "spring-boot-configuration-processor", version: SPRING_BOOT_VERSION
    compile group: "org.springframework.boot", name: "spring-boot-starter-actuator", version: SPRING_BOOT_VERSION
    compile group: "org.springframework.boot", name: "spring-boot-starter-logging", version: SPRING_BOOT_VERSION
    //消息
//    compile group: "org.springframework.boot", name: "spring-boot-starter-activemq", version: SPRING_BOOT_VERSION
    providedCompile group: "org.springframework.boot", name:"spring-boot-starter-tomcat", version: SPRING_BOOT_VERSION
    // spring boot 缓存
    compile group:"org.springframework.boot", name:"spring-boot-starter-cache", version: SPRING_BOOT_VERSION
    // RabbitMQ
    compile group: 'org.springframework.boot',    name: 'spring-boot-starter-amqp', version: SPRING_BOOT_VERSION
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // spring cloud 依赖
//    compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-eureka', version: SPRING_CLOUD_VERSION

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // MySQL
    // https://mvnrepository.com/artifact/mysql/mysql-connector-java
//    compile group: 'mysql', name: 'mysql-connector-java', version: MYSQL_VERSION

    // PostgreSQL
    //https://mvnrepository.com/artifact/org.postgresql/postgresql
//    compile group: 'org.postgresql',    name: 'postgresql',     version: POSTGRESQL_VERSION


    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // RESTful API 文档生成工具
    // https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui
    compile group: "io.springfox", name: "springfox-swagger-ui", version: SWAGGER_VERSION
    compile group: "io.springfox", name: "springfox-swagger2", version: SWAGGER_VERSION
//    compile group: "com.github.xiaoymin", name: "swagger-bootstrap-ui", version: SWAGGER_BOOTSTRAP_VERSION

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//    compile group: "cn.sagacloud", name: "saga-kotlin-base", version: SAGA_KOTLIN_VERSION
//    compile group: "cn.sagacloud", name: "saga-kotlin-database", version: SAGA_KOTLIN_VERSION
//    compile group: "cn.sagacloud", name: "saga-kotlin-mybatis", version: SAGA_KOTLIN_VERSION
//    compile group: "cn.sagacloud", name: "saga-kotlin-postgresql", version: SAGA_KOTLIN_VERSION
//    compile group: "cn.sagacloud", name: "saga-service-base", version: SAGA_SERVICE_VERSION
//    compile group: "cn.sagacloud", name: "saga-service-mybatis", version: SAGA_SERVICE_VERSION


    compile group: "com.persagy", name: "persagy-kotlin-base", version: PERSAGY_KOTLIN_VERSION
    compile group: "com.persagy", name: "persagy-kotlin-database", version: PERSAGY_KOTLIN_VERSION
    compile group: "com.persagy", name: "persagy-kotlin-mybatis", version: PERSAGY_KOTLIN_VERSION
    compile group: "com.persagy", name: "persagy-kotlin-postgresql", version: PERSAGY_KOTLIN_VERSION
    compile group: "com.persagy", name: "persagy-service-base", version: PERSAGY_SERVICE_VERSION
    compile group: "com.persagy", name: "persagy-service-mybatis", version: PERSAGY_SERVICE_VERSION


    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Excel操作
    // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml
    compile group: 'org.apache.poi', name: 'poi-ooxml', version: POI_VERSION
    // kafka
//    compile group: 'com.persagy',   name: 'sybotan-service-kafka',       version: SYBOTAN_SERVICE_VERSION
    //文档
    compile group: 'com.persagy',   name: 'persagy-service-postgresql', version: PERSAGY_SERVICE_VERSION

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    // 实体类依赖
    compile project(":data-core")
}


dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${SPRING_CLOUD_DEPENDENCIES}"
    }
}

sourceSets.main.resources.srcDirs = ['src/main/resources', 'src/main/resources-dev']
//ext.needTest = 'true'

task buildProd {
    doFirst {
        sourceSets.main.resources.srcDirs = ["src/main/resources", "src/main/resources-prod"]
        test.onlyIf {
            project.hasProperty("needTest")
        }
    }
    finalizedBy(build)
}
//
task buildDev {
    doFirst {
        sourceSets.main.resources.srcDirs = ['src/main/resources', 'src/main/resources-dev']
    }
    finalizedBy(build)
}

task buildTest {
    doFirst {
        sourceSets.main.resources.srcDirs = ['src/main/resources', 'src/main/resources-test']
        test.onlyIf {
            project.hasProperty("needTest")
        }
    }
    finalizedBy(build)
}

task buildjm {
    doFirst {
        sourceSets.main.resources.srcDirs = ['src/main/resources', 'src/main/resources-jm']
    }
    finalizedBy(build)
}

task buildsuning {
    doFirst {
        sourceSets.main.resources.srcDirs = ['src/main/resources', 'src/main/resources-suning']
    }
    finalizedBy(build)
}

task buildguancheng {
    doFirst {
        sourceSets.main.resources.srcDirs = ['src/main/resources', 'src/main/resources-guancheng']
    }
    finalizedBy(build)
}
task buildasia {
    doFirst {
        sourceSets.main.resources.srcDirs = ['src/main/resources', 'src/main/resources-asia']
    }
    finalizedBy(build)
}

task buildwanda {
    doFirst {
        sourceSets.main.resources.srcDirs = ['src/main/resources', 'src/main/resources-wanda']
    }
    finalizedBy(build)
}
