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
}

repositories {
    maven{url MAVEN_REPO_NEXUS_PUBLIC_URL}
    maven{url MAVEN_REPO_NEXUS_RELEASE_URL}
    mavenCentral()
    jcenter()
}
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

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // spring boot 依赖
    compile(group: "org.springframework.boot", name: "spring-boot-starter-web", version: SPRING_BOOT_VERSION){
        exclude group: 'org.apache.logging.log4j',module:'log4j-api'
        exclude group: 'org.springframework.boot',module:'spring-boot-starter-tomcat'
        exclude group: 'org.apache.tomcat.embed',module:'tomcat-embed-core'
        exclude group: 'org.apache.tomcat.embed',module:'tomcat-embed-el'
        exclude group: 'org.apache.tomcat.embed',module:'tomcat-embed-websocket'
    }
    compile group: "org.springframework.boot", name: "spring-boot-starter-tomcat", version: '2.6.10'
    compile(group: "org.apache.tomcat.embed", name: "tomcat-embed-core", version: '9.0.65'){exclude group:'org.apache.tomcat',module:'tomcat-annotations-api'}
    compile group: "org.apache.tomcat.embed", name: "tomcat-embed-el", version: '9.0.65'
    compile(group: "org.apache.tomcat.embed", name: "tomcat-embed-websocket", version: '9.0.65'){exclude group:'org.apache.tomcat',module:'tomcat-annotations-api'}
    compile group: "org.apache.logging.log4j", name: "log4j-api", version: LOG4J_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
    //compile 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
    // 单元测试
    compile group:"org.springframework.boot", name:"spring-boot-starter-test", version: SPRING_BOOT_VERSION

    //compile group: "org.springframework.cloud", name: "spring-cloud-starter-netflix-ribbon", version: SPRING_CLOUD_CONFIG_VERSION

    //compile group: "com.alibaba.cloud", name: "spring-cloud-starter-alibaba-nacos-discovery", version: SPRING_CLOUD_CONFIG_VERSION

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // spring cloud 依赖
    compile(group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign', version:  SPRING_CLOUD_CONFIG_VERSION){exclude group: 'com.thoughtworks.xstream',module:'xstream'}
    compile(group: 'com.thoughtworks.xstream', name: 'xstream', version:  XSTREAM_VERSION)

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


    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // RESTful API 文档生成工具
    // https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-ui
    compile group: 'org.springdoc', name: 'springdoc-openapi-ui', version: SPRING_DOC_VERSION
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Sybotan依赖
    compile group: "com.alibaba", name: "fastjson", version: FAST_JSON_VERSION
    compile(group: "com.persagy", name: "persagy-kotlin-base", version: PERSAGY_KOTLIN_VERSION){exclude group: 'com.alibaba',module:'fastjson'}
    compile group: "com.persagy", name: "persagy-kotlin-database", version: PERSAGY_KOTLIN_VERSION
    compile(group: "com.persagy", name: "persagy-kotlin-mybatis", version: PERSAGY_KOTLIN_VERSION) {exclude group: 'org.mybatis',module:'mybatis'}
    compile group: "org.mybatis", name: "mybatis", version: MYBATIS_CORE_VERSION
    compile group: "com.persagy", name: "persagy-kotlin-mysql", 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
    compile group: "com.persagy", name: "persagy-service-mysql", version: PERSAGY_SERVICE_VERSION
    compile group: "com.persagy", name: "dmp-digital-starter", version: DIGITAL_START_VERSION
    compile group: "com.baomidou", name: "mybatis-plus-boot-starter", version: MYBATIS_PLUS_VERSION
    compile group: "com.baomidou", name: "mybatis-plus-annotation", version: MYBATIS_PLUS_VERSION
    compile group: "com.baomidou", name: "mybatis-plus-extension", version: MYBATIS_PLUS_VERSION
    //compile group: "com.baomidou", name: "dynamic-datasource-spring-boot-starter", version: MYBATIS_PLUS_DYNAMIC_VERSION
    compile group: "com.github.jeffreyning", name:"mybatisplus-plus", version:"1.7.0-RELEASE"
    //compile group: "com.persagy", name: "integrated-config-client", version: PERSAGY_INTERGERT_VERSION

   // compile group: "com.persagy", name: "integrated-eureka", version: PERSAGY_INTERGERT_VERSION
    // TestNG 测试框架
    compile group: "org.testng", name: "testng", version: TESTNG_VERSION
    // Log 工具
    compile group: "org.projectlombok", name: "lombok", version: LOMBOK_VERSION
    compile group: 'org.apache.skywalking', name: 'apm-toolkit-logback-1.x', version: APM_SKYWALKING_VERSION

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

    //Gson
    compile 'com.google.code.gson:gson:2.8.0'


//    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//    // 二维码与条形码
//    // https://mvnrepository.com/artifact/com.google.zxing/core
//    compile group: "com.google.zxing", name: "core", version: ZXING_VERSION

}