llmhub-demo/llmhub-base/build.gradle.kts
gewuyou 096d3f11ab feat(llmhub-base): 初始化基础,设置依赖版本
- 创建.git模块

- 添加项目构建配置文件attributes、.gitignore等项目配置文件
- 初始化IntelliJ IDEA项目设置
- 添加Spring Boot应用配置
- 设置Gradle构建脚本
2025-04-24 18:53:23 +08:00

88 lines
2.4 KiB
Plaintext

plugins {
alias(libs.plugins.java)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.plugin.spring)
alias(libs.plugins.spring.boot)
alias(libs.plugins.spring.dependency.management)
}
group = "org.jcnc"
version = "1.0-SNAPSHOT"
/**
* 由于 Kotlin 插件被引入时会自动添加依赖,但根项目不需要 Kotlin 依赖,因此需要排除 Kotlin 依赖
*/
configurations.implementation {
exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib")
}
allprojects {
// 设置全局属性
ext{
set(ProjectFlags.USE_SPRING_BOOT,false)
}
repositories {
mavenLocal()
maven {
url = uri("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev")
}
maven {
url = uri("https://raw.githubusercontent.com/eurotech/kura_addons/mvn-repo/")
}
maven {
url = uri("https://maven.aliyun.com/repository/public/")
}
maven {
url = uri("https://maven.aliyun.com/repository/spring/")
}
maven {
url = uri("https://maven.aliyun.com/repository/spring-plugin/")
}
maven {
url = uri("https://maven.aliyun.com/repository/gradle-plugin/")
}
mavenCentral()
google()
gradlePluginPortal()
}
}
subprojects {
afterEvaluate {
// springbootWeb
if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT)) {
apply {
plugin(libs.plugins.spring.dependency.management.get().pluginId)
plugin(libs.plugins.spring.boot.get().pluginId)
plugin(libs.plugins.kotlin.plugin.spring.get().pluginId)
}
dependencies {
implementation(libs.springBootStarter.web)
testImplementation(libs.springBootStarter.test)
testRuntimeOnly(libs.junitPlatform.launcher)
}
}
}
val libs = rootProject.libs
apply {
plugin(libs.plugins.java.get().pluginId)
plugin(libs.plugins.kotlin.jvm.get().pluginId)
}
println(project.name+":"+project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT))
kotlin {
compilerOptions {
freeCompilerArgs.addAll("-Xjsr305=strict")
}
}
}
tasks.test {
useJUnitPlatform()
}
kotlin {
jvmToolchain(21)
}
fun Project.getPropertyByBoolean(key: String): Boolean {
return properties[key]?.toString()?.toBoolean() ?: false
}