From e2f003382541d18e35e18a741c1edcdd37fc16ec Mon Sep 17 00:00:00 2001 From: yaoxuwan Date: Mon, 4 Nov 2024 21:14:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7Spring=20Cloud=202024.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +++--- build.gradle.kts | 2 +- buildSrc/src/main/kotlin/Dependencies.kt | 3 +- buildSrc/src/main/kotlin/Versions.kt | 8 +++--- buildSrc/src/main/kotlin/ktlint.gradle.kts | 6 ++-- .../devops-boot-core/build.gradle.kts | 17 ++++++++--- ...ot.autoconfigure.AutoConfiguration.imports | 2 +- .../plugin/spring/SpringExtensionRegistry.kt | 5 +++- .../pulsar/convert/PulsarMessageConverter.kt | 2 +- .../inbound/PulsarInboundChannelAdapter.kt | 28 ++++++++++--------- .../support/PulsarMessageConverterSupport.kt | 2 +- ...erviceBootstrapEnvironmentPostProcessor.kt | 2 +- .../web/swagger/SwaggerConfiguration.kt | 1 + .../devops-boot-dependencies/build.gradle.kts | 12 ++++---- .../devops-boot-tools/build.gradle.kts | 5 +++- .../devops/actions/KtLintCheckAction.kt | 4 +-- .../devops/actions/KtLintFormatAction.kt | 4 +-- .../devops/conventions/KotlinConvention.kt | 11 ++++---- .../com/tencent/devops/enums/AssemblyMode.kt | 6 ++-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- devops-boot-sample/settings.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- version.txt | 2 +- 23 files changed, 78 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index 3ea04da..71b31b4 100644 --- a/README.md +++ b/README.md @@ -50,10 +50,10 @@ | 依赖 | 版本 | | ------------ |----------| | JDK | 17 | -| Kotlin | 1.8.22 | -| Gradle | 7.6.3 | -| Spring Boot | 3.0.11 | -| Spring Cloud | 2022.0.4 | +| Kotlin | 2.0.21 | +| Gradle | 8.10.2 | +| Spring Boot | 3.4.0 | +| Spring Cloud | 2024.0.0 | ## 示例 diff --git a/build.gradle.kts b/build.gradle.kts index 01eedb0..19a5ec3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ plugins { id("com.tencent.devops.publish") version Versions.DevopsReleasePlugin } -val projectVersion = rootProject.file("version.txt").readText() +val projectVersion = rootProject.file("version.txt").readText().trim() allprojects { group = "com.tencent.devops" diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index cdf25fb..b09f5a8 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -5,7 +5,7 @@ object Libs { const val SpringBootGradlePlugin = "org.springframework.boot:spring-boot-gradle-plugin:${Versions.SpringBoot}" const val DependencyManagement = "io.spring.gradle:dependency-management-plugin:${Versions.DependencyManagement}" const val KotlinSpringGradlePlugin = "org.jetbrains.kotlin:kotlin-allopen:${Versions.Kotlin}" - const val KtLint = "com.pinterest:ktlint:${Versions.KtLint}" + const val KtLint = "com.pinterest.ktlint:ktlint-cli:${Versions.KtLint}" const val GoogleJibPlugin = "gradle.plugin.com.google.cloud.tools:jib-gradle-plugin:${Versions.Jib}" const val GradleNexuxPublishPlugin = "io.github.gradle-nexus:publish-plugin:${Versions.GradleNexusPublish}" } @@ -15,4 +15,3 @@ object MavenBom { const val SpringCloud = "org.springframework.cloud:spring-cloud-dependencies:${Versions.SpringCloud}" const val DevOpsBoot = ":devops-boot-project:devops-boot-dependencies" } - diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index e4eec53..cfaffa9 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,11 +1,11 @@ object Versions { const val Jib: String = "3.2.0" const val Java = "17" - const val Kotlin = "1.8.22" - const val SpringBoot = "3.3.2" - const val SpringCloud = "2023.0.3" + const val Kotlin = "2.0.21" + const val SpringBoot = "3.4.0" + const val SpringCloud = "2024.0.0" const val DependencyManagement = "1.1.6" const val GradleNexusPublish = "1.3.0" - const val KtLint = "0.50.0" + const val KtLint = "1.3.1" const val DevopsReleasePlugin = "0.0.9" } diff --git a/buildSrc/src/main/kotlin/ktlint.gradle.kts b/buildSrc/src/main/kotlin/ktlint.gradle.kts index 6a46ae1..836e554 100644 --- a/buildSrc/src/main/kotlin/ktlint.gradle.kts +++ b/buildSrc/src/main/kotlin/ktlint.gradle.kts @@ -8,7 +8,7 @@ dependencies { } } -val outputDir = "${project.buildDir}/reports/ktlint/" +val outputDir = "${project.layout.buildDirectory}/reports/ktlint/" val inputFiles = project.fileTree(mapOf("dir" to "src", "include" to "**/*.kt")) val ktlintCheck by tasks.creating(JavaExec::class) { @@ -18,7 +18,7 @@ val ktlintCheck by tasks.creating(JavaExec::class) { description = "Check Kotlin code style." classpath = ktlint - main = "com.pinterest.ktlint.Main" + mainClass.set("com.pinterest.ktlint.Main") args = listOf("src/**/*.kt") } @@ -29,6 +29,6 @@ val ktlintFormat by tasks.creating(JavaExec::class) { description = "Fix Kotlin code style deviations." classpath = ktlint - main = "com.pinterest.ktlint.Main" + mainClass.set("com.pinterest.ktlint.Main") args = listOf("-F", "src/**/*.kt") } diff --git a/devops-boot-project/devops-boot-core/build.gradle.kts b/devops-boot-project/devops-boot-core/build.gradle.kts index 61e096f..bca7476 100644 --- a/devops-boot-project/devops-boot-core/build.gradle.kts +++ b/devops-boot-project/devops-boot-core/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { kotlin("jvm") kotlin("kapt") @@ -36,17 +38,24 @@ subprojects { targetCompatibility = Versions.Java } compileKotlin { - kotlinOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-java-parameters") - kotlinOptions.jvmTarget = Versions.Java + compilerOptions { + freeCompilerArgs.add("-Xjsr305=strict") + freeCompilerArgs.add("-java-parameters") + jvmTarget.set(JvmTarget.fromTarget(Versions.Java)) + } } compileTestKotlin { - kotlinOptions.jvmTarget = Versions.Java + compilerOptions { + jvmTarget.set(JvmTarget.fromTarget(Versions.Java)) + } } test { useJUnitPlatform() } withType(org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class.java).configureEach { - kotlinOptions.jvmTarget = Versions.Java + compilerOptions { + jvmTarget.set(JvmTarget.fromTarget(Versions.Java)) + } } } } diff --git a/devops-boot-project/devops-boot-core/devops-logging/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/devops-boot-project/devops-boot-core/devops-logging/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 5c485c3..80f0758 100644 --- a/devops-boot-project/devops-boot-core/devops-logging/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/devops-boot-project/devops-boot-core/devops-logging/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1 @@ -com.tencent.devops.logging.LoggingAutoConfiguration \ No newline at end of file +com.tencent.devops.logging.LoggingAutoConfiguration diff --git a/devops-boot-project/devops-boot-core/devops-plugin/devops-plugin-core/src/main/kotlin/com/tencent/devops/plugin/spring/SpringExtensionRegistry.kt b/devops-boot-project/devops-boot-core/devops-plugin/devops-plugin-core/src/main/kotlin/com/tencent/devops/plugin/spring/SpringExtensionRegistry.kt index 753eb98..6393257 100644 --- a/devops-boot-project/devops-boot-core/devops-plugin/devops-plugin-core/src/main/kotlin/com/tencent/devops/plugin/spring/SpringExtensionRegistry.kt +++ b/devops-boot-project/devops-boot-core/devops-plugin/devops-plugin-core/src/main/kotlin/com/tencent/devops/plugin/spring/SpringExtensionRegistry.kt @@ -30,7 +30,10 @@ class SpringExtensionRegistry : ExtensionRegistry, ApplicationContextAware { require(WebApplicationContext::class.java.isAssignableFrom(applicationContext::class.java)) this.applicationContext = applicationContext this.beanFactory = applicationContext.autowireCapableBeanFactory as DefaultListableBeanFactory - this.requestMappingHandlerMapping = applicationContext.getBean(RequestMappingHandlerMapping::class.java) + this.requestMappingHandlerMapping = applicationContext.getBean( + "requestMappingHandlerMapping", + RequestMappingHandlerMapping::class.java + ) } override fun registerExtensionController(plugin: String, name: String, type: Class<*>) { diff --git a/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/convert/PulsarMessageConverter.kt b/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/convert/PulsarMessageConverter.kt index f2f708e..4291df9 100644 --- a/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/convert/PulsarMessageConverter.kt +++ b/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/convert/PulsarMessageConverter.kt @@ -71,7 +71,7 @@ class PulsarMessageConverter { ClassUtils.forName( "com.alibaba.fastjson.support.spring.messaging.MappingFastJsonMessageConverter", ClassUtils.getDefaultClassLoader() - ).newInstance() as MessageConverter + ).getDeclaredConstructor().newInstance() as MessageConverter ) } catch (ignored: ClassNotFoundException) { // ignore this exception diff --git a/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/integration/inbound/PulsarInboundChannelAdapter.kt b/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/integration/inbound/PulsarInboundChannelAdapter.kt index 630e3b5..313a72d 100644 --- a/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/integration/inbound/PulsarInboundChannelAdapter.kt +++ b/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/integration/inbound/PulsarInboundChannelAdapter.kt @@ -88,7 +88,7 @@ class PulsarInboundChannelAdapter( concurrency = extendedConsumerProperties.concurrency ) } catch (e: Exception) { - logger.error("DefaultPulsarConsumer init failed, Caused by " + e.message) + log.error("DefaultPulsarConsumer init failed, Caused by " + e.message) throw MessagingException( MessageBuilder.withPayload( "DefaultPulsarConsumer init failed, Caused by " + e.message @@ -132,16 +132,16 @@ class PulsarInboundChannelAdapter( private fun createListener(): (Consumer<*>, Message<*>) -> Unit { return { it: Consumer<*>, msg: Message<*> -> try { - if (logger.isDebugEnabled) { - logger.debug("Message received $msg ${msg.messageId}") + if (log.isDebugEnabled) { + log.debug("Message received $msg ${msg.messageId}") } val message = PulsarMessageConverterSupport.convertMessage2Spring(msg) if (retryTemplate != null) { retryTemplate!!.execute( RetryCallback { _: RetryContext? -> sendMessage(message) - if (logger.isDebugEnabled) { - logger.debug("will send acknowledge: ${msg.messageId}") + if (log.isDebugEnabled) { + log.debug("will send acknowledge: ${msg.messageId}") } it.acknowledge(msg) message @@ -150,16 +150,16 @@ class PulsarInboundChannelAdapter( ) } else { sendMessage(message) - if (logger.isDebugEnabled) { - logger.debug("will send acknowledge: ${msg.messageId}") + if (log.isDebugEnabled) { + log.debug("will send acknowledge: ${msg.messageId}") } it.acknowledge(msg) } - if (logger.isDebugEnabled) { - logger.debug("Message ${msg.messageId} has been consumed") + if (log.isDebugEnabled) { + log.debug("Message ${msg.messageId} has been consumed") } } catch (e: Exception) { - logger.warn("Error occurred while consuming message ${msg.messageId}: $e") + log.warn("Error occurred while consuming message ${msg.messageId}: $e") it.negativeAcknowledge(msg) } } @@ -187,7 +187,7 @@ class PulsarInboundChannelAdapter( consumers.add(consumer) } } catch (e: Exception) { - logger.error("Error occurred while creating consumer $e") + log.error("Error occurred while creating consumer $e") } // val instrumentation = Instrumentation(topic, this) @@ -195,7 +195,7 @@ class PulsarInboundChannelAdapter( // instrumentation.markStartedSuccessfully() // } catch (e: java.lang.Exception) { // instrumentation.markStartFailed(e) -// logger.error("PulsarConsumer init failed, Caused by " + e.message) +// log.error("PulsarConsumer init failed, Caused by " + e.message) // throw MessagingException( // MessageBuilder.withPayload( // "PulsarConsumer init failed, Caused by " + e.message @@ -228,6 +228,8 @@ class PulsarInboundChannelAdapter( } companion object { - private val logger = LoggerFactory.getLogger(PulsarInboundChannelAdapter::class.java) + // 命名为logger会和IntegrationObjectSupport中的logger冲突 + // https://youtrack.jetbrains.com/issue/KT-56386 + private val log = LoggerFactory.getLogger(PulsarInboundChannelAdapter::class.java) } } diff --git a/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/support/PulsarMessageConverterSupport.kt b/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/support/PulsarMessageConverterSupport.kt index 65e90bd..9508b92 100644 --- a/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/support/PulsarMessageConverterSupport.kt +++ b/devops-boot-project/devops-boot-core/devops-pulsar/src/main/kotlin/com/tencent/devops/stream/binder/pulsar/support/PulsarMessageConverterSupport.kt @@ -69,7 +69,7 @@ object PulsarMessageConverterSupport { messageBuilder: MessageBuilder<*> ) { if (!CollectionUtils.isEmpty(properties)) { - properties.forEach { (key: String?, value: String?) -> + properties.forEach { (key: String, value: String) -> if (MessageHeaders.ID != key && MessageHeaders.TIMESTAMP != key ) { diff --git a/devops-boot-project/devops-boot-core/devops-service/src/main/kotlin/com/tencent/devops/service/ServiceBootstrapEnvironmentPostProcessor.kt b/devops-boot-project/devops-boot-core/devops-service/src/main/kotlin/com/tencent/devops/service/ServiceBootstrapEnvironmentPostProcessor.kt index 332b7cb..dc2e0a1 100644 --- a/devops-boot-project/devops-boot-core/devops-service/src/main/kotlin/com/tencent/devops/service/ServiceBootstrapEnvironmentPostProcessor.kt +++ b/devops-boot-project/devops-boot-core/devops-service/src/main/kotlin/com/tencent/devops/service/ServiceBootstrapEnvironmentPostProcessor.kt @@ -32,7 +32,7 @@ class ServiceBootstrapEnvironmentPostProcessor: EnvironmentPostProcessor, Ordere with(Properties()) { if (isConsulPresent()) { setProperty("spring.cloud.consul.config.name", SERVICE_NAME) - setProperty("spring.cloud.consul.config.prefix", CONSUL_CONFIG_PREFIX) + setProperty("spring.cloud.consul.config.prefixes", CONSUL_CONFIG_PREFIX) setProperty("spring.cloud.consul.config.format", CONSUL_CONFIG_FORMAT) setProperty("spring.cloud.consul.config.profile-separator", CONSUL_CONFIG_SEPARATOR) setProperty("spring.cloud.consul.discovery.service-name", SERVICE_NAME) diff --git a/devops-boot-project/devops-boot-core/devops-web/src/main/kotlin/com/tencent/devops/web/swagger/SwaggerConfiguration.kt b/devops-boot-project/devops-boot-core/devops-web/src/main/kotlin/com/tencent/devops/web/swagger/SwaggerConfiguration.kt index 5c038bb..f3e987f 100644 --- a/devops-boot-project/devops-boot-core/devops-web/src/main/kotlin/com/tencent/devops/web/swagger/SwaggerConfiguration.kt +++ b/devops-boot-project/devops-boot-core/devops-web/src/main/kotlin/com/tencent/devops/web/swagger/SwaggerConfiguration.kt @@ -30,6 +30,7 @@ class SwaggerConfiguration { return GroupedOpenApi.builder() .pathsToMatch(ALL_PATTERN) .packagesToScan("com.tencent") + .group("tencent") .build() } diff --git a/devops-boot-project/devops-boot-dependencies/build.gradle.kts b/devops-boot-project/devops-boot-dependencies/build.gradle.kts index 2704f46..c1474a1 100644 --- a/devops-boot-project/devops-boot-dependencies/build.gradle.kts +++ b/devops-boot-project/devops-boot-dependencies/build.gradle.kts @@ -33,13 +33,12 @@ dependencies { api("com.google.guava:guava:33.2.1-jre") // swagger - api("io.swagger.core.v3:swagger-annotations:2.2.22") - api("io.swagger.core.v3:swagger-models:2.2.22") - api("io.swagger.core.v3:swagger-jaxrs2:2.2.22") - api("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0") + api("io.swagger.core.v3:swagger-annotations:2.2.25") + api("io.swagger.core.v3:swagger-models:2.2.25") + api("io.swagger.core.v3:swagger-jaxrs2:2.2.25") + api("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0") // mq stream - api("org.apache.pulsar:pulsar-client:2.9.5") api("com.google.protobuf:protobuf-java:3.19.6") // s3 @@ -47,5 +46,8 @@ dependencies { // crypto api("com.tencent.bk.sdk:crypto-java-sdk:1.1.1") + + //okhttp + api("com.squareup.okhttp3:okhttp:4.12.0") } } diff --git a/devops-boot-project/devops-boot-tools/build.gradle.kts b/devops-boot-project/devops-boot-tools/build.gradle.kts index 3486de8..43a03f4 100644 --- a/devops-boot-project/devops-boot-tools/build.gradle.kts +++ b/devops-boot-project/devops-boot-tools/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile description = "Tools for DevOps Boot" @@ -7,7 +8,9 @@ subprojects { tasks { getByName("compileKotlin") { - kotlinOptions.jvmTarget = Versions.Java + compilerOptions { + jvmTarget.set(JvmTarget.fromTarget(Versions.Java)) + } } } } diff --git a/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/actions/KtLintCheckAction.kt b/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/actions/KtLintCheckAction.kt index a000c1b..d5921fb 100644 --- a/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/actions/KtLintCheckAction.kt +++ b/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/actions/KtLintCheckAction.kt @@ -13,14 +13,14 @@ class KtLintCheckAction( override fun execute(javaExec: JavaExec) { with(javaExec) { - val outputDir = "${project.buildDir}/reports/ktlint/" + val outputDir = "${project.layout.buildDirectory}/reports/ktlint/" val inputFiles = project.fileTree(mapOf("dir" to "src", "include" to "**/*.kt")) group = "verification" inputs.files(inputFiles) outputs.dir(outputDir) description = "Check Kotlin code style." classpath = ktLint - main = "com.pinterest.ktlint.Main" + mainClass.set("com.pinterest.ktlint.Main") args = listOf("src/**/*.kt") } } diff --git a/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/actions/KtLintFormatAction.kt b/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/actions/KtLintFormatAction.kt index d3b3d0f..1c059ca 100644 --- a/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/actions/KtLintFormatAction.kt +++ b/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/actions/KtLintFormatAction.kt @@ -13,14 +13,14 @@ class KtLintFormatAction( override fun execute(javaExec: JavaExec) { with(javaExec) { - val outputDir = "${project.buildDir}/reports/ktlint/" + val outputDir = "${project.layout.buildDirectory}/reports/ktlint/" val inputFiles = project.fileTree(mapOf("dir" to "src", "include" to "**/*.kt")) group = "formatting" inputs.files(inputFiles) outputs.dir(outputDir) description = "Fix Kotlin code style deviations." classpath = ktLint - main = "com.pinterest.ktlint.Main" + mainClass.set("com.pinterest.ktlint.Main") args = listOf("-F", "src/**/*.kt") } } diff --git a/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/conventions/KotlinConvention.kt b/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/conventions/KotlinConvention.kt index f3cf0c6..4a7cd24 100644 --- a/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/conventions/KotlinConvention.kt +++ b/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/conventions/KotlinConvention.kt @@ -4,7 +4,8 @@ import com.tencent.devops.utils.findJavaVersion import com.tencent.devops.utils.isKotlinSupport import org.gradle.api.Project import org.jetbrains.kotlin.allopen.gradle.SpringGradleSubplugin -import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformJvmPlugin +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.utils.IMPLEMENTATION @@ -12,7 +13,6 @@ import org.jetbrains.kotlin.gradle.utils.IMPLEMENTATION * kotlin相关配置 */ class KotlinConvention { - /** * 配置Kotlin默认编译选项 */ @@ -21,12 +21,12 @@ class KotlinConvention { if (!isKotlinSupport(this)) { return } - pluginManager.apply(KotlinPlatformJvmPlugin::class.java) + pluginManager.apply(KotlinPluginWrapper::class.java) // all-open kotlin class pluginManager.apply(SpringGradleSubplugin::class.java) tasks.withType(KotlinCompile::class.java) { - it.kotlinOptions.jvmTarget = findJavaVersion(this) - it.kotlinOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-java-parameters") + it.compilerOptions.jvmTarget.set(JvmTarget.fromTarget(findJavaVersion(this))) + it.compilerOptions.freeCompilerArgs.addAll(listOf("-Xjsr305=strict", "-java-parameters")) } dependencies.add(IMPLEMENTATION, KOTLIN_STDLIB) dependencies.add(IMPLEMENTATION, KOTLIN_REFLECT) @@ -35,7 +35,6 @@ class KotlinConvention { } companion object { - /** * std-jdk8依赖 */ diff --git a/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/enums/AssemblyMode.kt b/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/enums/AssemblyMode.kt index b606ac5..f190b85 100644 --- a/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/enums/AssemblyMode.kt +++ b/devops-boot-project/devops-boot-tools/devops-boot-gradle-plugin/src/main/kotlin/com/tencent/devops/enums/AssemblyMode.kt @@ -1,5 +1,7 @@ package com.tencent.devops.enums +import java.util.Locale + enum class AssemblyMode { NONE, CONSUL, @@ -9,8 +11,8 @@ enum class AssemblyMode { companion object { fun ofValueOrDefault(value: String): AssemblyMode { - val upperCase = value.toUpperCase() - return values().find { it.name == upperCase } ?: CONSUL + val upperCase = value.uppercase(Locale.getDefault()) + return entries.find { it.name == upperCase } ?: CONSUL } } } diff --git a/devops-boot-sample/gradle/wrapper/gradle-wrapper.properties b/devops-boot-sample/gradle/wrapper/gradle-wrapper.properties index 068cdb2..1e2fbf0 100644 --- a/devops-boot-sample/gradle/wrapper/gradle-wrapper.properties +++ b/devops-boot-sample/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/devops-boot-sample/settings.gradle.kts b/devops-boot-sample/settings.gradle.kts index f21cbf5..8228d56 100644 --- a/devops-boot-sample/settings.gradle.kts +++ b/devops-boot-sample/settings.gradle.kts @@ -5,7 +5,7 @@ rootProject.name = "devops-boot-sample" // for debug devops-boot locally @Suppress("UnstableApiUsage") pluginManagement { - val projectVersion = File(rootDir.parent,"version.txt").readText() + val projectVersion = File(rootDir.parent,"version.txt").readText().trim() plugins { id("com.tencent.devops.boot") version projectVersion } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 068cdb2..1e2fbf0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/version.txt b/version.txt index 9786f4f..5902d52 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.0.1-SNAPSHOT \ No newline at end of file +1.1.0-SNAPSHOT