diff --git a/bom/build.gradle.kts b/bom/build.gradle.kts index f81d8c20..83ffc45f 100644 --- a/bom/build.gradle.kts +++ b/bom/build.gradle.kts @@ -1,13 +1,9 @@ plugins { - `java-platform` - id("com.netflix.nebula.maven-publish") - sisyphus + `sisyphus-bom` } -group = "com.bybutter.sisyphus" description = "Sisyphus Project (Bill of Materials)" - dependencies { constraints { rootProject.subprojects { diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index adb6534b..1a50249c 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,7 +1,8 @@ plugins { + idea `java-library` + `java-gradle-plugin` `kotlin-dsl` - id("idea") } repositories { @@ -22,3 +23,40 @@ dependencies { implementation(libs.gradle.kotlin.allopen) implementation(libs.gradle.plugin.publish) } + +gradlePlugin { + plugins { + create("sisyphus-java") { + id = "sisyphus.java" + implementationClass = "JavaProjectPlugin" + } + create("sisyphus-kotlin") { + id = "sisyphus.kotlin" + implementationClass = "KotlinProjectPlugin" + } + create("sisyphus-library") { + id = "sisyphus.library" + implementationClass = "LibraryProjectPlugin" + } + create("sisyphus-middleware") { + id = "sisyphus.middleware" + implementationClass = "MiddlewareProjectPlugin" + } + create("sisyphus-starter") { + id = "sisyphus.starter" + implementationClass = "StarterProjectPlugin" + } + create("sisyphus-tools") { + id = "sisyphus.tools" + implementationClass = "ToolProjectPlugin" + } + create("sisyphus-plugin") { + id = "sisyphus.plugin" + implementationClass = "GradlePluginProjectPlugin" + } + create("sisyphus-bom") { + id = "sisyphus.bom" + implementationClass = "BomProjectPlugin" + } + } +} diff --git a/buildSrc/src/main/kotlin/BomProjectPlugin.kt b/buildSrc/src/main/kotlin/BomProjectPlugin.kt new file mode 100644 index 00000000..30f037d5 --- /dev/null +++ b/buildSrc/src/main/kotlin/BomProjectPlugin.kt @@ -0,0 +1,17 @@ +import com.bybutter.sisyphus.project.gradle.SisyphusProjectPlugin +import nebula.plugin.publishing.maven.MavenPublishPlugin +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.plugins.JavaPlatformPlugin +import org.gradle.plugins.ide.idea.IdeaPlugin + +class BomProjectPlugin : Plugin { + override fun apply(target: Project) { + target.plugins.apply(IdeaPlugin::class.java) + target.plugins.apply(JavaPlatformPlugin::class.java) + target.plugins.apply(SisyphusProjectPlugin::class.java) + target.plugins.apply(MavenPublishPlugin::class.java) + + target.group = "com.bybutter.sisyphus" + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/GradlePluginProjectPlugin.kt b/buildSrc/src/main/kotlin/GradlePluginProjectPlugin.kt new file mode 100644 index 00000000..ff39e2b1 --- /dev/null +++ b/buildSrc/src/main/kotlin/GradlePluginProjectPlugin.kt @@ -0,0 +1,10 @@ +import org.gradle.api.Plugin +import org.gradle.api.Project + +class GradlePluginProjectPlugin : Plugin { + override fun apply(target: Project) { + target.plugins.apply("com.gradle.plugin-publish") + target.plugins.apply("org.gradle.java-gradle-plugin") + target.plugins.apply(ToolProjectPlugin::class.java) + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/JavaProjectPlugin.kt b/buildSrc/src/main/kotlin/JavaProjectPlugin.kt new file mode 100644 index 00000000..68fc0818 --- /dev/null +++ b/buildSrc/src/main/kotlin/JavaProjectPlugin.kt @@ -0,0 +1,31 @@ +import com.bybutter.sisyphus.project.gradle.SisyphusProjectPlugin +import org.gradle.api.JavaVersion +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.plugins.JavaLibraryPlugin +import org.gradle.api.tasks.compile.JavaCompile +import org.gradle.api.tasks.testing.Test +import org.gradle.kotlin.dsl.dependencies +import org.gradle.kotlin.dsl.withType +import org.gradle.plugins.ide.idea.IdeaPlugin + +class JavaProjectPlugin : Plugin { + override fun apply(target: Project) { + target.plugins.apply(IdeaPlugin::class.java) + target.plugins.apply(JavaLibraryPlugin::class.java) + target.plugins.apply(SisyphusProjectPlugin::class.java) + + target.tasks.withType { + sourceCompatibility = JavaVersion.VERSION_1_8.majorVersion + targetCompatibility = JavaVersion.VERSION_1_8.majorVersion + } + + target.dependencies { + add("api", "org.jetbrains.kotlin:kotlin-stdlib-jdk8") + } + + target.tasks.withType { + useJUnitPlatform() + } + } +} diff --git a/buildSrc/src/main/kotlin/KotlinProjectPlugin.kt b/buildSrc/src/main/kotlin/KotlinProjectPlugin.kt new file mode 100644 index 00000000..5cec553f --- /dev/null +++ b/buildSrc/src/main/kotlin/KotlinProjectPlugin.kt @@ -0,0 +1,29 @@ +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.dependencies +import org.gradle.kotlin.dsl.withType +import org.jetbrains.kotlin.allopen.gradle.SpringGradleSubplugin +import org.jetbrains.kotlin.gradle.plugin.KotlinBasePlugin +import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformJvmPlugin +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jlleitschuh.gradle.ktlint.KtlintPlugin + +class KotlinProjectPlugin : Plugin { + override fun apply(target: Project) { + target.plugins.apply(JavaProjectPlugin::class.java) + target.plugins.apply(KtlintPlugin::class.java) + target.plugins.apply("kotlin") + target.plugins.apply("kotlin-spring") + + target.dependencies { + add("api", "org.jetbrains.kotlin:kotlin-stdlib-jdk8") + } + + target.tasks.withType { + kotlinOptions.jvmTarget = "1.8" + kotlinOptions.freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn" + } + } +} + diff --git a/buildSrc/src/main/kotlin/LibraryProjectPlugin.kt b/buildSrc/src/main/kotlin/LibraryProjectPlugin.kt new file mode 100644 index 00000000..764d8953 --- /dev/null +++ b/buildSrc/src/main/kotlin/LibraryProjectPlugin.kt @@ -0,0 +1,10 @@ +import org.gradle.api.Plugin +import org.gradle.api.Project + +class LibraryProjectPlugin : Plugin { + override fun apply(target: Project) { + target.plugins.apply(KotlinProjectPlugin::class.java) + + target.group = "com.bybutter.sisyphus" + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/MiddlewareProjectPlugin.kt b/buildSrc/src/main/kotlin/MiddlewareProjectPlugin.kt new file mode 100644 index 00000000..cd4a6fe9 --- /dev/null +++ b/buildSrc/src/main/kotlin/MiddlewareProjectPlugin.kt @@ -0,0 +1,10 @@ +import org.gradle.api.Plugin +import org.gradle.api.Project + +class MiddlewareProjectPlugin : Plugin { + override fun apply(target: Project) { + target.plugins.apply(KotlinProjectPlugin::class.java) + + target.group = "com.bybutter.sisyphus.middleware" + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/StarterProjectPlugin.kt b/buildSrc/src/main/kotlin/StarterProjectPlugin.kt new file mode 100644 index 00000000..5af0bb55 --- /dev/null +++ b/buildSrc/src/main/kotlin/StarterProjectPlugin.kt @@ -0,0 +1,10 @@ +import org.gradle.api.Plugin +import org.gradle.api.Project + +class StarterProjectPlugin : Plugin { + override fun apply(target: Project) { + target.plugins.apply(KotlinProjectPlugin::class.java) + + target.group = "com.bybutter.sisyphus.starter" + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/ToolProjectPlugin.kt b/buildSrc/src/main/kotlin/ToolProjectPlugin.kt new file mode 100644 index 00000000..54871d58 --- /dev/null +++ b/buildSrc/src/main/kotlin/ToolProjectPlugin.kt @@ -0,0 +1,10 @@ +import org.gradle.api.Plugin +import org.gradle.api.Project + +class ToolProjectPlugin : Plugin { + override fun apply(target: Project) { + target.plugins.apply(KotlinProjectPlugin::class.java) + + target.group = "com.bybutter.sisyphus.tools" + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/org/gradle/kotlin/dsl/SisyphusPluginExtensions.kt b/buildSrc/src/main/kotlin/org/gradle/kotlin/dsl/SisyphusPluginExtensions.kt new file mode 100644 index 00000000..8f683aff --- /dev/null +++ b/buildSrc/src/main/kotlin/org/gradle/kotlin/dsl/SisyphusPluginExtensions.kt @@ -0,0 +1,28 @@ +package org.gradle.kotlin.dsl + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-java`: org.gradle.plugin.use.PluginDependencySpec + get() = id("sisyphus.java") + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-kotlin`: org.gradle.plugin.use.PluginDependencySpec + get() = id("sisyphus.kotlin") + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-library`: org.gradle.plugin.use.PluginDependencySpec + get() = id("sisyphus.library") + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-middleware`: org.gradle.plugin.use.PluginDependencySpec + get() = id("sisyphus.middleware") + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-starter`: org.gradle.plugin.use.PluginDependencySpec + get() = id("sisyphus.starter") + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-tools`: org.gradle.plugin.use.PluginDependencySpec + get() = id("sisyphus.tools") + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-gradle-plugin`: org.gradle.plugin.use.PluginDependencySpec + get() = id("sisyphus.plugin") + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-bom`: org.gradle.plugin.use.PluginDependencySpec + get() = id("sisyphus.bom") + +inline val org.gradle.plugin.use.PluginDependenciesSpec.`sisyphus-protobuf`: org.gradle.plugin.use.PluginDependencySpec + get() = id("com.bybutter.sisyphus.protobuf") \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/plugin.kt b/buildSrc/src/main/kotlin/plugin.kt deleted file mode 100644 index 80bc1a62..00000000 --- a/buildSrc/src/main/kotlin/plugin.kt +++ /dev/null @@ -1,5 +0,0 @@ -inline val org.gradle.plugin.use.PluginDependenciesSpec.protobuf: org.gradle.plugin.use.PluginDependencySpec - get() = id("com.bybutter.sisyphus.protobuf") - -inline val org.gradle.plugin.use.PluginDependenciesSpec.sisyphus: org.gradle.plugin.use.PluginDependencySpec - get() = id("com.bybutter.sisyphus.project") \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/project.kt b/buildSrc/src/main/kotlin/project.kt deleted file mode 100644 index c55fbfae..00000000 --- a/buildSrc/src/main/kotlin/project.kt +++ /dev/null @@ -1,100 +0,0 @@ -import com.bybutter.sisyphus.project.gradle.SisyphusProjectPlugin -import org.gradle.api.JavaVersion -import org.gradle.api.Project -import org.gradle.api.plugins.JavaLibraryPlugin -import org.gradle.api.tasks.compile.JavaCompile -import org.gradle.api.tasks.testing.Test -import org.gradle.kotlin.dsl.dependencies -import org.gradle.kotlin.dsl.withType -import org.gradle.plugins.ide.idea.IdeaPlugin -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - -val Project.java: Project - get() { - pluginManager.apply(JavaLibraryPlugin::class.java) - pluginManager.apply(SisyphusProjectPlugin::class.java) - - tasks.withType { - sourceCompatibility = JavaVersion.VERSION_1_8.majorVersion - targetCompatibility = JavaVersion.VERSION_1_8.majorVersion - } - return this - } - -val Project.kotlin: Project - get() { - apply { - plugin("kotlin") - plugin("kotlin-spring") - plugin("org.jlleitschuh.gradle.ktlint") - } - - dependencies { - add("api", "org.jetbrains.kotlin:kotlin-stdlib-jdk8") - add("implementation", "org.jetbrains.kotlin:kotlin-reflect") - } - - tasks.withType { - kotlinOptions.jvmTarget = "1.8" - kotlinOptions.freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn" - } - - return this - } - -val Project.next: Project - get() { - pluginManager.apply(IdeaPlugin::class.java) - - java.kotlin - - tasks.withType { - useJUnitPlatform() - } - - return this - } - -val Project.middleware: Project - get() { - next - - group = "com.bybutter.sisyphus.middleware" - return this - } - -val Project.lib: Project - get() { - next - - group = "com.bybutter.sisyphus" - return this - } - -val Project.starter: Project - get() { - next - - group = "com.bybutter.sisyphus.starter" - return this - } - -val Project.tools: Project - get() { - next - - group = "com.bybutter.sisyphus.tools" - return this - } - -val Project.plugin: Project - get() { - apply { - plugin("com.gradle.plugin-publish") - } - - next - - group = "com.bybutter.sisyphus.tools" - return this - } \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5ddef00e..98bd7727 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -146,5 +146,6 @@ swagger = { module = "io.swagger.core.v3:swagger-core", version.ref = "swagger" kotlinpoet = { module = "com.squareup:kotlinpoet", version.ref = "kotlinpoet" } [plugins] -nebula-maven = { id = "com.netflix.nebula.maven-publish", version.ref = "nebula-publishing" } -nebula-contacts = { id = "com.netflix.nebula.contacts", version.ref = "nebula-contacts" } +nebula-maven = { id = "com.netflix.nebula.maven-publish" } +nebula-contacts = { id = "com.netflix.nebula.contacts" } +sisyphus-project = { id = "com.bybutter.sisyphus.project"} diff --git a/lib/sisyphus-common/build.gradle.kts b/lib/sisyphus-common/build.gradle.kts index 98195712..e277b407 100644 --- a/lib/sisyphus-common/build.gradle.kts +++ b/lib/sisyphus-common/build.gradle.kts @@ -1,12 +1,11 @@ -lib - plugins { - `java-library` + `sisyphus-library` } description = "Common lib of Sisyphus Project" dependencies { + implementation(libs.kotlin.reflect) compileOnly(libs.spring.boot) compileOnly(libs.kotlin.coroutines) } diff --git a/lib/sisyphus-dsl/build.gradle.kts b/lib/sisyphus-dsl/build.gradle.kts index a78a7e3b..00bb3c04 100644 --- a/lib/sisyphus-dsl/build.gradle.kts +++ b/lib/sisyphus-dsl/build.gradle.kts @@ -1,9 +1,7 @@ -lib - plugins { antlr - `java-library` - protobuf + `sisyphus-library` + `sisyphus-protobuf` } description = "Utils and toolkit for building gRPC service easier" @@ -12,6 +10,7 @@ dependencies { api(libs.antlr4.runtime) api(projects.lib.sisyphusGrpc) implementation(projects.lib.sisyphusCommon) + implementation(libs.kotlin.reflect) antlr(libs.antlr4) diff --git a/lib/sisyphus-dto/build.gradle.kts b/lib/sisyphus-dto/build.gradle.kts index 9bb5fb34..8bf5b645 100644 --- a/lib/sisyphus-dto/build.gradle.kts +++ b/lib/sisyphus-dto/build.gradle.kts @@ -1,7 +1,5 @@ -lib - plugins { - `java-library` + `sisyphus-library` } description = "Easy to create struct in Sisyphus" diff --git a/lib/sisyphus-grpc-coroutine/build.gradle.kts b/lib/sisyphus-grpc-coroutine/build.gradle.kts index c8295145..9e3cf469 100644 --- a/lib/sisyphus-grpc-coroutine/build.gradle.kts +++ b/lib/sisyphus-grpc-coroutine/build.gradle.kts @@ -1,8 +1,6 @@ -lib - plugins { - `java-library` - protobuf + `sisyphus-library` + `sisyphus-protobuf` } description = "Sisyphus customized gRPC runtime for Kotlin coroutine(full support)" diff --git a/lib/sisyphus-grpc-rxjava/build.gradle.kts b/lib/sisyphus-grpc-rxjava/build.gradle.kts index 54d63d14..fc5fcc36 100644 --- a/lib/sisyphus-grpc-rxjava/build.gradle.kts +++ b/lib/sisyphus-grpc-rxjava/build.gradle.kts @@ -1,8 +1,6 @@ -lib - plugins { - `java-library` - protobuf + `sisyphus-library` + `sisyphus-protobuf` } description = "Sisyphus customized gRPC runtime for RxJava2(client only)" diff --git a/lib/sisyphus-grpc/build.gradle.kts b/lib/sisyphus-grpc/build.gradle.kts index 287ff332..2e19366c 100644 --- a/lib/sisyphus-grpc/build.gradle.kts +++ b/lib/sisyphus-grpc/build.gradle.kts @@ -1,8 +1,6 @@ -lib - plugins { - `java-library` - protobuf + `sisyphus-library` + `sisyphus-protobuf` } description = "Sisyphus customized gRPC runtime" diff --git a/lib/sisyphus-gson-protobuf/build.gradle.kts b/lib/sisyphus-gson-protobuf/build.gradle.kts index 63b6d0b3..1c6d6fbd 100644 --- a/lib/sisyphus-gson-protobuf/build.gradle.kts +++ b/lib/sisyphus-gson-protobuf/build.gradle.kts @@ -1,7 +1,5 @@ -lib - plugins { - `java-library` + `sisyphus-library` } description = "Gson support for Sisyphus protobuf runtime customized message" diff --git a/lib/sisyphus-jackson-protobuf/build.gradle.kts b/lib/sisyphus-jackson-protobuf/build.gradle.kts index 783196cc..3edd93df 100644 --- a/lib/sisyphus-jackson-protobuf/build.gradle.kts +++ b/lib/sisyphus-jackson-protobuf/build.gradle.kts @@ -1,7 +1,5 @@ -lib - plugins { - `java-library` + `sisyphus-library` } description = "Jackson support for Sisyphus protobuf runtime customized message" diff --git a/lib/sisyphus-jackson/build.gradle.kts b/lib/sisyphus-jackson/build.gradle.kts index b516c900..1b0d4458 100644 --- a/lib/sisyphus-jackson/build.gradle.kts +++ b/lib/sisyphus-jackson/build.gradle.kts @@ -1,7 +1,5 @@ -lib - plugins { - `java-library` + `sisyphus-library` } description = "Jackson utils for Sisyphus" diff --git a/lib/sisyphus-protobuf/build.gradle.kts b/lib/sisyphus-protobuf/build.gradle.kts index a4c6f515..5263f5f5 100644 --- a/lib/sisyphus-protobuf/build.gradle.kts +++ b/lib/sisyphus-protobuf/build.gradle.kts @@ -1,8 +1,6 @@ -lib - plugins { - `java-library` - protobuf + `sisyphus-library` + `sisyphus-protobuf` } description = "Sisyphus customized Protobuf runtime for Kotlin" diff --git a/lib/sisyphus-test/build.gradle.kts b/lib/sisyphus-test/build.gradle.kts index c5613fde..64acabf1 100644 --- a/lib/sisyphus-test/build.gradle.kts +++ b/lib/sisyphus-test/build.gradle.kts @@ -1,8 +1,6 @@ -lib - plugins { - `java-library` - protobuf + `sisyphus-library` + `sisyphus-protobuf` } description = " Test framework for testing gRPC apis in Sisyphus Framework" diff --git a/middleware/sisyphus-amqp/build.gradle.kts b/middleware/sisyphus-amqp/build.gradle.kts index d00b1d53..d1696c5e 100644 --- a/middleware/sisyphus-amqp/build.gradle.kts +++ b/middleware/sisyphus-amqp/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using AMQP in Sisyphus Project" diff --git a/middleware/sisyphus-configuration-artifact/build.gradle.kts b/middleware/sisyphus-configuration-artifact/build.gradle.kts index 5efde690..0aae2733 100644 --- a/middleware/sisyphus-configuration-artifact/build.gradle.kts +++ b/middleware/sisyphus-configuration-artifact/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for manage configuration of Sisyphus Project" diff --git a/middleware/sisyphus-elastic/build.gradle.kts b/middleware/sisyphus-elastic/build.gradle.kts index 1b06eb38..cc79a3e5 100644 --- a/middleware/sisyphus-elastic/build.gradle.kts +++ b/middleware/sisyphus-elastic/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using ElasticSearch in Sisyphus Project" diff --git a/middleware/sisyphus-grpc-client-kubernetes/build.gradle.kts b/middleware/sisyphus-grpc-client-kubernetes/build.gradle.kts index 554f1d41..e740df1a 100644 --- a/middleware/sisyphus-grpc-client-kubernetes/build.gradle.kts +++ b/middleware/sisyphus-grpc-client-kubernetes/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for grpc service discovery of kubernetes in Sisyphus Project" diff --git a/middleware/sisyphus-grpc-client/build.gradle.kts b/middleware/sisyphus-grpc-client/build.gradle.kts index d2cae90e..a2abfd49 100644 --- a/middleware/sisyphus-grpc-client/build.gradle.kts +++ b/middleware/sisyphus-grpc-client/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using gRPC client in Sisyphus Project" diff --git a/middleware/sisyphus-hbase/build.gradle.kts b/middleware/sisyphus-hbase/build.gradle.kts index cf292e16..2384f83b 100644 --- a/middleware/sisyphus-hbase/build.gradle.kts +++ b/middleware/sisyphus-hbase/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using HBase in Sisyphus Project" diff --git a/middleware/sisyphus-jdbc/build.gradle.kts b/middleware/sisyphus-jdbc/build.gradle.kts index 3fdb6f9c..02362952 100644 --- a/middleware/sisyphus-jdbc/build.gradle.kts +++ b/middleware/sisyphus-jdbc/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using JDBC in Sisyphus Project" @@ -12,6 +10,7 @@ dependencies { api(libs.kotlin.coroutines) api(projects.lib.sisyphusDsl) implementation(libs.hikari) + implementation(libs.kotlin.reflect) runtimeOnly(libs.mysql.connector) runtimeOnly(libs.postgresql.connector) diff --git a/middleware/sisyphus-mongo/build.gradle.kts b/middleware/sisyphus-mongo/build.gradle.kts index 5b2d212d..2dd5c96e 100644 --- a/middleware/sisyphus-mongo/build.gradle.kts +++ b/middleware/sisyphus-mongo/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using MongoDB in Sisyphus Project" diff --git a/middleware/sisyphus-redis/build.gradle.kts b/middleware/sisyphus-redis/build.gradle.kts index d2925a5d..b525cd87 100644 --- a/middleware/sisyphus-redis/build.gradle.kts +++ b/middleware/sisyphus-redis/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using Redis cache in Sisyphus Project" diff --git a/middleware/sisyphus-retrofit/build.gradle.kts b/middleware/sisyphus-retrofit/build.gradle.kts index 11e24574..db96bcda 100644 --- a/middleware/sisyphus-retrofit/build.gradle.kts +++ b/middleware/sisyphus-retrofit/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using Retrofit in Sisyphus Project" diff --git a/middleware/sisyphus-rocketmq/build.gradle.kts b/middleware/sisyphus-rocketmq/build.gradle.kts index 6ab21cda..02f94b4f 100644 --- a/middleware/sisyphus-rocketmq/build.gradle.kts +++ b/middleware/sisyphus-rocketmq/build.gradle.kts @@ -1,7 +1,5 @@ -middleware - plugins { - `java-library` + `sisyphus-middleware` } description = "Middleware for using RocketMQ in Sisyphus Project" diff --git a/starter/sisyphus-grpc-openapi-starter/build.gradle.kts b/starter/sisyphus-grpc-openapi-starter/build.gradle.kts index 074e6c48..43e148dd 100644 --- a/starter/sisyphus-grpc-openapi-starter/build.gradle.kts +++ b/starter/sisyphus-grpc-openapi-starter/build.gradle.kts @@ -1,10 +1,8 @@ -starter - plugins { - `java-library` + `sisyphus-starter` } -description = "Starter for building gRPC server which with HTTP and gRPC Transcoding in Sisyphus Framework" +description = "Starter for fastly creating OpenAPI v3 document for sisyphus backend service" dependencies { implementation(projects.starter.sisyphusGrpcTranscodingStarter) diff --git a/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/ApiDocConfig.kt b/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/ApiDocConfig.kt index 5c25e86a..937af96e 100644 --- a/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/ApiDocConfig.kt +++ b/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/ApiDocConfig.kt @@ -15,20 +15,9 @@ import org.springframework.core.type.AnnotationMetadata import org.springframework.http.HttpMethod import org.springframework.web.cors.CorsConfiguration import org.springframework.web.cors.reactive.CorsConfigurationSource -import org.springframework.web.cors.reactive.CorsWebFilter import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource import org.springframework.web.reactive.function.server.RouterFunction -/** - * Config of gRPC transcoding, it will register webflux router and CORS filter based on the gRPC server. - * - * It imported by [EnableHttpToGrpcTranscoding] annotation, and it will found all services registered by - * [ServiceRegistrar], create [TranscodingRouterFunction] and register into spring context for handling - * HTTP requests. - * - * Also, CORS requests have been supported too, it will analyze service and register [CorsWebFilter] based - * on [TranscodingCorsConfigurationSource] into spring context. - */ @Configuration class ApiDocConfig : ImportBeanDefinitionRegistrar, EnvironmentAware { private lateinit var environment: Environment diff --git a/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/ApiDocConfigArtifactPropertyExporter.kt b/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/ApiDocConfigArtifactPropertyExporter.kt index 5965a3dd..17cf5e44 100644 --- a/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/ApiDocConfigArtifactPropertyExporter.kt +++ b/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/ApiDocConfigArtifactPropertyExporter.kt @@ -3,7 +3,7 @@ package com.bybutter.sisyphus.starter.grpc.openapi import com.bybutter.sisyphus.middleware.configuration.ConfigFormatFilePropertyExporter /** - * The configuration of swagger uses 'swagger/config' by default. + * The configuration of swagger uses 'openapi/config' by default. * This configuration can be overridden in the application. * */ object ApiDocConfigArtifactPropertyExporter : ConfigFormatFilePropertyExporter() { diff --git a/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/OpenApiBuilder.kt b/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/OpenApiBuilder.kt index 67b3d0cb..ca98aab1 100644 --- a/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/OpenApiBuilder.kt +++ b/starter/sisyphus-grpc-openapi-starter/src/main/kotlin/com/bybutter/sisyphus/starter/grpc/openapi/OpenApiBuilder.kt @@ -67,7 +67,7 @@ fun openApi(init: OpenApiBuilder.() -> Unit): OpenAPI { return OpenApiBuilder().apply(init).build() } -class OpenApiBuilder() { +class OpenApiBuilder { private val openApi = OpenAPI().apply { paths = Paths() components = Components() diff --git a/starter/sisyphus-grpc-server-starter/build.gradle.kts b/starter/sisyphus-grpc-server-starter/build.gradle.kts index 40af9ba2..6dd45eab 100644 --- a/starter/sisyphus-grpc-server-starter/build.gradle.kts +++ b/starter/sisyphus-grpc-server-starter/build.gradle.kts @@ -1,8 +1,6 @@ -starter - plugins { - `java-library` - protobuf + `sisyphus-starter` + `sisyphus-protobuf` } description = "Starter for building gRPC server in Sisyphus Framework" diff --git a/starter/sisyphus-grpc-transcoding-starter/build.gradle.kts b/starter/sisyphus-grpc-transcoding-starter/build.gradle.kts index 66ec8ead..aaec2d7c 100644 --- a/starter/sisyphus-grpc-transcoding-starter/build.gradle.kts +++ b/starter/sisyphus-grpc-transcoding-starter/build.gradle.kts @@ -1,7 +1,5 @@ -starter - plugins { - `java-library` + `sisyphus-starter` } description = "Starter for building gRPC server which with HTTP and gRPC Transcoding in Sisyphus Framework" diff --git a/starter/sisyphus-jackson-starter/build.gradle.kts b/starter/sisyphus-jackson-starter/build.gradle.kts index e7870faf..fc0df776 100644 --- a/starter/sisyphus-jackson-starter/build.gradle.kts +++ b/starter/sisyphus-jackson-starter/build.gradle.kts @@ -1,7 +1,5 @@ -starter - plugins { - `java-library` + `sisyphus-starter` } description = "Starter for configuring HttpMessageEncoder with Jackson in Sisyphus Framework" diff --git a/starter/sisyphus-protobuf-type-server-starter/build.gradle.kts b/starter/sisyphus-protobuf-type-server-starter/build.gradle.kts index fe1396a0..de3b1920 100644 --- a/starter/sisyphus-protobuf-type-server-starter/build.gradle.kts +++ b/starter/sisyphus-protobuf-type-server-starter/build.gradle.kts @@ -1,7 +1,5 @@ -starter - plugins { - `java-library` + `sisyphus-starter` } description = "Starter for build application with Protobuf type server in Sisyphus Framework" diff --git a/starter/sisyphus-spring-boot-test-starter/build.gradle.kts b/starter/sisyphus-spring-boot-test-starter/build.gradle.kts index 2a9c4d65..c895399e 100644 --- a/starter/sisyphus-spring-boot-test-starter/build.gradle.kts +++ b/starter/sisyphus-spring-boot-test-starter/build.gradle.kts @@ -1,7 +1,5 @@ -starter - plugins { - `java-library` + `sisyphus-starter` } description = "Starter for configure spring boot environment in Sisyphus Test Framework" diff --git a/starter/sisyphus-webflux-starter/build.gradle.kts b/starter/sisyphus-webflux-starter/build.gradle.kts index 95f5c64f..a088bccf 100644 --- a/starter/sisyphus-webflux-starter/build.gradle.kts +++ b/starter/sisyphus-webflux-starter/build.gradle.kts @@ -1,7 +1,5 @@ -starter - plugins { - `java-library` + `sisyphus-starter` } description = "Starter for build application with String Webflux in Sisyphus Framework" diff --git a/tools/sisyphus-k8s-gradle-plugin/build.gradle.kts b/tools/sisyphus-k8s-gradle-plugin/build.gradle.kts index 68cb223f..7863bbb8 100644 --- a/tools/sisyphus-k8s-gradle-plugin/build.gradle.kts +++ b/tools/sisyphus-k8s-gradle-plugin/build.gradle.kts @@ -1,9 +1,5 @@ -plugin - plugins { - `java-library` - `java-gradle-plugin` - id("com.gradle.plugin-publish") + `sisyphus-gradle-plugin` } description = "Plugin for easy deploying and debugging docker image on Kubernetes cluster" diff --git a/tools/sisyphus-protoc-runner/build.gradle.kts b/tools/sisyphus-protoc-runner/build.gradle.kts index e956b59f..642ef03c 100644 --- a/tools/sisyphus-protoc-runner/build.gradle.kts +++ b/tools/sisyphus-protoc-runner/build.gradle.kts @@ -1,7 +1,5 @@ -tools - plugins { - `java-library` + `sisyphus-tools` } description = "Runner and executable manager for protoc" diff --git a/tools/sisyphus-protoc/build.gradle.kts b/tools/sisyphus-protoc/build.gradle.kts index ba6bdd4a..75f87a5c 100644 --- a/tools/sisyphus-protoc/build.gradle.kts +++ b/tools/sisyphus-protoc/build.gradle.kts @@ -1,7 +1,5 @@ -tools - plugins { - `java-library` + `sisyphus-tools` } description = "Proto compiler for Sisyphus customized Protobuf runtime"