父模块
import java.time.OffsetDateTime
import java.time.format.DateTimeFormatter
buildscript {
repositories {
mavenLocal()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
mavenCentral()
maven {
url 'https://plugins.gradle.org/m2/'
}
}
ext {
springBootVersion = '2.2.6.RELEASE'
}
}
plugins {
id 'java'
id 'java-library'
id 'org.springframework.boot' version "${springBootVersion}" apply false
id 'io.spring.dependency-management' version "1.0.11.RELEASE"
}
wrapper{
gradleVersion = '6.7'
}
def buildTimeAndDate = OffsetDateTime.now()
ext {
projectVersion = project.version
buildDate = DateTimeFormatter.ISO_LOCAL_DATE.format(buildTimeAndDate)
buildTime = DateTimeFormatter.ofPattern('HH:mm:ss.SSSZ').format(buildTimeAndDate)
}
allprojects {
group 'org.github.hoorf'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'io.spring.dependency-management'
compileJava {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
options.encoding = 'UTF-8'
}
tasks.withType(Jar) {
from(project.rootDir) {
include 'LICENSE'
into 'META-INF'
}
}
jar {
manifest {
attributes(
'Created-By': "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']})".toString(),
'Built-By': 'travis',
'Build-Date': buildDate,
'Build-Time': buildTime,
'Built-OS': "${System.properties['os.name']}",
'Specification-Title': project.name,
'Specification-Version': project.version,
'Specification-Vendor': 'test author',
'Implementation-Title': project.name,
'Implementation-Version': project.version,
'Implementation-Vendor': 'test author'
)
}
}
repositories {
mavenLocal()
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
}
allprojects { project ->
buildscript {
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-starter-parent:2.2.6.RELEASE"
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR3"
}
dependencies {
dependency "com.github.xiaoymin:knife4j-spring-boot-starter:3.0.3"
dependency "com.alibaba:fastjson:1.2.75"
dependency "cn.hutool:hutool-all:5.7.4"
dependency 'com.alibaba.cola:cola-component-dto:4.0.1'
dependency 'com.alibaba.cola:cola-component-domain-starter:4.0.1'
dependency 'com.alibaba.cola:cola-component-catchlog-starter:4.0.1'
dependency 'com.github.pagehelper:pagehelper-spring-boot-starter:1.3.1'
dependency 'org.apache.commons:commons-lang3:3.12.0'
dependency 'com.alibaba:druid-spring-boot-starter:1.2.6'
dependency 'io.swagger:swagger-annotations:1.5.22'
dependency 'io.jsonwebtoken:jjwt:0.9.1'
dependency 'eu.bitwalker:UserAgentUtils:1.21'
}
}
}
}
subprojects {
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
compile 'cn.hutool:hutool-all:5.7.4'
compile group: 'org.mapstruct',name: 'mapstruct-jdk8', version: '1.3.1.Final'
annotationProcessor ("org.mapstruct:mapstruct-processor:1.3.1.Final")
}
}
def createServiceModule() {
println "--------------开始创建模块---------------------"
def module = "order"
def dirs = ["app", "adapter", "client", "domain", "infrastructure", "start"]
def parent = "arch-service/arch-service-" + module;
mkdir(parent)
dirs.each {
mkdir(parent + "/${module}-${it}")
file(parent + "/${module}-${it}/build.gradle").createNewFile()
}
println "--------------完成创建模块---------------------"
}
子模块
plugins {
id 'java-library'
}
dependencies {
api(project(':arch-common'))
}
main Boot 模块
plugins {
id 'org.springframework.boot'
}
bootJar {
archiveBaseName = project.name
archiveVersion = project.version
manifest {
attributes(
'Created-By': "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']})".toString(),
'Built-By': 'travis',
'Build-Date': buildDate,
'Build-Time': buildTime,
'Built-OS': "${System.properties['os.name']}",
'Specification-Title': project.name,
'Specification-Version': projectVersion,
'Specification-Vendor': 'Will Zhao',
'Implementation-Title': project.name,
'Implementation-Version': projectVersion,
'Implementation-Vendor': 'Will Zhao'
)
}
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation project(':democlient')
annotationProcessor 'org.projectlombok:lombok'
}
test {
useJUnitPlatform()
}