1、
ext.versions = [ // 定义全部的依赖库版本号
springboot : '2.2.5.RELEASE', // SpringBoot版本号
springcloud : 'Hoxton.SR3', // SpringCloud版本号
alibabacloud : '2.2.1.RELEASE', // SpringCloudAlibaba版本号
lombok : '1.18.20', // Lombok版本号
junit : '5.6.3', // 配置JUnit测试工具的版本编号
junitPlatformLauncher : '1.6.3', // JUnit测试工具运行平台版本编号
]
ext.libraries = [ // 依赖库引入配置
'spring-boot-gradle-plugin':
"org.springframework.boot:spring-boot-gradle-plugin:${versions.springboot}",
'spring-cloud-dependencies':
"org.springframework.cloud:spring-cloud-dependencies:${versions.springcloud}",
'spring-cloud-alibaba-dependencies':
"com.alibaba.cloud:spring-cloud-alibaba-dependencies:${versions.alibabacloud}",
// 以下的配置为与项目用例测试有关的依赖
'junit-jupiter-api':
"org.junit.jupiter:junit-jupiter-api:${versions.junit}",
'junit-vintage-engine':
"org.junit.vintage:junit-vintage-engine:${versions.junit}",
'junit-jupiter-engine':
"org.junit.jupiter:junit-jupiter-engine:${versions.junit}",
'junit-platform-launcher':
"org.junit.platform:junit-platform-launcher:${versions.junitPlatformLauncher}",
'junit-platform-engine':
"org.junit.platform:junit-platform-engine:${versions.junitPlatformLauncher}",
'junit-jupiter-params':
"org.junit.jupiter:junit-jupiter-params:${versions.junit}",
'junit-bom': "org.junit:junit-bom:${versions.junit}",
'junit-platform-commons':
"org.junit.platform:junit-platform-commons:${versions.junitPlatformLauncher}",
// 以下的配置为Lombok组件有关的依赖
'lombok': "org.projectlombok:lombok:${versions.lombok}",
]
2、
buildscript { // 定义脚本使用资源
apply from: 'dependencies.gradle' // 引入所需要的依赖库文件
repositories { // 脚本资源仓库
maven { url 'https://maven.aliyun.com/repository/public' }
}
dependencies { // 依赖库
classpath libraries.'spring-boot-gradle-plugin' // SpringBoot插件
}
}
group project_group // 组织名称
version project_version // 项目版本
apply from: 'dependencies.gradle' // 导入依赖配置
def env = System.getProperty("env") ?: 'dev' // 获取env环境属性
subprojects { // 配置子项目
apply plugin: 'java' // 子模块插件
apply plugin: 'org.springframework.boot' // 引入SpringBoot插件
apply plugin: 'io.spring.dependency-management' // 版本号管理
sourceCompatibility = project_jdk // 源代码版本
targetCompatibility = project_jdk // 生成类版本
repositories { // 配置Gradle仓库
mavenLocal()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
mavenCentral()
jcenter()
}
dependencyManagement {// 版本控制插件
imports {
mavenBom libraries.'spring-cloud-dependencies' // SpringCloud依赖管理
mavenBom libraries.'spring-cloud-alibaba-dependencies' // SpringCloudAlibaba依赖管理
}
}
dependencies { // 公共依赖库管理
compile('org.springframework.boot:spring-boot-devtools') // 项目热部署
// 以下为测试环境的相关依赖配置
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'junit', module: 'junit' // 移除Junit4
}
testImplementation(enforcedPlatform(libraries.'junit-bom')) // 绑定为JUnit5运行
testImplementation(libraries.'junit-platform-commons') // Junit5测试组件
testImplementation(libraries.'junit-platform-engine') // Junit5测试组件
testImplementation(libraries.'junit-jupiter-api') // Junit5测试组件
testImplementation(libraries.'junit-vintage-engine') // Junit5测试组件
testImplementation(libraries.'junit-jupiter-engine') // Junit5测试组件
testImplementation(libraries.'junit-platform-launcher') // Junit5测试组件
// 以下为Lombok插件的相关依赖配置
compileOnly(libraries.'lombok') // 编译时生效
annotationProcessor(libraries.'lombok') // 注解时生效
}
sourceSets { // 源代码目录配置
main { // main及相关子目录配置
java { srcDirs = ['src/main/java'] }
resources { srcDirs = ['src/main/resources', "src/main/profiles/$env"] }
}
test{ // test及相关子目录配置
java { srcDirs = ['src/test/java'] }
resources { srcDirs = ['src/test/resources'] }
}
test { // 配置测试任务
useJUnitPlatform() // 使用JUnit测试平台
}
task sourceJar(type: Jar, dependsOn: classes) { // 源代码的打包任务
archiveClassifier = 'sources' // 设置文件的后缀
from sourceSets.main.allSource // 所有源代码的读取路径
}
test { // 配置测试任务
useJUnitPlatform() // 使用JUnit测试平台
}
task sourceJar(type: Jar, dependsOn: classes) { // 源代码的打包任务
archiveClassifier = 'sources' // 设置文件的后缀
from sourceSets.main.allSource // 所有源代码的读取路径
}
task javadocTask(type: Javadoc) { // JavaDoc文档打包任务
options.encoding = 'UTF-8' // 设置文件编码
source = sourceSets.main.allJava // 定义所有的Java源代码
}
task javadocJar(type: Jar, dependsOn: javadocTask) { // 先生成JavaDoc再打包
archiveClassifier = 'javadoc' // 文件标记类型
from javadocTask.destinationDir // 通过JavadocTask任务中找到目标路径
}
tasks.withType(Javadoc) { // 文档编码配置
options.encoding = 'UTF-8' // 定义编码
}
tasks.withType(JavaCompile) { // 编译编码配置
options.encoding = 'UTF-8' // 定义编码
}
artifacts { // 最终的打包的操作任务
archives sourceJar // 源代码打包
archives javadocJar // javadoc打包
}
gradle.taskGraph.whenReady { // 在所有的操作准备好后触发
tasks.each { task -> // 找出所有的任务
if (task.name.contains('test')) { // 如果发现有test任务
// 如果将enabled设置为true表示要执行测试任务,如果设置为false表示不执行测试任务
task.enabled = true
}
}
}
[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'// 编码配置
}
}
3、
127.0.0.1 provider-dept-8001
127.0.0.1 consumer-springboot-80
4、
https://gitee.com/threesoil/microcloud
标签:versions,spring,SpringCloud,libraries,platform,构建,org,0202,junit From: https://www.cnblogs.com/cnetsa/p/17007076.html