refactor(gradle): 重构项目构建配置
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 2m3s
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 2m3s
- 更新依赖版本: - forgeBoot 版本从 1.1.0-SNAPSHOT 升级到 1.2.0-SNAPSHOT - spring-dependency-management 版本 1.1.7 未变 - aliyun-bailian 版本 2.0.0 未变 - spring-cloud-starter-alibaba-nacos-discovery 版本 2023.0.1.0 未变 - okHttp 版本 4.12.0 未变 - jib 版本 3.4.2 未变 - org-reactivestreams-reactiveStreams 版本 1.0.4 未变- 调整模块间依赖: - llmx-core-service: 依赖从 Core.SPI 改为 Core.COMMON - llmx-impl-bailian 和 llmx-impl-openai: 移除冗余依赖,统一配置 - 根项目:添加 USE_LLM_IMPL_PLATFORM_DEPENDENCE 标志 - 移除跨域配置类 CorsConfig 中的注释 - 修改 LlmxCoreServiceApplication 类为 open - 删除 ChatController 中的 @CrossOrigin 注解
This commit is contained in:
parent
7400c4d24f
commit
690ede78f0
@ -3,7 +3,6 @@ plugins {
|
|||||||
alias(libs.plugins.kotlin.jvm)
|
alias(libs.plugins.kotlin.jvm)
|
||||||
alias(libs.plugins.kotlin.plugin.spring)
|
alias(libs.plugins.kotlin.plugin.spring)
|
||||||
alias(libs.plugins.spring.boot)
|
alias(libs.plugins.spring.boot)
|
||||||
alias(libs.plugins.spring.dependency.management)
|
|
||||||
alias(libs.plugins.jibLocalPlugin)
|
alias(libs.plugins.jibLocalPlugin)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,10 +19,11 @@ allprojects {
|
|||||||
// 设置全局属性
|
// 设置全局属性
|
||||||
ext {
|
ext {
|
||||||
set(ProjectFlags.USE_SPRING_BOOT_WEB, false)
|
set(ProjectFlags.USE_SPRING_BOOT_WEB, false)
|
||||||
set(ProjectFlags.USE_LLM_CORE_SPI, false)
|
set(ProjectFlags.USE_LLM_KT_IMPL_DEPENDENCE, false)
|
||||||
set(ProjectFlags.USE_SPRING_CLOUD_BOM, false)
|
set(ProjectFlags.USE_SPRING_CLOUD_BOM, false)
|
||||||
set(ProjectFlags.IS_ROOT_MODULE, false)
|
set(ProjectFlags.IS_ROOT_MODULE, false)
|
||||||
set(ProjectFlags.USE_SPRING_BOOT_BOM,false)
|
set(ProjectFlags.USE_SPRING_BOOT_BOM, false)
|
||||||
|
set(ProjectFlags.USE_LLM_IMPL_PLATFORM_DEPENDENCE, false)
|
||||||
}
|
}
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
@ -34,9 +34,6 @@ allprojects {
|
|||||||
maven {
|
maven {
|
||||||
url = uri("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev")
|
url = uri("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev")
|
||||||
}
|
}
|
||||||
// maven {
|
|
||||||
// url = uri("https://raw.githubusercontent.com/eurotech/kura_addons/mvn-repo/")
|
|
||||||
// }
|
|
||||||
maven {
|
maven {
|
||||||
url = uri("https://maven.aliyun.com/repository/public/")
|
url = uri("https://maven.aliyun.com/repository/public/")
|
||||||
}
|
}
|
||||||
@ -68,24 +65,25 @@ allprojects {
|
|||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
afterEvaluate {
|
afterEvaluate {
|
||||||
// springbootWeb
|
if (project.getPropertyByBoolean(ProjectFlags.USE_LLM_IMPL_PLATFORM_DEPENDENCE)) {
|
||||||
if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT_WEB)) {
|
|
||||||
apply {
|
apply {
|
||||||
plugin(libs.plugins.spring.dependency.management.get().pluginId)
|
|
||||||
plugin(libs.plugins.spring.boot.get().pluginId)
|
|
||||||
plugin(libs.plugins.kotlin.plugin.spring.get().pluginId)
|
plugin(libs.plugins.kotlin.plugin.spring.get().pluginId)
|
||||||
}
|
}
|
||||||
dependencies {
|
ext {
|
||||||
implementation(libs.springBootStarter.web)
|
setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true)
|
||||||
|
setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM, true)
|
||||||
testImplementation(libs.springBootStarter.test)
|
setProperty(ProjectFlags.USE_LLM_KT_IMPL_DEPENDENCE, true)
|
||||||
testRuntimeOnly(libs.junitPlatform.launcher)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// llmx-core-spi
|
|
||||||
if (project.getPropertyByBoolean(ProjectFlags.USE_LLM_CORE_SPI)) {
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
// Nacos 服务发现和配置
|
||||||
|
implementation(libs.springCloudStarter.alibaba.nacos.discovery)
|
||||||
|
// 核心spi依赖
|
||||||
implementation(project(Modules.Core.SPI))
|
implementation(project(Modules.Core.SPI))
|
||||||
|
// okHttp依赖
|
||||||
|
implementation(libs.okHttp)
|
||||||
|
// forgeBoot依赖
|
||||||
|
implementation(libs.forgeBoot.core.extension)
|
||||||
|
implementation(libs.forgeBoot.core.extension)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// springCloudBom
|
// springCloudBom
|
||||||
@ -94,11 +92,34 @@ subprojects {
|
|||||||
implementation(platform(libs.springCloudDependencies.bom))
|
implementation(platform(libs.springCloudDependencies.bom))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT_BOM)){
|
// springBootBom
|
||||||
|
if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT_BOM)) {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(platform(libs.springBootDependencies.bom))
|
implementation(platform(libs.springBootDependencies.bom))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// springbootWeb
|
||||||
|
if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT_WEB)) {
|
||||||
|
apply {
|
||||||
|
plugin(libs.plugins.spring.boot.get().pluginId)
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
implementation(libs.springBootStarter.web)
|
||||||
|
implementation(platform(libs.springBootDependencies.bom))
|
||||||
|
testImplementation(libs.springBootStarter.test)
|
||||||
|
testRuntimeOnly(libs.junitPlatform.launcher)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 使用kt实现impl服务依赖
|
||||||
|
if (project.getPropertyByBoolean(ProjectFlags.USE_LLM_KT_IMPL_DEPENDENCE)) {
|
||||||
|
dependencies {
|
||||||
|
// jackson kt模块依赖
|
||||||
|
implementation(libs.jackson.module.kotlin)
|
||||||
|
// kt协程依赖
|
||||||
|
implementation(libs.kotlinx.coruntes.reactor)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
val libs = rootProject.libs
|
val libs = rootProject.libs
|
||||||
apply {
|
apply {
|
||||||
|
|||||||
@ -2,6 +2,11 @@ object ProjectFlags {
|
|||||||
const val USE_SPRING_BOOT_WEB = "useSpringBootWeb"
|
const val USE_SPRING_BOOT_WEB = "useSpringBootWeb"
|
||||||
const val USE_SPRING_BOOT_BOM = "useSpringBootBom"
|
const val USE_SPRING_BOOT_BOM = "useSpringBootBom"
|
||||||
const val USE_SPRING_CLOUD_BOM = "useSpringCloudBom"
|
const val USE_SPRING_CLOUD_BOM = "useSpringCloudBom"
|
||||||
const val USE_LLM_CORE_SPI = "useLLMCoreSPI"
|
const val USE_LLM_KT_IMPL_DEPENDENCE = "useLLMKtImplDependence"
|
||||||
const val IS_ROOT_MODULE = "isRootModule"
|
const val IS_ROOT_MODULE = "isRootModule"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用实现服务第三方平台依赖
|
||||||
|
*/
|
||||||
|
const val USE_LLM_IMPL_PLATFORM_DEPENDENCE = "useLLMImplPlatformDependence"
|
||||||
}
|
}
|
||||||
@ -5,7 +5,7 @@ spring-boot-version = "3.2.4"
|
|||||||
spring-dependency-management-version = "1.1.7"
|
spring-dependency-management-version = "1.1.7"
|
||||||
aliyun-bailian-version = "2.0.0"
|
aliyun-bailian-version = "2.0.0"
|
||||||
spring-cloud-starter-alibaba-nacos-discovery-version = "2023.0.1.0"
|
spring-cloud-starter-alibaba-nacos-discovery-version = "2023.0.1.0"
|
||||||
forgeBoot-version = "1.1.0-SNAPSHOT"
|
forgeBoot-version = "1.2.0-SNAPSHOT"
|
||||||
okHttp-version = "4.12.0"
|
okHttp-version = "4.12.0"
|
||||||
jib-version = "3.4.2"
|
jib-version = "3.4.2"
|
||||||
org-reactivestreams-reactiveStreams-version = "1.0.4"
|
org-reactivestreams-reactiveStreams-version = "1.0.4"
|
||||||
|
|||||||
@ -13,7 +13,7 @@ dependencies {
|
|||||||
implementation(libs.springCloudStarter.loadbalancer)
|
implementation(libs.springCloudStarter.loadbalancer)
|
||||||
|
|
||||||
|
|
||||||
implementation(project(Modules.Core.SPI))
|
implementation(project(Modules.Core.COMMON))
|
||||||
|
|
||||||
// Kotlin Coroutines
|
// Kotlin Coroutines
|
||||||
implementation(libs.kotlinx.coruntes.reactor)
|
implementation(libs.kotlinx.coruntes.reactor)
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
|||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableDiscoveryClient
|
@EnableDiscoveryClient
|
||||||
class LlmxCoreServiceApplication
|
open class LlmxCoreServiceApplication
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 程序的入口点。
|
* 程序的入口点。
|
||||||
|
|||||||
@ -1,36 +1,36 @@
|
|||||||
//package org.jcnc.llmx.core.service.config
|
package org.jcnc.llmx.core.service.config
|
||||||
//
|
|
||||||
//import com.gewuyou.forgeboot.core.extension.log
|
import com.gewuyou.forgeboot.core.extension.log
|
||||||
//import org.springframework.context.annotation.Configuration
|
import org.springframework.context.annotation.Configuration
|
||||||
//import org.springframework.web.servlet.config.annotation.CorsRegistry
|
import org.springframework.web.servlet.config.annotation.CorsRegistry
|
||||||
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
|
||||||
//
|
|
||||||
///**
|
/**
|
||||||
// * CORS配置类
|
* CORS配置类
|
||||||
// *
|
*
|
||||||
// * 该类用于全局配置跨域请求设置,以确保前端应用可以与后端服务进行通信
|
* 该类用于全局配置跨域请求设置,以确保前端应用可以与后端服务进行通信
|
||||||
// * 主要通过重写addCorsMappings方法来配置跨域请求映射,以及通过corsWebFilter方法来提供更细粒度的跨域支持
|
* 主要通过重写addCorsMappings方法来配置跨域请求映射,以及通过corsWebFilter方法来提供更细粒度的跨域支持
|
||||||
// *
|
*
|
||||||
// * @since 2025-04-02 17:03:41
|
* @since 2025-04-02 17:03:41
|
||||||
// * @author gewuyou
|
* @author gewuyou
|
||||||
// */
|
*/
|
||||||
//@Configuration
|
@Configuration
|
||||||
//open class CorsConfig : WebMvcConfigurer {
|
open class CorsConfig : WebMvcConfigurer {
|
||||||
// /**
|
/**
|
||||||
// * 添加跨域请求映射
|
* 添加跨域请求映射
|
||||||
// *
|
*
|
||||||
// * 该方法重写了父接口中的addCorsMappings方法,用于配置全局的跨域请求规则
|
* 该方法重写了父接口中的addCorsMappings方法,用于配置全局的跨域请求规则
|
||||||
// * 主要配置了允许所有路径、所有来源、常见HTTP方法、所有请求头的跨域请求,并设置了不携带Cookie以及预检请求缓存时间
|
* 主要配置了允许所有路径、所有来源、常见HTTP方法、所有请求头的跨域请求,并设置了不携带Cookie以及预检请求缓存时间
|
||||||
// *
|
*
|
||||||
// * @param registry 跨域请求注册表,用于添加跨域请求映射
|
* @param registry 跨域请求注册表,用于添加跨域请求映射
|
||||||
// */
|
*/
|
||||||
// override fun addCorsMappings(registry: CorsRegistry) {
|
override fun addCorsMappings(registry: CorsRegistry) {
|
||||||
// log.info("Web CORS配置生效")
|
log.info("Web CORS配置生效")
|
||||||
// registry.addMapping("/**") // 匹配所有路径
|
registry.addMapping("/**") // 匹配所有路径
|
||||||
// .allowedOrigins("*") // 允许所有来源(生产环境建议指定具体域名)
|
.allowedOrigins("*") // 允许所有来源(生产环境建议指定具体域名)
|
||||||
// .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许的HTTP方法
|
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许的HTTP方法
|
||||||
// .allowedHeaders("*") // 允许所有请求头
|
.allowedHeaders("*") // 允许所有请求头
|
||||||
// .allowCredentials(false) // 是否允许携带Cookie(true时需要明确指定allowedOrigins,不能为*)
|
.allowCredentials(false) // 是否允许携带Cookie(true时需要明确指定allowedOrigins,不能为*)
|
||||||
// .maxAge(3600) // 预检请求缓存时间(秒)
|
.maxAge(3600) // 预检请求缓存时间(秒)
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
|
|||||||
@ -5,11 +5,8 @@ import com.gewuyou.forgeboot.webmvc.version.annotation.ApiVersion
|
|||||||
import org.jcnc.llmx.core.common.entities.request.ChatRequest
|
import org.jcnc.llmx.core.common.entities.request.ChatRequest
|
||||||
import org.jcnc.llmx.core.common.entities.response.ChatResponsePart
|
import org.jcnc.llmx.core.common.entities.response.ChatResponsePart
|
||||||
import org.jcnc.llmx.core.service.service.impl.LLMServiceImpl
|
import org.jcnc.llmx.core.service.service.impl.LLMServiceImpl
|
||||||
|
|
||||||
import org.reactivestreams.Publisher
|
import org.reactivestreams.Publisher
|
||||||
import org.springframework.http.MediaType
|
import org.springframework.http.MediaType
|
||||||
import org.springframework.web.bind.annotation.CrossOrigin
|
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping
|
import org.springframework.web.bind.annotation.PostMapping
|
||||||
import org.springframework.web.bind.annotation.RequestBody
|
import org.springframework.web.bind.annotation.RequestBody
|
||||||
import org.springframework.web.bind.annotation.RequestMapping
|
import org.springframework.web.bind.annotation.RequestMapping
|
||||||
@ -24,7 +21,6 @@ import org.springframework.web.bind.annotation.RestController
|
|||||||
@ApiVersion
|
@ApiVersion
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/chat")
|
@RequestMapping("/chat")
|
||||||
@CrossOrigin(origins = ["*"]) // 放宽跨域
|
|
||||||
class ChatController(
|
class ChatController(
|
||||||
private val llmServiceImpl: LLMServiceImpl
|
private val llmServiceImpl: LLMServiceImpl
|
||||||
) {
|
) {
|
||||||
|
|||||||
@ -1,24 +1,6 @@
|
|||||||
|
// 开启LLM实现平台依赖
|
||||||
// 开启springboot
|
setProperty(ProjectFlags.USE_LLM_IMPL_PLATFORM_DEPENDENCE, true)
|
||||||
setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true)
|
|
||||||
setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM,true)
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// Nacos 服务发现和配置
|
|
||||||
implementation(libs.springCloudStarter.alibaba.nacos.discovery)
|
|
||||||
|
|
||||||
implementation(project(Modules.Core.SPI))
|
|
||||||
|
|
||||||
implementation(libs.kotlinx.coruntes.reactor)
|
|
||||||
|
|
||||||
implementation(libs.okHttp)
|
|
||||||
|
|
||||||
implementation(libs.forgeBoot.core.extension)
|
|
||||||
|
|
||||||
implementation(libs.jackson.module.kotlin)
|
|
||||||
|
|
||||||
implementation(libs.forgeBoot.core.extension)
|
|
||||||
|
|
||||||
implementation(libs.aliyun.bailian)
|
implementation(libs.aliyun.bailian)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,19 +1,5 @@
|
|||||||
// 开启springboot
|
// 开启LLM实现平台依赖
|
||||||
setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true)
|
setProperty(ProjectFlags.USE_LLM_IMPL_PLATFORM_DEPENDENCE, true)
|
||||||
setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM,true)
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// Nacos 服务发现和配置
|
|
||||||
implementation(libs.springCloudStarter.alibaba.nacos.discovery)
|
|
||||||
|
|
||||||
implementation(project(Modules.Core.SPI))
|
|
||||||
|
|
||||||
implementation(libs.kotlinx.coruntes.reactor)
|
|
||||||
|
|
||||||
implementation(libs.okHttp)
|
|
||||||
|
|
||||||
implementation(libs.forgeBoot.core.extension)
|
|
||||||
|
|
||||||
implementation(libs.jackson.module.kotlin)
|
|
||||||
|
|
||||||
implementation(libs.forgeBoot.core.extension)
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user