blob: 5d8338c9320c363425f2356672217383a091416b [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
binquan.qiuu6cf8c4f2020-07-08 11:17:48 +080014tasks.withType(JavaCompile) {
15 options.encoding = "UTF-8"
16}
17
18
Tang Chenge7d3a0e2019-07-08 16:27:33 +080019payapiVersion = gitVersion()
Tang Cheng1b745242019-07-25 09:28:16 +080020def details = versionDetails()
Tang Chenge7d3a0e2019-07-08 16:27:33 +080021
Tang Cheng40993e12019-07-08 16:38:51 +080022group = rootProject.group
Tang Chenge7d3a0e2019-07-08 16:27:33 +080023version = '1'
24sourceCompatibility = jdkVersion
Tang Cheng8beabcd2019-07-12 11:48:01 +080025def payapiStartClass = 'com.supwisdom.dlpay.PayApiApplicationKt'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080026
27println("Build version: $payapiVersion")
Tang Chenge7d3a0e2019-07-08 16:27:33 +080028
29bootJar {
Tang Cheng8beabcd2019-07-12 11:48:01 +080030 mainClassName = payapiStartClass
Tang Chenge7d3a0e2019-07-08 16:27:33 +080031 manifest {
Tang Cheng4f2bfd02019-09-12 11:29:48 +080032 attributes('Payapi-Version': payapiVersion,
33 'Payapi-Buildtime': new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date()))
Tang Chenge7d3a0e2019-07-08 16:27:33 +080034 }
35}
36
37jar {
38 baseName = 'payapi'
39}
40
Tang Cheng4f2bfd02019-09-12 11:29:48 +080041ext {
42 set('springCloudVersion', "Greenwich.SR2")
43}
44
Tang Chenge7d3a0e2019-07-08 16:27:33 +080045docker {
Tang Cheng1b745242019-07-25 09:28:16 +080046 def imageVersion
Xia Kaixianga7dc02e2019-10-12 17:48:43 +080047 if (details.gitHashFull.startsWith(details.lastTag) || !details.isCleanTag) {
Tang Cheng1b745242019-07-25 09:28:16 +080048 imageVersion = 'dev'
49 } else {
50 imageVersion = details.lastTag
51 }
Xia Kaixianga7dc02e2019-10-12 17:48:43 +080052 println("Docker image tag : " + imageVersion)
Tang Cheng20b53b52019-07-25 09:35:41 +080053 name 'harbor.supwisdom.com/dali/payapi:' + imageVersion
Tang Chenge7d3a0e2019-07-08 16:27:33 +080054 println(jar.archivePath)
55 files jar.archivePath
56}
57
58docker.dependsOn(jar)
59
60dependencies {
61 implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
62 implementation 'org.springframework.boot:spring-boot-starter-data-redis'
63 implementation 'org.springframework.boot:spring-boot-starter-web'
64 implementation 'org.springframework.boot:spring-boot-starter-security'
65 implementation 'org.springframework.boot:spring-boot-starter-cache'
66 implementation 'org.springframework.boot:spring-boot-autoconfigure'
67 implementation 'org.springframework.security:spring-security-oauth2-jose'
68 implementation 'org.springframework.security:spring-security-oauth2-client'
69 implementation 'org.springframework.security:spring-security-oauth2-jose'
70 implementation 'org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.5.RELEASE'
71 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
72 implementation 'org.springframework.session:spring-session-data-redis'
73 implementation 'org.springframework.boot:spring-boot-starter-cache'
Tang Cheng432d47c2019-08-10 13:18:36 +080074 implementation 'org.springframework.kafka:spring-kafka'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080075 implementation 'org.springframework.social:spring-social-web:1.1.6.RELEASE'
Tang Cheng4f2bfd02019-09-12 11:29:48 +080076 implementation 'org.springframework.kafka:spring-kafka:2.2.8.RELEASE'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080077 implementation 'org.jetbrains.kotlin:kotlin-reflect'
78 implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
79 implementation 'commons-codec:commons-codec:1.12'
Tang Chenge7436342019-07-11 16:04:58 +080080 implementation 'org.apache.commons:commons-lang3:3.9'
Tang Chengacb93a62019-07-18 22:04:48 +080081 implementation 'net.javacrumbs.shedlock:shedlock-spring:2.5.0'
82 implementation 'net.javacrumbs.shedlock:shedlock-provider-redis-spring:2.5.0'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080083
Tang Cheng4f2bfd02019-09-12 11:29:48 +080084 implementation 'org.springframework.cloud:spring-cloud-starter'
85 implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery'
86 implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix'
87 implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080088
89 implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080090 runtime("org.springframework.boot:spring-boot-devtools")
91
92 implementation 'org.postgresql:postgresql:42.2.5'
93 implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
94 implementation 'com.jcabi:jcabi-manifests:1.1'
Tang Chenge0537a72019-07-13 12:52:07 +080095 implementation 'org.bitbucket.b_c:jose4j:0.6.5'
Tang Chenge7d3a0e2019-07-08 16:27:33 +080096 implementation 'io.github.microutils:kotlin-logging:1.6.26'
97 implementation 'org.slf4j:slf4j-parent:1.7.26'
98 implementation 'com.github.penggle:kaptcha:2.3.2'
99 implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
100 implementation group: 'com.sun.jersey', name: 'jersey-client', version: '1.19'
101 implementation group: 'javax.servlet', name: 'jstl', version: '1.2'
102 implementation group: 'taglibs', name: 'standard', version: '1.1.2'
Tang Cheng5f834db2019-07-29 11:00:13 +0800103 implementation group: 'commons-codec', name: 'commons-codec', version: '1.13'
qiaoweidc92a3b2019-09-09 16:35:58 +0800104 implementation files('libs/masmgc.sdk.sms-0.0.1-SNAPSHOT.jar')
Tang Cheng5f834db2019-07-29 11:00:13 +0800105// implementation files('libs/ojdbc6.jar')
Tang Chenge7d3a0e2019-07-08 16:27:33 +0800106 implementation 'commons-dbcp:commons-dbcp:1.4'
Xia Kaixiang6c9365e2019-07-31 15:44:51 +0800107 implementation 'commons-beanutils:commons-beanutils:1.9.3'
Tang Chenge7d3a0e2019-07-08 16:27:33 +0800108
qiaoweidc92a3b2019-09-09 16:35:58 +0800109 implementation 'log4j:log4j:1.2.17'
110 implementation 'com.alibaba:fastjson:1.2.60'
111
Xia Kaixiang651763c2020-02-17 18:00:03 +0800112 implementation 'com.eatthepath:java-otp:0.1.0'
Tang Cheng13911f92019-07-10 09:38:32 +0800113 implementation project(':payapi-common')
qiaowei1657eef2019-07-22 17:50:33 +0800114 /*支付宝SDK*/
115 implementation group: 'com.alipay.sdk', name: 'alipay-sdk-java', version: '3.7.110.ALL'
Tang Chenge7d3a0e2019-07-08 16:27:33 +0800116
117 annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
118 annotationProcessor 'org.projectlombok:lombok:1.18.8'
119 compileOnly 'org.projectlombok:lombok:1.18.8'
120
121// providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
122 testImplementation 'org.springframework.boot:spring-boot-starter-test'
123 testImplementation 'io.rest-assured:rest-assured:3.3.0'
124 testImplementation 'io.rest-assured:spring-mock-mvc:3.3.0'
125 testImplementation 'org.hamcrest:hamcrest:2.1'
126}
127
Tang Cheng4f2bfd02019-09-12 11:29:48 +0800128dependencyManagement {
129 imports {
130 mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
131 }
132}
133
Tang Chenge7d3a0e2019-07-08 16:27:33 +0800134compileKotlin {
135 kotlinOptions {
136 freeCompilerArgs = ['-Xjsr305=strict']
137 jvmTarget = jdkVersion
138 }
139}
140
141compileTestKotlin {
142 kotlinOptions {
143 freeCompilerArgs = ['-Xjsr305=strict']
144 jvmTarget = jdkVersion
145 }
146}