build_tradition.gradle 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544
  1. /*
  2. * Copyright [2024] [MaxKey of copyright http://www.maxkey.top]
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /*
  17. * MaxKey build file was auto generated by running the Gradle release.bat
  18. */
  19. defaultTasks "clean", "build"
  20. //Version define
  21. ext {
  22. }
  23. def libjarsmapper=[
  24. 'maxkey-authentication-core' :'lib',
  25. 'maxkey-authentication-provider' :'lib',
  26. 'maxkey-common' :'lib',
  27. 'maxkey-core' :'lib',
  28. 'maxkey-persistence' :'lib',
  29. 'maxkey-protocol-authorize' :'lib',
  30. 'maxkey-protocol-cas' :'lib',
  31. 'maxkey-protocol-desktop' :'lib',
  32. 'maxkey-protocol-extendapi' :'lib',
  33. 'maxkey-protocol-formbased' :'lib',
  34. 'maxkey-protocol-jwt' :'lib',
  35. 'maxkey-protocol-oauth-2.0' :'lib',
  36. 'maxkey-protocol-saml-2.0' :'lib',
  37. 'maxkey-protocol-tokenbased' :'lib',
  38. 'maxkey-starter-captcha' :'lib',
  39. 'maxkey-starter-ip2location' :'lib',
  40. 'maxkey-starter-otp' :'lib',
  41. 'maxkey-starter-sms' :'lib',
  42. 'maxkey-starter-web' :'lib',
  43. 'maxkey-starter-social' :'maxkey',
  44. 'maxkey-web-maxkey' :'maxkey',
  45. 'maxkey-web-mgt' :'maxkey_mgt',
  46. 'maxkey-synchronizer' :'maxkey_mgt',
  47. 'maxkey-synchronizer-activedirectory' :'maxkey_mgt',
  48. 'maxkey-synchronizer-common' :'maxkey_mgt',
  49. 'maxkey-synchronizer-jdbc' :'maxkey_mgt',
  50. 'maxkey-synchronizer-ldap' :'maxkey_mgt',
  51. 'maxkey-synchronizer-dingtalk' :'maxkey_mgt',
  52. 'maxkey-synchronizer-workweixin' :'maxkey_mgt',
  53. 'maxkey-web-openapi' :'maxkey_openapi',
  54. 'maxkey-web-api-rest' :'maxkey_openapi',
  55. 'maxkey-web-api-scim' :'maxkey_openapi',
  56. ]
  57. configurations.all {
  58. transitive = false// 为本依赖关闭依赖传递特性
  59. }
  60. //add support for Java
  61. //apply plugin: 'java'
  62. allprojects {
  63. apply plugin: "java"
  64. apply plugin: "eclipse"
  65. //apply plugin: "pmd"
  66. //apply plugin: "findbugs"
  67. //apply plugin: "jdepend"
  68. configurations.all {
  69. transitive = false// 为本依赖关闭依赖传递特性
  70. }
  71. //java Version
  72. sourceCompatibility = 17
  73. targetCompatibility = 17
  74. compileJava.options.encoding = 'UTF-8'
  75. eclipse {
  76. /*设置工程字符集*/
  77. jdt {
  78. File prefs = file('.settings/org.eclipse.core.resources.prefs')
  79. if (!prefs.exists()) {
  80. prefs.createNewFile();
  81. }
  82. prefs.write('eclipse.preferences.version=1\n')
  83. prefs.append('encoding/<project>=UTF-8') //use UTF-8
  84. }
  85. }
  86. }
  87. buildscript {
  88. repositories {
  89. mavenCentral()
  90. }
  91. }
  92. // In this section you declare where to find the dependencies of your project
  93. repositories {
  94. // Use 'jcenter' for resolving your dependencies.
  95. // You can declare any Maven/Ivy/file repository here.
  96. mavenCentral()
  97. }
  98. // In this section you declare the dependencies for your production and test code
  99. dependencies {
  100. }
  101. subprojects {
  102. processResources {
  103. from ('src/main/resources') {
  104. include 'src/main/resources/*.*'
  105. }
  106. }
  107. sourceSets {
  108. main {
  109. java {
  110. srcDir 'src/main/java' // 指定源码目录
  111. }
  112. }
  113. }
  114. repositories {
  115. mavenLocal()
  116. maven { url "https://maven.aliyun.com/repository/central"}
  117. maven { url "https://maven.aliyun.com/repository/public"}
  118. maven { url "https://repo.spring.io/plugins-release" }
  119. maven { url "https://repo.spring.io/milestone" }
  120. maven { url "https://repo1.maven.org/maven2" }
  121. maven { url "https://build.shibboleth.net/nexus/content/repositories/releases" }
  122. maven { url "https://mvnrepository.com/repos/central" }
  123. maven { url "https://jcenter.bintray.com" }
  124. maven { url "https://mvn.gt.igexin.com/nexus/content/repositories/releases"}
  125. maven { url "https://plugins.gradle.org/m2" }
  126. maven { url "https://oss.sonatype.org/content/repositories/releases" }
  127. maven { url "https://maven.repository.redhat.com/ga" }
  128. maven { url "https://repository.apache.org/content/repositories/releases" }
  129. mavenCentral()
  130. }
  131. //all dependencies
  132. dependencies {
  133. //for Test and Compile
  134. testImplementation group: 'junit', name: 'junit', version: "${junitVersion}"
  135. compileOnly group: 'junit', name: 'junit', version: "${junitVersion}"
  136. testImplementation group: 'org.mockito', name: 'mockito-all', version: "${mockitoallVersion}"
  137. testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
  138. //apache
  139. implementation group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
  140. implementation group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
  141. implementation group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
  142. implementation group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
  143. //implementation group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
  144. implementation group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
  145. implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
  146. //implementation group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
  147. //implementation group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
  148. //implementation group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
  149. implementation group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
  150. implementation group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
  151. implementation group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
  152. implementation group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
  153. implementation group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
  154. implementation group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
  155. implementation group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
  156. implementation group: 'commons-validator', name: 'commons-validator', version: "${commonsvalidatorVersion}"
  157. //httpcomponents v4
  158. implementation group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
  159. implementation group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
  160. implementation group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
  161. implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
  162. implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
  163. implementation group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
  164. implementation group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
  165. //httpcomponents v5
  166. implementation group: 'org.apache.httpcomponents.core5', name: 'httpcore5', version: "${httpcomponentscore5Version}"
  167. implementation group: 'org.apache.httpcomponents.core5', name: 'httpcore5-h2', version: "${httpcomponentscore5Version}"
  168. implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: "${httpcomponentscore5Version}"
  169. implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5-fluent', version: "${httpcomponentscore5Version}"
  170. implementation group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
  171. implementation group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
  172. implementation group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
  173. implementation group: 'org.apache.xmlbeans', name: 'xmlbeans', version: "${xmlbeansVersion}"
  174. implementation group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
  175. implementation group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
  176. implementation group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
  177. implementation group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
  178. implementation group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
  179. implementation group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
  180. //implementation group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
  181. //tomcat embed Core Tomcat implementation
  182. implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
  183. implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
  184. implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
  185. //apache log4j
  186. implementation group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
  187. implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
  188. implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
  189. implementation group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
  190. implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
  191. implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: "${log4jVersion}"
  192. implementation group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
  193. //slf4j
  194. implementation group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
  195. //jboss-logging
  196. implementation group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
  197. //spring
  198. implementation group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
  199. implementation group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
  200. implementation group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
  201. implementation group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
  202. implementation group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
  203. implementation group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
  204. implementation group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
  205. implementation group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
  206. //implementation group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
  207. implementation group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
  208. implementation group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
  209. //implementation group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
  210. implementation group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
  211. //implementation group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
  212. implementation group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
  213. implementation group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
  214. implementation group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
  215. implementation group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
  216. implementation group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
  217. //implementation group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
  218. // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
  219. implementation group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
  220. testImplementation group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
  221. //spring-security
  222. implementation group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
  223. implementation group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
  224. implementation group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
  225. //srpingboot
  226. implementation group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
  227. implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version: "${springBootVersion}"
  228. implementation group: 'org.springframework.boot', name: 'spring-boot-actuator', version: "${springBootVersion}"
  229. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: "${springBootVersion}"
  230. implementation group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version: "${springBootVersion}"
  231. implementation group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version: "${springBootVersion}"
  232. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version: "${springBootVersion}"
  233. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
  234. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version: "${springBootVersion}"
  235. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
  236. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: "${springBootVersion}"
  237. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: "${springBootVersion}"
  238. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
  239. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
  240. //implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
  241. //implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
  242. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
  243. testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: "${springBootVersion}"
  244. //spring-boot-admin
  245. implementation group: 'de.codecentric', name: 'spring-boot-admin-client', version: "${springbootadminVersion}"
  246. implementation group: 'de.codecentric', name: 'spring-boot-admin-starter-client', version: "${springbootadminVersion}"
  247. //spring-data
  248. implementation group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
  249. implementation group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
  250. //implementation group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
  251. //implementation group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
  252. //implementation group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
  253. //spring cloud
  254. implementation group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
  255. implementation group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
  256. implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
  257. implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
  258. //spring-cloud-alibaba
  259. implementation group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
  260. implementation group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
  261. //alibaba nacos
  262. implementation group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
  263. implementation group: 'com.alibaba.nacos', name: 'nacos-auth-plugin', version: "${alibabanacosclientVersion}"
  264. implementation group: 'com.alibaba.nacos', name: 'nacos-encryption-plugin', version: "${alibabanacosclientVersion}"
  265. implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
  266. implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
  267. //Message Queue
  268. //kafka support
  269. // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
  270. implementation group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
  271. // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
  272. implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
  273. //rocketmq
  274. implementation group: 'org.apache.rocketmq', name: 'rocketmq-common', version: "${rocketmqclientVersion}"
  275. implementation group: 'org.apache.rocketmq', name: 'rocketmq-remoting', version: "${rocketmqclientVersion}"
  276. //implementation group: 'io.github.aliyunmq', name: 'rocketmq-slf4j-api', version: '1.0.1'
  277. implementation group: 'io.github.aliyunmq', name: 'rocketmq-logback-classic', version: '1.0.1'
  278. implementation group: 'org.apache.rocketmq', name: 'rocketmq-client', version: "${rocketmqclientVersion}"
  279. // https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot
  280. implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot', version: "${rocketmqspringbootVersion}"
  281. implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot-starter', version: "${rocketmqspringbootVersion}"
  282. //saml see maxkey-lib
  283. //implementation group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
  284. //implementation group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
  285. //implementation group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
  286. implementation group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
  287. //jose-jwt
  288. implementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
  289. implementation group: 'com.github.stephenc.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
  290. implementation group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
  291. implementation group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
  292. //oauth third party JustAuth
  293. implementation group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
  294. implementation group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
  295. //common
  296. implementation group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
  297. implementation group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
  298. //jakarta
  299. implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: "${jakartaactivationVersion}"
  300. implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
  301. implementation group: 'jakarta.mail', name: 'jakarta.mail-api', version: "${jakartamailapiVersion}"
  302. implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: "${jakartapersistenceapiVersion}"
  303. implementation group: 'jakarta.transaction', name: 'jakarta.transaction-api', version: "${jakartatransactionapiVersion}"
  304. implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
  305. implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: "${jakartaxmlbindapiVersion}"
  306. //mail
  307. implementation group: 'org.eclipse.angus', name: 'jakarta.mail', version: "${angusjakartamailVersion}"
  308. implementation group: 'org.eclipse.angus', name: 'angus-activation', version: "${angusactivationVersion}"
  309. //sun.xml.bind
  310. implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${xmlbindjaxbcoreVersion}"
  311. implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${xmlbindjaxbimplVersion}"
  312. implementation group: 'com.sun.xml.bind', name: 'jaxb-xjc', version: "${xmlbindjaxbxjcVersion}"
  313. //crypto
  314. implementation group: 'org.bouncycastle', name: 'bcpkix-jdk18on', version: "${bouncycastleVersion}"
  315. implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk18on', version: "${bouncycastleVersion}"
  316. //google
  317. implementation group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
  318. //kaptcha
  319. implementation group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
  320. implementation group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
  321. //json-gson
  322. implementation group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
  323. //json-jackson
  324. implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
  325. implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
  326. implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
  327. implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
  328. implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
  329. implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
  330. implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
  331. implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
  332. implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
  333. implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
  334. implementation group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
  335. implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
  336. //json-fastjson
  337. implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
  338. //reactive
  339. implementation group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
  340. implementation group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
  341. implementation group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
  342. //database
  343. implementation group: 'com.mysql', name: 'mysql-connector-j', version: "${mysqlconnectorjavaVersion}"
  344. //implementation group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
  345. //implementation group: 'com.dameng', name: 'DmJdbcDriver18', version: "${dm8JdbcDriverVersion}"
  346. //implementation group: 'com.highgo', name: 'HgdbJdbc', version: '6.2.3'
  347. //implementation group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
  348. implementation group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
  349. implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
  350. implementation group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
  351. implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: "${caffeineVersion}"
  352. //mybatis
  353. implementation group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
  354. implementation group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
  355. //implementation group: 'org.dromara.mybatis-jpa-extra', name: 'mybatis-jpa-extra', version: "${mybatisjpaextraVersion}"
  356. //implementation group: 'org.dromara.mybatis-jpa-extra', name: 'mybatis-jpa-extra-spring-boot-starter', version: "${mybatisjpaextraVersion}"
  357. //hibernate
  358. implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
  359. implementation group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
  360. implementation group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
  361. //usefull
  362. implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
  363. implementation group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
  364. implementation group: 'org.jsoup', name: 'jsoup', version: "${jsoupVersion}"
  365. implementation group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
  366. implementation group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
  367. implementation group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
  368. implementation group: 'org.dom4j', name: 'dom4j', version: "${dom4jVersion}"
  369. implementation group: 'org.jdom', name: 'jdom2', version: "${jdom2Version}"
  370. implementation group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
  371. implementation group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
  372. implementation group: 'ognl', name: 'ognl', version: "${ognlVersion}"
  373. implementation group: 'cglib', name: 'cglib', version: "${cglibVersion}"
  374. implementation group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
  375. implementation group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
  376. implementation group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
  377. implementation group: 'xalan', name: 'serializer', version: "${serializerVersion}"
  378. implementation group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
  379. implementation group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
  380. //implementation group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
  381. implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
  382. implementation group: 'org.passay', name: 'passay', version: "${passayVersion}"
  383. implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
  384. //ip offline
  385. implementation group: 'org.lionsoul', name: 'ip2region', version: "${ip2regionVersion}"
  386. implementation group: 'com.maxmind.db', name: 'maxmind-db', version: "${maxminddbVersion}"
  387. implementation group: 'com.maxmind.geoip2', name: 'geoip2', version: "${maxmindgeoip2Version}"
  388. //micrometer
  389. implementation group: 'io.micrometer', name: 'micrometer-commons', version: "${micrometercoreVersion}"
  390. implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
  391. implementation group: 'io.micrometer', name: 'micrometer-observation', version: "${micrometercoreVersion}"
  392. implementation group: 'io.micrometer', name: 'micrometer-registry-prometheus', version: "${micrometercoreVersion}"
  393. implementation group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
  394. implementation group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
  395. implementation group: 'org.reflections', name: 'reflections', version: "${reflectionsVersion}"
  396. //prometheus
  397. implementation group: 'io.prometheus', name: 'simpleclient', version: "${prometheusVersion}"
  398. implementation group: 'io.prometheus', name: 'simpleclient_tracer_common', version: "${prometheusVersion}"
  399. implementation group: 'io.prometheus', name: 'simpleclient_tracer_otel', version: "${prometheusVersion}"
  400. implementation group: 'io.prometheus', name: 'simpleclient_tracer_otel_agent', version: "${prometheusVersion}"
  401. implementation group: 'io.prometheus', name: 'simpleclient_common', version: "${prometheusVersion}"
  402. //阿里云
  403. implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
  404. implementation group: 'io.opentracing', name: 'opentracing-api', version: "${opentracingVersion}"
  405. implementation group: 'io.opentracing', name: 'opentracing-noop', version: "${opentracingVersion}"
  406. implementation group: 'io.opentracing', name: 'opentracing-util', version: "${opentracingVersion}"
  407. //阿里云aliyun-java-sdk-core依赖jakarta.xml.bind
  408. implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
  409. //腾讯云
  410. implementation group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
  411. //docs
  412. implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
  413. implementation group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
  414. implementation group: 'io.swagger.core.v3', name: 'swagger-annotations-jakarta', version: "${swaggerV3Version}"
  415. implementation group: 'io.swagger.core.v3', name: 'swagger-core-jakarta', version: "${swaggerV3Version}"
  416. //implementation group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
  417. implementation group: 'io.swagger.core.v3', name: 'swagger-models-jakarta', version: "${swaggerV3Version}"
  418. //springdoc
  419. implementation group: 'io.github.classgraph', name: 'classgraph', version: "${classgraphVersion}"
  420. implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-common', version: "${springdocVersion}"
  421. implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-api', version: "${springdocVersion}"
  422. implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: "${springdocVersion}"
  423. //webjars
  424. implementation group: 'org.webjars', name: 'webjars-locator-core', version: "${webjarslocatorcoreVersion}"
  425. implementation group: 'org.webjars', name: 'webjars-locator', version: "${webjarslocatorVersion}"
  426. implementation group: 'org.webjars', name: 'swagger-ui', version: "${swaggeruiVersion}"
  427. //knife4j
  428. implementation group: 'com.github.xiaoymin', name: 'knife4j-core', version: "${knife4jVersion}"
  429. implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-ui', version: "${knife4jVersion}"
  430. implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-jakarta-spring-boot-starter', version: "${knife4jVersion}"
  431. //local jars
  432. implementation fileTree(dir: "${rootDir}/maxkey-lib/", include: '*.jar')
  433. }
  434. jar {
  435. def currentTime = java.time.ZonedDateTime.now()
  436. manifest {
  437. attributes(
  438. "Implementation-Title": project.name,
  439. "Implementation-Vendor": project.vendor,
  440. "Created-By": project.author,
  441. "Implementation-Date": currentTime,
  442. "Implementation-Version": project.version
  443. )
  444. }
  445. }
  446. tasks.register("buildRelease",Copy) {
  447. dependsOn assemble
  448. //项目名 项目所在的group version 版本号
  449. println "subproject " + project.name + ", group " + project.group +" , version " + project.version
  450. //copy
  451. into "$rootDir/build/maxkey-jars/"
  452. from "$buildDir/libs/"
  453. include '*.jar'
  454. }
  455. tasks.register("copyLibJars",Copy) {
  456. if (libjarsmapper["${project.name}"] != null){
  457. into "$rootDir/build/MaxKey-v${project.version}GA/"+libjarsmapper["${project.name}"]
  458. from "$buildDir/libs/"
  459. include '*.jar'
  460. }
  461. }
  462. assemble.configure { finalizedBy buildRelease,copyLibJars }
  463. }
  464. //copy Dep Jars to /build/maxkey-depjars,only maxkey-common deps
  465. project('maxkey-common') {
  466. task createReleaseDir(type: Copy){
  467. def paths = ["$rootDir/build/MaxKey-v${project.version}GA",
  468. "$rootDir/build/MaxKey-v${project.version}GA/maxkey",
  469. "$rootDir/build/MaxKey-v${project.version}GA/maxkey_mgt",
  470. "$rootDir/build/MaxKey-v${project.version}GA/lib"];
  471. //遍历数组,调用createDir闭包,创建目录
  472. paths.forEach(){path->
  473. File dir=new File(path);
  474. if (!dir.exists()){
  475. print("create "+path+"\n")
  476. dir.mkdirs();
  477. }
  478. };
  479. }
  480. task copyDepJars (type: Copy){
  481. dependsOn assemble
  482. println "copy Dep Jars to $rootDir/build/MaxKey-v${project.version}GA/lib"
  483. //copy runtime
  484. from configurations.runtimeClasspath
  485. into "$rootDir/build/MaxKey-v${project.version}GA/lib";
  486. }
  487. build.configure { finalizedBy copyDepJars }
  488. }
  489. tasks.register("buildRelease") {
  490. dependsOn 'copyShellScript','copyWindowsShellScript'
  491. //项目名 项目所在的group version 版本号
  492. println "Root project " + project.name + ", group " + project.group +" , version " + project.version
  493. //项目的绝对路径 to 项目的build文件绝对路径
  494. println "Root project projectDir " + project.projectDir +" to " + project.buildDir
  495. }
  496. tasks.register("copyShellScript",Copy) {
  497. println "project copyMaxKeyShellScript .";
  498. from "$rootDir/shellscript/"
  499. into "$rootDir/build/MaxKey-v${project.version}GA/shellscript/";
  500. }
  501. tasks.register("copyWindowsShellScript",Copy) {
  502. println "project copyMaxKeyWindowsShellScript .";
  503. from "$rootDir/shellscript/windows"
  504. into "$rootDir/build/MaxKey-v${project.version}GA/";
  505. }
  506. build.configure {
  507. finalizedBy buildRelease
  508. println ""
  509. println "Gradle version is ${GradleVersion.current().version}"
  510. }