1 Star 0 Fork 1.5K

mwolfking/MaxKey

forked from dromara/MaxKey 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
build.gradle 35.83 KB
一键复制 编辑 原始数据 按行查看 历史
MaxKeyTop 提交于 2023-10-09 08:59 . 4.0.2
/*
* Copyright [2023] [MaxKey of copyright http://www.maxkey.top]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* MaxKey build file was auto generated by running the Gradle release.bat
*/
defaultTasks "clean", "build"
//Version define
ext {
}
def libjarsmapper=[
'maxkey-authentication-captcha' :'lib',
'maxkey-authentication-core' :'lib',
'maxkey-authentication-ip2location' :'lib',
'maxkey-authentication-otp' :'lib',
'maxkey-authentication-provider' :'lib',
'maxkey-authentication-sms' :'lib',
'maxkey-common' :'lib',
'maxkey-core' :'lib',
'maxkey-persistence' :'lib',
'maxkey-protocol-authorize' :'lib',
'maxkey-protocol-cas' :'lib',
'maxkey-protocol-desktop' :'lib',
'maxkey-protocol-extendapi' :'lib',
'maxkey-protocol-formbased' :'lib',
'maxkey-protocol-jwt' :'lib',
'maxkey-protocol-oauth-2.0' :'lib',
'maxkey-protocol-saml-2.0' :'lib',
'maxkey-protocol-tokenbased' :'lib',
'maxkey-web-resources' :'lib',
'maxkey-authentication-social' :'maxkey',
'maxkey-web-maxkey' :'maxkey',
'maxkey-web-mgt' :'maxkey_mgt',
'maxkey-synchronizer' :'maxkey_mgt',
'maxkey-synchronizer-activedirectory' :'maxkey_mgt',
'maxkey-synchronizer-common' :'maxkey_mgt',
'maxkey-synchronizer-jdbc' :'maxkey_mgt',
'maxkey-synchronizer-ldap' :'maxkey_mgt',
'maxkey-synchronizer-dingtalk' :'maxkey_mgt',
'maxkey-synchronizer-workweixin' :'maxkey_mgt',
'maxkey-synchronizer-reorgdept' :'maxkey_mgt',
'maxkey-web-openapi' :'maxkey_openapi',
'maxkey-web-api-rest' :'maxkey_openapi',
'maxkey-web-api-scim' :'maxkey_openapi',
]
configurations.all {
transitive = false// 为本依赖关闭依赖传递特性
}
//add support for Java
//apply plugin: 'java'
allprojects {
apply plugin: "java"
apply plugin: "eclipse"
//apply plugin: "pmd"
//apply plugin: "findbugs"
//apply plugin: "jdepend"
configurations.all {
transitive = false// 为本依赖关闭依赖传递特性
}
//java Version
sourceCompatibility = 17
targetCompatibility = 17
compileJava.options.encoding = 'UTF-8'
eclipse {
/*设置工程字符集*/
jdt {
File prefs = file('.settings/org.eclipse.core.resources.prefs')
if (prefs.exists()) {
prefs.write('eclipse.preferences.version=1\n')
prefs.append('encoding/<project>=UTF-8') //use UTF-8
}
}
}
}
buildscript {
repositories {
mavenCentral()
}
}
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
mavenCentral()
}
// In this section you declare the dependencies for your production and test code
dependencies {
}
subprojects {
processResources {
from ('src/main/resources') {
include 'src/main/resources/*.*'
}
}
sourceSets {
main {
java {
srcDir 'src/main/java' // 指定源码目录
}
}
}
repositories {
mavenLocal()
maven { url "https://maven.aliyun.com/repository/central/"}
maven { url "https://maven.aliyun.com/repository/public/"}
maven { url "https://maven.aliyun.com/repository/spring/"}
maven { url "https://repo.spring.io/plugins-release/" }
maven { url "https://repo.spring.io/milestone" }
maven { url "https://repo1.maven.org/maven2/" }
maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" }
maven { url "https://mvnrepository.com/repos/central/" }
maven { url "https://jcenter.bintray.com" }
maven { url "https://mvn.gt.igexin.com/nexus/content/repositories/releases"}
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://oss.sonatype.org/content/repositories/releases/" }
maven { url "https://maven.repository.redhat.com/ga/" }
maven { url "https://repository.apache.org/content/repositories/releases/" }
mavenCentral()
}
//all dependencies
dependencies {
//for Test and Compile
testImplementation group: 'junit', name: 'junit', version: "${junitVersion}"
compileOnly group: 'junit', name: 'junit', version: "${junitVersion}"
testImplementation group: 'org.mockito', name: 'mockito-all', version: "${mockitoallVersion}"
testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
//apache
implementation group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
implementation group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
implementation group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
implementation group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
//implementation group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
implementation group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
//implementation group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
//implementation group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
//implementation group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
implementation group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
implementation group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
implementation group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
implementation group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
implementation group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
implementation group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
implementation group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
implementation group: 'commons-validator', name: 'commons-validator', version: "${commonsvalidatorVersion}"
//httpcomponents v4
implementation group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
implementation group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
implementation group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
implementation group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
implementation group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
//httpcomponents v5
implementation group: 'org.apache.httpcomponents.core5', name: 'httpcore5', version: "${httpcomponentscore5Version}"
implementation group: 'org.apache.httpcomponents.core5', name: 'httpcore5-h2', version: "${httpcomponentscore5Version}"
implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: "${httpcomponentscore5Version}"
implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5-fluent', version: "${httpcomponentscore5Version}"
implementation group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
implementation group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
implementation group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
implementation group: 'org.apache.xmlbeans', name: 'xmlbeans', version: "${xmlbeansVersion}"
implementation group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
implementation group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
implementation group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
implementation group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
implementation group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
implementation group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
//implementation group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
//tomcat embed Core Tomcat implementation
implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
//apache log4j
implementation group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
//slf4j
implementation group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
//jboss-logging
implementation group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
//spring
implementation group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
//implementation group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
//implementation group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
//implementation group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
implementation group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
//implementation group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
// https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
implementation group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
testImplementation group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
//spring-security
implementation group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
implementation group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
implementation group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
//srpingboot
implementation group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-actuator', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
//implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
//implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: "${springBootVersion}"
//spring-boot-admin
implementation group: 'de.codecentric', name: 'spring-boot-admin-client', version: "${springbootadminVersion}"
implementation group: 'de.codecentric', name: 'spring-boot-admin-starter-client', version: "${springbootadminVersion}"
//spring-data
implementation group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
implementation group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
//implementation group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
//implementation group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
//implementation group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
//spring cloud
implementation group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
implementation group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
//spring-cloud-alibaba
implementation group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
implementation group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
//alibaba nacos
implementation group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
implementation group: 'com.alibaba.nacos', name: 'nacos-auth-plugin', version: "${alibabanacosclientVersion}"
implementation group: 'com.alibaba.nacos', name: 'nacos-encryption-plugin', version: "${alibabanacosclientVersion}"
implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
//Message Queue
//kafka support
// https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
implementation group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
// https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
//rocketmq
implementation group: 'org.apache.rocketmq', name: 'rocketmq-common', version: "${rocketmqclientVersion}"
implementation group: 'org.apache.rocketmq', name: 'rocketmq-remoting', version: "${rocketmqclientVersion}"
implementation group: 'io.github.aliyunmq', name: 'rocketmq-slf4j-api', version: '1.0.1'
implementation group: 'org.apache.rocketmq', name: 'rocketmq-client', version: "${rocketmqclientVersion}"
// https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot
implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot', version: "${rocketmqspringbootVersion}"
implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot-starter', version: "${rocketmqspringbootVersion}"
//saml see maxkey-lib
//implementation group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
//implementation group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
//implementation group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
implementation group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
//jose-jwt
implementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
implementation group: 'com.github.stephenc.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
implementation group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
implementation group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
//oauth third party JustAuth
implementation group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
implementation group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
//common
implementation group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
implementation group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
//jakarta
implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: "${jakartaactivationVersion}"
implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
implementation group: 'jakarta.mail', name: 'jakarta.mail-api', version: "${jakartamailapiVersion}"
implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: "${jakartapersistenceapiVersion}"
implementation group: 'jakarta.transaction', name: 'jakarta.transaction-api', version: "${jakartatransactionapiVersion}"
implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: "${jakartaxmlbindapiVersion}"
//mail
implementation group: 'org.eclipse.angus', name: 'jakarta.mail', version: "${angusjakartamailVersion}"
implementation group: 'org.eclipse.angus', name: 'angus-activation', version: "${angusactivationVersion}"
//sun.xml.bind
implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${xmlbindjaxbcoreVersion}"
implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${xmlbindjaxbimplVersion}"
implementation group: 'com.sun.xml.bind', name: 'jaxb-xjc', version: "${xmlbindjaxbxjcVersion}"
//crypto
implementation group: 'org.bouncycastle', name: 'bcpkix-jdk18on', version: "${bouncycastleVersion}"
implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk18on', version: "${bouncycastleVersion}"
//google
implementation group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
//kaptcha
implementation group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
implementation group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
//json-gson
implementation group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
//json-jackson
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
implementation group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
//json-fastjson
implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
//reactive
implementation group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
implementation group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
implementation group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
//database
implementation group: 'com.mysql', name: 'mysql-connector-j', version: "${mysqlconnectorjavaVersion}"
//implementation group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
//implementation group: 'com.dameng', name: 'DmJdbcDriver18', version: "${dm8JdbcDriverVersion}"
//implementation group: 'com.highgo', name: 'HgdbJdbc', version: '6.2.3'
//implementation group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
implementation group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
implementation group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: "${caffeineVersion}"
//mybatis
implementation group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
implementation group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
//implementation group: 'org.dromara.mybatis-jpa-extra', name: 'mybatis-jpa-extra', version: "${mybatisjpaextraVersion}"
//implementation group: 'org.dromara.mybatis-jpa-extra', name: 'mybatis-jpa-extra-spring-boot-starter', version: "${mybatisjpaextraVersion}"
//hibernate
implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
implementation group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
implementation group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
//usefull
implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
implementation group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
implementation group: 'org.jsoup', name: 'jsoup', version: "${jsoupVersion}"
implementation group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
implementation group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
implementation group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
implementation group: 'org.dom4j', name: 'dom4j', version: "${dom4jVersion}"
implementation group: 'org.jdom', name: 'jdom2', version: "${jdom2Version}"
implementation group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
implementation group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
implementation group: 'ognl', name: 'ognl', version: "${ognlVersion}"
implementation group: 'cglib', name: 'cglib', version: "${cglibVersion}"
implementation group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
implementation group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
implementation group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
implementation group: 'xalan', name: 'serializer', version: "${serializerVersion}"
implementation group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
implementation group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
//implementation group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
implementation group: 'org.passay', name: 'passay', version: "${passayVersion}"
implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
//ip offline
implementation group: 'org.lionsoul', name: 'ip2region', version: "${ip2regionVersion}"
implementation group: 'com.maxmind.db', name: 'maxmind-db', version: "${maxminddbVersion}"
implementation group: 'com.maxmind.geoip2', name: 'geoip2', version: "${maxmindgeoip2Version}"
//micrometer
implementation group: 'io.micrometer', name: 'micrometer-commons', version: "${micrometercoreVersion}"
implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
implementation group: 'io.micrometer', name: 'micrometer-observation', version: "${micrometercoreVersion}"
implementation group: 'io.micrometer', name: 'micrometer-registry-prometheus', version: "${micrometercoreVersion}"
implementation group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
implementation group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
implementation group: 'org.reflections', name: 'reflections', version: "${reflectionsVersion}"
//prometheus
implementation group: 'io.prometheus', name: 'simpleclient', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_common', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_otel', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_otel_agent', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_common', version: "${prometheusVersion}"
//阿里云
implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
//腾讯云
implementation group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
//docs
implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
implementation group: 'io.swagger.core.v3', name: 'swagger-annotations-jakarta', version: "${swaggerV3Version}"
implementation group: 'io.swagger.core.v3', name: 'swagger-core-jakarta', version: "${swaggerV3Version}"
implementation group: 'io.swagger.core.v3', name: 'swagger-models-jakarta', version: "${swaggerV3Version}"
//springdoc
implementation group: 'io.github.classgraph', name: 'classgraph', version: "${classgraphVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-common', version: "${springdocVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-api', version: "${springdocVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: "${springdocVersion}"
//webjars
implementation group: 'org.webjars', name: 'webjars-locator-core', version: "${webjarslocatorcoreVersion}"
implementation group: 'org.webjars', name: 'webjars-locator', version: "${webjarslocatorVersion}"
implementation group: 'org.webjars', name: 'swagger-ui', version: "${swaggeruiVersion}"
//knife4j
implementation group: 'com.github.xiaoymin', name: 'knife4j-core', version: "${knife4jVersion}"
implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-ui', version: "${knife4jVersion}"
implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-jakarta-spring-boot-starter', version: "${knife4jVersion}"
//local jars
implementation fileTree(dir: "${rootDir}/maxkey-lib/", include: '*.jar')
}
jar {
def currentTime = java.time.ZonedDateTime.now()
manifest {
attributes(
"Implementation-Title": project.name,
"Implementation-Vendor": project.vendor,
"Created-By": project.author,
"Implementation-Date": currentTime,
"Implementation-Version": project.version
)
}
}
tasks.register("buildRelease",Copy) {
dependsOn assemble
//项目名 项目所在的group version 版本号
println "subproject " + project.name + ", group " + project.group +" , version " + project.version
//copy
into "$rootDir/build/maxkey-jars/"
from "$buildDir/libs/"
include '*.jar'
}
tasks.register("copyLibJars",Copy) {
if (libjarsmapper["${project.name}"] != null){
into "$rootDir/build/MaxKey-v${project.version}GA/"+libjarsmapper["${project.name}"]
from "$buildDir/libs/"
include '*.jar'
}
}
assemble.configure { finalizedBy buildRelease,copyLibJars }
}
//copy Dep Jars to /build/maxkey-depjars,only maxkey-common deps
project('maxkey-common') {
task createReleaseDir(type: Copy){
def paths = ["$rootDir/build/MaxKey-v${project.version}GA",
"$rootDir/build/MaxKey-v${project.version}GA/maxkey",
"$rootDir/build/MaxKey-v${project.version}GA/maxkey_mgt",
"$rootDir/build/MaxKey-v${project.version}GA/lib"];
//遍历数组,调用createDir闭包,创建目录
paths.forEach(){path->
File dir=new File(path);
if (!dir.exists()){
print("create "+path+"\n")
dir.mkdirs();
}
};
}
task copyDepJars (type: Copy){
dependsOn assemble
println "copy Dep Jars to $rootDir/build/MaxKey-v${project.version}GA/lib"
//copy runtime
from configurations.runtimeClasspath
into "$rootDir/build/MaxKey-v${project.version}GA/lib";
}
build.configure { finalizedBy copyDepJars }
}
tasks.register("buildRelease") {
dependsOn 'copyShellScript','copyWindowsShellScript'
//项目名 项目所在的group version 版本号
println "Root project " + project.name + ", group " + project.group +" , version " + project.version
//项目的绝对路径 to 项目的build文件绝对路径
println "Root project projectDir " + project.projectDir +" to " + project.buildDir
}
tasks.register("copyShellScript",Copy) {
println "project copyMaxKeyShellScript .";
from "$rootDir/shellscript/"
into "$rootDir/build/MaxKey-v${project.version}GA/shellscript/";
}
tasks.register("copyWindowsShellScript",Copy) {
println "project copyMaxKeyWindowsShellScript .";
from "$rootDir/shellscript/windows"
into "$rootDir/build/MaxKey-v${project.version}GA/";
}
build.configure {
finalizedBy buildRelease
println ""
println "Gradle version is ${GradleVersion.current().version}"
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/mwolfking/MaxKey.git
git@gitee.com:mwolfking/MaxKey.git
mwolfking
MaxKey
MaxKey
main

搜索帮助