val patchVersion: String by project group = "jit.xms" version = "${rootProject.version}.$patchVersion" plugins { id("java") id("io.spring.dependency-management") id("org.springframework.boot") kotlin("jvm") kotlin("plugin.spring") kotlin("plugin.jpa") } repositories { // 阿里云镜像 maven { url = uri("https://maven.aliyun.com/repository/public") } maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") } maven { url = uri("https://maven.aliyun.com/repository/spring") } maven { url = uri("https://maven.aliyun.com/repository/spring-plugin") } // gradle maven { url = uri("https://plugins.gradle.org/m2/") } } dependencies { api(platform(project(":platform"))) implementation(kotlin("reflect")) implementation(kotlin("stdlib-jdk8")) implementation("commons-io:commons-io") implementation("org.apache.commons:commons-dbcp2") implementation("org.springframework.boot:spring-boot-starter-jdbc:2.3.3.RELEASE") runtimeOnly("mysql:mysql-connector-java:5.1.34") runtimeOnly(fileTree("$rootDir/libs") { include("*.jar") }) } tasks.register("script") { from("script") into("$buildDir/script") expand("name" to project.name, "version" to version) } tasks.register("ext-libs") { from(configurations.runtimeClasspath) into("$buildDir/dist/ext") } tasks.register("dist") { dependsOn(tasks.named("bootJar"), tasks.named("ext-libs"), tasks.named("script")) into("$rootDir/dist/${project.name}") from(tasks["bootJar"].outputs) from("$buildDir/script") val splitJars: String? by project if ("true".equals(splitJars, true)) { from("$buildDir/dist/ext") { include("*.jar") into("../ext") } } } tasks.getByName("bootJar") { // 排除所有jar包 val splitJars: String? by project if ("true".equals(splitJars, true)) { exclude("*.jar") // 依赖复制任务 // dependsOn(tasks.named("ext-libs"), tasks.named("script")) // 指定依赖包的路径 manifest { val classPath = configurations.runtimeClasspath.get().files .joinToString(" ") { "../ext/${it.name}" } attributes("Class-Path" to classPath) } } }