blob: 0a7d16cee0e391479b56b8c5fb228430f377f04c [file] [log] [blame]
qiaowei1a9ea852019-08-08 15:01:29 +08001import java.text.SimpleDateFormat
2
Tang Chenge7d3a0e2019-07-08 16:27:33 +08003plugins {
4 id 'java'
Tang Cheng22731312019-07-12 11:19:30 +08005 id 'org.springframework.boot'
Tang Cheng4f2bfd02019-09-12 11:29:48 +08006 id 'io.spring.dependency-management'
Tang Cheng22731312019-07-12 11:19:30 +08007 id 'org.jetbrains.kotlin.jvm'
Tang Chenge7d3a0e2019-07-08 16:27:33 +08008 id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.31'
Tang Cheng22731312019-07-12 11:19:30 +08009 id 'org.jetbrains.kotlin.plugin.spring'
10 id "com.palantir.git-version"
11 id 'com.palantir.docker'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080012}
13
Tang Chenge7d3a0e2019-07-08 16:27:33 +080014payapiVersion = gitVersion()
Tang Cheng1b745242019-07-25 09:28:16 +080015def details = versionDetails()
Tang Chenge7d3a0e2019-07-08 16:27:33 +080016
Tang Cheng40993e12019-07-08 16:38:51 +080017group = rootProject.group
Tang Chenge7d3a0e2019-07-08 16:27:33 +080018version = '1'
19sourceCompatibility = jdkVersion
Tang Cheng8beabcd2019-07-12 11:48:01 +080020def payapiStartClass = 'com.supwisdom.dlpay.PayApiApplicationKt'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080021
22println("Build version: $payapiVersion")
Tang Chenge7d3a0e2019-07-08 16:27:33 +080023
24bootJar {
Tang Cheng8beabcd2019-07-12 11:48:01 +080025 mainClassName = payapiStartClass
Tang Chenge7d3a0e2019-07-08 16:27:33 +080026 manifest {
Tang Cheng4f2bfd02019-09-12 11:29:48 +080027 attributes('Payapi-Version': payapiVersion,
28 'Payapi-Buildtime': new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date()))
Tang Chenge7d3a0e2019-07-08 16:27:33 +080029 }
30}
31
32jar {
33 baseName = 'payapi'
34}
35
Tang Cheng4f2bfd02019-09-12 11:29:48 +080036ext {
37 set('springCloudVersion', "Greenwich.SR2")
38}
39
Tang Chenge7d3a0e2019-07-08 16:27:33 +080040docker {
Tang Cheng1b745242019-07-25 09:28:16 +080041 def imageVersion
Xia Kaixianga7dc02e2019-10-12 17:48:43 +080042 if (details.gitHashFull.startsWith(details.lastTag) || !details.isCleanTag) {
Tang Cheng1b745242019-07-25 09:28:16 +080043 imageVersion = 'dev'
44 } else {
45 imageVersion = details.lastTag
46 }
Xia Kaixianga7dc02e2019-10-12 17:48:43 +080047 println("Docker image tag : " + imageVersion)
Tang Cheng20b53b52019-07-25 09:35:41 +080048 name 'harbor.supwisdom.com/dali/payapi:' + imageVersion
Tang Chenge7d3a0e2019-07-08 16:27:33 +080049 println(jar.archivePath)
50 files jar.archivePath
51}
52
53docker.dependsOn(jar)
54
55dependencies {
56 implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
57 implementation 'org.springframework.boot:spring-boot-starter-data-redis'
58 implementation 'org.springframework.boot:spring-boot-starter-web'
59 implementation 'org.springframework.boot:spring-boot-starter-security'
60 implementation 'org.springframework.boot:spring-boot-starter-cache'
61 implementation 'org.springframework.boot:spring-boot-autoconfigure'
62 implementation 'org.springframework.security:spring-security-oauth2-jose'
63 implementation 'org.springframework.security:spring-security-oauth2-client'
64 implementation 'org.springframework.security:spring-security-oauth2-jose'
65 implementation 'org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.5.RELEASE'
66 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
67 implementation 'org.springframework.session:spring-session-data-redis'
68 implementation 'org.springframework.boot:spring-boot-starter-cache'
Tang Cheng432d47c2019-08-10 13:18:36 +080069 implementation 'org.springframework.kafka:spring-kafka'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080070 implementation 'org.springframework.social:spring-social-web:1.1.6.RELEASE'
Tang Cheng4f2bfd02019-09-12 11:29:48 +080071 implementation 'org.springframework.kafka:spring-kafka:2.2.8.RELEASE'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080072 implementation 'org.jetbrains.kotlin:kotlin-reflect'
73 implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
74 implementation 'commons-codec:commons-codec:1.12'
Tang Chenge7436342019-07-11 16:04:58 +080075 implementation 'org.apache.commons:commons-lang3:3.9'
Tang Chengacb93a62019-07-18 22:04:48 +080076 implementation 'net.javacrumbs.shedlock:shedlock-spring:2.5.0'
77 implementation 'net.javacrumbs.shedlock:shedlock-provider-redis-spring:2.5.0'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080078
Tang Cheng4f2bfd02019-09-12 11:29:48 +080079 implementation 'org.springframework.cloud:spring-cloud-starter'
80 implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery'
81 implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix'
82 implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080083
84 implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080085 runtime("org.springframework.boot:spring-boot-devtools")
86
87 implementation 'org.postgresql:postgresql:42.2.5'
88 implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
89 implementation 'com.jcabi:jcabi-manifests:1.1'
Tang Chenge0537a72019-07-13 12:52:07 +080090 implementation 'org.bitbucket.b_c:jose4j:0.6.5'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080091 implementation 'io.github.microutils:kotlin-logging:1.6.26'
92 implementation 'org.slf4j:slf4j-parent:1.7.26'
93 implementation 'com.github.penggle:kaptcha:2.3.2'
94 implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
95 implementation group: 'com.sun.jersey', name: 'jersey-client', version: '1.19'
96 implementation group: 'javax.servlet', name: 'jstl', version: '1.2'
97 implementation group: 'taglibs', name: 'standard', version: '1.1.2'
Tang Cheng5f834db2019-07-29 11:00:13 +080098 implementation group: 'commons-codec', name: 'commons-codec', version: '1.13'
qiaoweidc92a3b2019-09-09 16:35:58 +080099 implementation files('libs/masmgc.sdk.sms-0.0.1-SNAPSHOT.jar')
Tang Cheng5f834db2019-07-29 11:00:13 +0800100// implementation files('libs/ojdbc6.jar')
Tang Chenge7d3a0e2019-07-08 16:27:33 +0800101 implementation 'commons-dbcp:commons-dbcp:1.4'
Xia Kaixiang6c9365e2019-07-31 15:44:51 +0800102 implementation 'commons-beanutils:commons-beanutils:1.9.3'
Tang Chenge7d3a0e2019-07-08 16:27:33 +0800103
qiaoweidc92a3b2019-09-09 16:35:58 +0800104 implementation 'log4j:log4j:1.2.17'
105 implementation 'com.alibaba:fastjson:1.2.60'
106
Xia Kaixiang651763c2020-02-17 18:00:03 +0800107 implementation 'com.eatthepath:java-otp:0.1.0'
Tang Cheng13911f92019-07-10 09:38:32 +0800108 implementation project(':payapi-common')
qiaowei1657eef2019-07-22 17:50:33 +0800109 /*支付宝SDK*/
110 implementation group: 'com.alipay.sdk', name: 'alipay-sdk-java', version: '3.7.110.ALL'
Tang Chenge7d3a0e2019-07-08 16:27:33 +0800111
112 annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
113 annotationProcessor 'org.projectlombok:lombok:1.18.8'
114 compileOnly 'org.projectlombok:lombok:1.18.8'
115
116// providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
117 testImplementation 'org.springframework.boot:spring-boot-starter-test'
118 testImplementation 'io.rest-assured:rest-assured:3.3.0'
119 testImplementation 'io.rest-assured:spring-mock-mvc:3.3.0'
120 testImplementation 'org.hamcrest:hamcrest:2.1'
121}
122
Tang Cheng4f2bfd02019-09-12 11:29:48 +0800123dependencyManagement {
124 imports {
125 mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
126 }
127}
128
Tang Chenge7d3a0e2019-07-08 16:27:33 +0800129compileKotlin {
130 kotlinOptions {
131 freeCompilerArgs = ['-Xjsr305=strict']
132 jvmTarget = jdkVersion
133 }
134}
135
136compileTestKotlin {
137 kotlinOptions {
138 freeCompilerArgs = ['-Xjsr305=strict']
139 jvmTarget = jdkVersion
140 }
141}