From f7c809b557300d238bd8344cf19821cf24b45926 Mon Sep 17 00:00:00 2001 From: siujamo Date: Fri, 21 Mar 2025 10:33:52 +0800 Subject: [PATCH 1/3] refactor: renamed module simple-serial to simple-serial-spring-boot-starter and removed build scripts in root build.gradle.kts --- build.gradle.kts | 43 +------------- devkit-core/build.gradle.kts | 31 +++++++++- devkit-utils/build.gradle.kts | 32 +++++++++- guid/build.gradle.kts | 32 +++++++++- key-pair-loader/build.gradle.kts | 33 +++++++++-- map-util-unsafe/build.gradle.kts | 33 +++++++++-- num4j/build.gradle.kts | 33 +++++++++-- .../build.gradle.kts | 45 ++++++++++---- settings.gradle.kts | 2 +- simple-jwt-authzero/build.gradle.kts | 49 +++++++++++---- simple-jwt-facade/build.gradle.kts | 38 ++++++++++-- .../build.gradle.kts | 44 ++++++++++++-- .../README.md | 0 .../build.gradle.kts | 59 +++++++++++++++---- .../java/com/onixbyte/serial/RedisConfig.java | 0 .../com/onixbyte/serial/SerialService.java | 0 .../serial/properties/SerialProperties.java | 0 ...ot.autoconfigure.AutoConfiguration.imports | 0 .../src/main/resources/logback.xml | 0 19 files changed, 366 insertions(+), 108 deletions(-) rename {simple-serial => simple-serial-spring-boot-starter}/README.md (100%) rename {simple-serial => simple-serial-spring-boot-starter}/build.gradle.kts (70%) rename {simple-serial => simple-serial-spring-boot-starter}/src/main/java/com/onixbyte/serial/RedisConfig.java (100%) rename {simple-serial => simple-serial-spring-boot-starter}/src/main/java/com/onixbyte/serial/SerialService.java (100%) rename {simple-serial => simple-serial-spring-boot-starter}/src/main/java/com/onixbyte/serial/properties/SerialProperties.java (100%) rename {simple-serial => simple-serial-spring-boot-starter}/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports (100%) rename {simple-serial => simple-serial-spring-boot-starter}/src/main/resources/logback.xml (100%) diff --git a/build.gradle.kts b/build.gradle.kts index 266e688..b76a169 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,45 +13,4 @@ * * See the License for the specific language governing permissions and * limitations under the License. - */ - -val logbackVersion: String by project -val junitVersion: String by project -val slf4jVersion: String by project -val lombokVersion: String by project - -subprojects { - apply(plugin = "java") - apply(plugin = "java-library") - apply(plugin = "maven-publish") - apply(plugin = "signing") - - val implementation by configurations - val testImplementation by configurations - val compileOnly by configurations - val annotationProcessor by configurations - val testAnnotationProcessor by configurations - val testCompileOnly by configurations - - tasks.withType { - exclude("logback.xml") - } - - repositories { - mavenCentral() - } - - dependencies { - compileOnly("org.slf4j:slf4j-api:$slf4jVersion") - implementation("ch.qos.logback:logback-classic:$logbackVersion") - annotationProcessor("org.slf4j:slf4j-api:$slf4jVersion") - - testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") - testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") - testAnnotationProcessor("org.slf4j:slf4j-api:$slf4jVersion") - } - - tasks.withType { - options.encoding = "UTF-8" - } -} \ No newline at end of file + */ \ No newline at end of file diff --git a/devkit-core/build.gradle.kts b/devkit-core/build.gradle.kts index 70c87a2..bbef4ec 100644 --- a/devkit-core/build.gradle.kts +++ b/devkit-core/build.gradle.kts @@ -15,7 +15,12 @@ * limitations under the License. */ -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -26,6 +31,10 @@ val licenseUrl: String by project group = "com.onixbyte" version = artefactVersion +repositories { + mavenCentral() +} + java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 @@ -33,6 +42,26 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/devkit-utils/build.gradle.kts b/devkit-utils/build.gradle.kts index 0a8fd0f..a7468b5 100644 --- a/devkit-utils/build.gradle.kts +++ b/devkit-utils/build.gradle.kts @@ -15,7 +15,12 @@ * limitations under the License. */ -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -26,8 +31,8 @@ val licenseUrl: String by project group = "com.onixbyte" version = artefactVersion -dependencies { - implementation(project(":devkit-core")) +repositories { + mavenCentral() } java { @@ -37,6 +42,27 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + implementation(project(":devkit-core")) + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/guid/build.gradle.kts b/guid/build.gradle.kts index ccae9fb..c056445 100644 --- a/guid/build.gradle.kts +++ b/guid/build.gradle.kts @@ -15,7 +15,12 @@ * limitations under the License. */ -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -26,8 +31,8 @@ val licenseUrl: String by project group = "com.onixbyte" version = artefactVersion -dependencies { - implementation(project(":devkit-core")) +repositories { + mavenCentral() } java { @@ -37,6 +42,27 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + implementation(project(":devkit-core")) + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/key-pair-loader/build.gradle.kts b/key-pair-loader/build.gradle.kts index 9c53390..6c56d71 100644 --- a/key-pair-loader/build.gradle.kts +++ b/key-pair-loader/build.gradle.kts @@ -14,8 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -26,8 +30,8 @@ val licenseUrl: String by project group = "com.onixbyte" version = artefactVersion -dependencies { - implementation(project(":devkit-core")) +repositories { + mavenCentral() } java { @@ -37,6 +41,27 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + implementation(project(":devkit-core")) + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/map-util-unsafe/build.gradle.kts b/map-util-unsafe/build.gradle.kts index c3433c9..e30e3ad 100644 --- a/map-util-unsafe/build.gradle.kts +++ b/map-util-unsafe/build.gradle.kts @@ -14,8 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -26,8 +30,8 @@ val licenseUrl: String by project group = "com.onixbyte" version = artefactVersion -dependencies { - implementation(project(":devkit-core")) +repositories { + mavenCentral() } java { @@ -37,6 +41,27 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + implementation(project(":devkit-core")) + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/num4j/build.gradle.kts b/num4j/build.gradle.kts index 977c683..3662868 100644 --- a/num4j/build.gradle.kts +++ b/num4j/build.gradle.kts @@ -14,8 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -26,8 +30,8 @@ val licenseUrl: String by project group = "com.onixbyte" version = artefactVersion -dependencies { - implementation(project(":devkit-core")) +repositories { + mavenCentral() } java { @@ -37,6 +41,27 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + implementation(project(":devkit-core")) + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/property-guard-spring-boot-starter/build.gradle.kts b/property-guard-spring-boot-starter/build.gradle.kts index 33214a5..d91e0b9 100644 --- a/property-guard-spring-boot-starter/build.gradle.kts +++ b/property-guard-spring-boot-starter/build.gradle.kts @@ -14,8 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -23,17 +27,11 @@ val projectGithubUrl: String by project val licenseName: String by project val licenseUrl: String by project -val springBootVersion: String by project - group = "com.onixbyte" version = artefactVersion -dependencies { - implementation(project(":devkit-utils")) - implementation("org.springframework.boot:spring-boot-autoconfigure:$springBootVersion") - implementation("org.springframework.boot:spring-boot-starter-logging:$springBootVersion") - implementation("org.springframework.boot:spring-boot-configuration-processor:$springBootVersion") - testImplementation("org.springframework.boot:spring-boot-starter-test:$springBootVersion") +repositories { + mavenCentral() } java { @@ -43,6 +41,33 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + val springBootVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + implementation(project(":devkit-core")) + implementation(project(":devkit-utils")) + implementation("org.springframework.boot:spring-boot-autoconfigure:$springBootVersion") + implementation("org.springframework.boot:spring-boot-starter-logging:$springBootVersion") + implementation("org.springframework.boot:spring-boot-configuration-processor:$springBootVersion") + + testImplementation("org.springframework.boot:spring-boot-starter-test:$springBootVersion") + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/settings.gradle.kts b/settings.gradle.kts index 084a020..7157815 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -28,5 +28,5 @@ include( "simple-jwt-authzero", "simple-jwt-spring-boot-starter", "property-guard-spring-boot-starter", - "simple-serial" + "simple-serial-spring-boot-starter" ) diff --git a/simple-jwt-authzero/build.gradle.kts b/simple-jwt-authzero/build.gradle.kts index 20686b2..f93dc8f 100644 --- a/simple-jwt-authzero/build.gradle.kts +++ b/simple-jwt-authzero/build.gradle.kts @@ -14,8 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -23,19 +27,11 @@ val projectGithubUrl: String by project val licenseName: String by project val licenseUrl: String by project -val jacksonVersion: String by project -val javaJwtVersion: String by project - group = "com.onixbyte" version = artefactVersion -dependencies { - implementation(project(":devkit-utils")) - implementation(project(":guid")) - implementation(project(":key-pair-loader")) - implementation(project(":simple-jwt-facade")) - implementation("com.fasterxml.jackson.core:jackson-databind:$jacksonVersion") - implementation("com.auth0:java-jwt:$javaJwtVersion") +repositories { + mavenCentral() } java { @@ -45,6 +41,35 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + val jacksonVersion: String by project + val javaJwtVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + + implementation(project(":devkit-utils")) + implementation(project(":guid")) + implementation(project(":key-pair-loader")) + implementation(project(":simple-jwt-facade")) + implementation("com.fasterxml.jackson.core:jackson-databind:$jacksonVersion") + implementation("com.auth0:java-jwt:$javaJwtVersion") + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/simple-jwt-facade/build.gradle.kts b/simple-jwt-facade/build.gradle.kts index 772d72e..467101a 100644 --- a/simple-jwt-facade/build.gradle.kts +++ b/simple-jwt-facade/build.gradle.kts @@ -14,8 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -26,10 +30,8 @@ val licenseUrl: String by project group = "com.onixbyte" version = artefactVersion -dependencies { - implementation(project(":devkit-core")) - implementation(project(":devkit-utils")) - implementation(project(":guid")) +repositories { + mavenCentral() } java { @@ -39,6 +41,30 @@ java { withJavadocJar() } +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + +dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + + implementation(project(":devkit-core")) + implementation(project(":devkit-utils")) + implementation(project(":guid")) + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") +} + tasks.test { useJUnitPlatform() } diff --git a/simple-jwt-spring-boot-starter/build.gradle.kts b/simple-jwt-spring-boot-starter/build.gradle.kts index 753c3e1..075d2a1 100644 --- a/simple-jwt-spring-boot-starter/build.gradle.kts +++ b/simple-jwt-spring-boot-starter/build.gradle.kts @@ -14,8 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import java.net.URI +plugins { + java + id("java-library") + id("maven-publish") + id("signing") +} val artefactVersion: String by project val projectUrl: String by project @@ -23,14 +27,39 @@ val projectGithubUrl: String by project val licenseName: String by project val licenseUrl: String by project -val javaJwtVersion: String by project -val jacksonVersion: String by project -val springBootVersion: String by project - group = "com.onixbyte" version = artefactVersion +repositories { + mavenCentral() +} + +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + withSourcesJar() + withJavadocJar() +} + +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + val javaJwtVersion: String by project + val jacksonVersion: String by project + val springBootVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + implementation(project(":guid")) implementation(project(":simple-jwt-facade")) compileOnly("com.auth0:java-jwt:$javaJwtVersion") @@ -40,6 +69,9 @@ dependencies { implementation("org.springframework.boot:spring-boot-starter-logging:$springBootVersion") implementation("org.springframework.boot:spring-boot-configuration-processor:$springBootVersion") annotationProcessor("org.springframework.boot:spring-boot-configuration-processor:$springBootVersion") + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") testImplementation("org.springframework.boot:spring-boot-starter-test:$springBootVersion") } diff --git a/simple-serial/README.md b/simple-serial-spring-boot-starter/README.md similarity index 100% rename from simple-serial/README.md rename to simple-serial-spring-boot-starter/README.md diff --git a/simple-serial/build.gradle.kts b/simple-serial-spring-boot-starter/build.gradle.kts similarity index 70% rename from simple-serial/build.gradle.kts rename to simple-serial-spring-boot-starter/build.gradle.kts index 36f1eda..e8b5cef 100644 --- a/simple-serial/build.gradle.kts +++ b/simple-serial-spring-boot-starter/build.gradle.kts @@ -1,7 +1,25 @@ -import java.net.URI +/* + * Copyright (C) 2024-2025 OnixByte. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ plugins { - id("java") + java + id("java-library") + id("maven-publish") + id("signing") } val artefactVersion: String by project @@ -10,9 +28,6 @@ val projectGithubUrl: String by project val licenseName: String by project val licenseUrl: String by project -val jacksonVersion: String by project -val springBootVersion: String by project - group = "com.onixbyte" version = artefactVersion @@ -20,25 +35,45 @@ repositories { mavenCentral() } +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + withSourcesJar() + withJavadocJar() +} + +tasks.withType { + options.encoding = "UTF-8" +} + +tasks.withType { + exclude("logback.xml") +} + dependencies { + val slf4jVersion: String by project + val logbackVersion: String by project + val junitVersion: String by project + val jacksonVersion: String by project + val springBootVersion: String by project + + compileOnly("org.slf4j:slf4j-api:$slf4jVersion") + implementation("ch.qos.logback:logback-classic:$logbackVersion") + implementation("com.fasterxml.jackson.core:jackson-databind:$jacksonVersion") implementation("org.springframework.boot:spring-boot-autoconfigure:$springBootVersion") implementation("org.springframework.boot:spring-boot-starter-logging:$springBootVersion") implementation("org.springframework.boot:spring-boot-configuration-processor:$springBootVersion") implementation("org.springframework.boot:spring-boot-starter-data-redis:$springBootVersion") annotationProcessor("org.springframework.boot:spring-boot-configuration-processor:$springBootVersion") + + testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion") + testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion") testImplementation("org.springframework.boot:spring-boot-starter-test:$springBootVersion") testImplementation(platform("org.junit:junit-bom:5.10.0")) testImplementation("org.junit.jupiter:junit-jupiter") } -java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - withSourcesJar() - withJavadocJar() -} - tasks.test { useJUnitPlatform() } diff --git a/simple-serial/src/main/java/com/onixbyte/serial/RedisConfig.java b/simple-serial-spring-boot-starter/src/main/java/com/onixbyte/serial/RedisConfig.java similarity index 100% rename from simple-serial/src/main/java/com/onixbyte/serial/RedisConfig.java rename to simple-serial-spring-boot-starter/src/main/java/com/onixbyte/serial/RedisConfig.java diff --git a/simple-serial/src/main/java/com/onixbyte/serial/SerialService.java b/simple-serial-spring-boot-starter/src/main/java/com/onixbyte/serial/SerialService.java similarity index 100% rename from simple-serial/src/main/java/com/onixbyte/serial/SerialService.java rename to simple-serial-spring-boot-starter/src/main/java/com/onixbyte/serial/SerialService.java diff --git a/simple-serial/src/main/java/com/onixbyte/serial/properties/SerialProperties.java b/simple-serial-spring-boot-starter/src/main/java/com/onixbyte/serial/properties/SerialProperties.java similarity index 100% rename from simple-serial/src/main/java/com/onixbyte/serial/properties/SerialProperties.java rename to simple-serial-spring-boot-starter/src/main/java/com/onixbyte/serial/properties/SerialProperties.java diff --git a/simple-serial/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/simple-serial-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports similarity index 100% rename from simple-serial/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename to simple-serial-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports diff --git a/simple-serial/src/main/resources/logback.xml b/simple-serial-spring-boot-starter/src/main/resources/logback.xml similarity index 100% rename from simple-serial/src/main/resources/logback.xml rename to simple-serial-spring-boot-starter/src/main/resources/logback.xml From ef8cde211de94855d995f6229d20d62febb83419 Mon Sep 17 00:00:00 2001 From: siujamo Date: Fri, 21 Mar 2025 11:16:17 +0800 Subject: [PATCH 2/3] feat: moved devkit-bom inside this project --- devkit-bom/README.md | 46 ++++++++ devkit-bom/build.gradle.kts | 105 ++++++++++++++++++ devkit-core/build.gradle.kts | 1 + devkit-utils/build.gradle.kts | 1 + gradle.properties | 14 +-- guid/build.gradle.kts | 1 + key-pair-loader/build.gradle.kts | 2 + map-util-unsafe/build.gradle.kts | 2 + num4j/build.gradle.kts | 2 + .../build.gradle.kts | 2 + settings.gradle.kts | 1 + simple-jwt-authzero/build.gradle.kts | 2 + simple-jwt-facade/build.gradle.kts | 2 + .../build.gradle.kts | 2 + .../build.gradle.kts | 1 + 15 files changed, 177 insertions(+), 7 deletions(-) create mode 100644 devkit-bom/README.md create mode 100644 devkit-bom/build.gradle.kts diff --git a/devkit-bom/README.md b/devkit-bom/README.md new file mode 100644 index 0000000..5cfbbb6 --- /dev/null +++ b/devkit-bom/README.md @@ -0,0 +1,46 @@ +# DevKit BOM + +The devkit-bom (Bill of Materials) is a Maven POM file provided by OnixByte to manage dependency versions for the DevKit suite of libraries. By incorporating this BOM into your build configuration, you can ensure consistent versioning across all included dependencies without needing to specify versions explicitly in your project files. Published with Gradle metadata, this BOM supports both Maven and Gradle projects, and this document outlines how to integrate and use it effectively in both ecosystems. + +## Using in Maven + +Add the `devkit-bom` to your `pom.xml` under ``: + +```xml + + + + com.onixbyte + devkit-bom + ${devkit-version} + pom + import + + + +``` + +Then reference dependencies like `devkit-core` without a version. + +## Using in Gradle + +In your `build.gradle[.kts]`, apply the BOM using the `platform` dependency: + +```groovy +dependencies { + implementation platform('com.onixbyte:devkit-bom:2.0.0') + implementation 'com.onixbyte:devkit-core' + implementation 'com.onixbyte:devkit-utils' +} +``` + +If you are using Kotlin DSL: + +```kotlin +dependencies { + implementation(platform("com.onixbyte:devkit-bom:2.0.0")) + implementation("com.onixbyte:devkit-core") + implementation("com.onixbyte:devkit-utils") +} +``` + diff --git a/devkit-bom/build.gradle.kts b/devkit-bom/build.gradle.kts new file mode 100644 index 0000000..2d425cd --- /dev/null +++ b/devkit-bom/build.gradle.kts @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2024-2025 OnixByte. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.net.URI + +plugins { + id("java-platform") + id("maven-publish") + id("signing") +} + +val artefactVersion: String by project + +group = "com.onixbyte" +version = artefactVersion + +repositories { + mavenCentral() +} + +dependencies { + constraints { + api("com.onixbyte:devkit-core:$artefactVersion") + api("com.onixbyte:devkit-utils:$artefactVersion") + api("com.onixbyte:guid:$artefactVersion") + api("com.onixbyte:key-pair-loader:$artefactVersion") + api("com.onixbyte:map-util-unsafe:$artefactVersion") + api("com.onixbyte:num4j:$artefactVersion") + api("com.onixbyte:simple-jwt-facade:$artefactVersion") + api("com.onixbyte:simple-jwt-authzero:$artefactVersion") + api("com.onixbyte:simple-jwt-spring-boot-starter:$artefactVersion") + api("com.onixbyte:property-guard-spring-boot-starter:$artefactVersion") + api("com.onixbyte:simple-serial-spring-boot-starter:$artefactVersion") + } +} + +publishing { + publications { + create("devkitBom") { + groupId = group.toString() + artifactId = "devkit-bom" + version = artefactVersion + + pom { + name = "DevKit BOM" + description = "Using BOM could use unified OnixByte JDevKit." + url = "https://github.com/OnixByte/devkit-bom" + + licenses { + license { + name = "The Apache License, Version 2.0" + url = "https://www.apache.org/licenses/LICENSE-2.0.txt" + } + } + + scm { + connection = "scm:git:git://github.com:OnixByte/devkit-bom.git" + developerConnection = "scm:git:git://github.com:OnixByte/devkit-bom.git" + url = "https://github.com/OnixByte/devkit-bom" + } + + developers { + developer { + id = "zihluwang" + name = "Zihlu Wang" + email = "zihlu.wang@onixbyte.com" + timezone = "Asia/Hong_Kong" + } + } + } + + print(components) + + from(components["javaPlatform"]) + + signing { + sign(publishing.publications["devkitBom"]) + } + } + + repositories { + maven { + name = "sonatypeNexus" + url = URI(providers.gradleProperty("repo.maven-central.host").get()) + credentials { + username = providers.gradleProperty("repo.maven-central.username").get() + password = providers.gradleProperty("repo.maven-central.password").get() + } + } + } + } +} \ No newline at end of file diff --git a/devkit-core/build.gradle.kts b/devkit-core/build.gradle.kts index bbef4ec..f71a423 100644 --- a/devkit-core/build.gradle.kts +++ b/devkit-core/build.gradle.kts @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI plugins { java diff --git a/devkit-utils/build.gradle.kts b/devkit-utils/build.gradle.kts index a7468b5..190d2e4 100644 --- a/devkit-utils/build.gradle.kts +++ b/devkit-utils/build.gradle.kts @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI plugins { java diff --git a/gradle.properties b/gradle.properties index 85f12ee..b508e98 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,16 +15,16 @@ # limitations under the License. # +artefactVersion=2.0.0 +projectUrl=https://onixbyte.com/JDevKit +projectGithubUrl=https://github.com/OnixByte/JDevKit +licenseName=The Apache License, Version 2.0 +licenseUrl=https://www.apache.org/licenses/LICENSE-2.0.txt + jacksonVersion=2.18.2 javaJwtVersion=4.4.0 junitVersion=5.11.4 logbackVersion=1.5.16 slf4jVersion=2.0.16 springVersion=6.2.2 -springBootVersion=3.4.2 - -artefactVersion=2.0.0 -projectUrl=https://onixbyte.com/JDevKit -projectGithubUrl=https://github.com/OnixByte/JDevKit -licenseName=The Apache License, Version 2.0 -licenseUrl=https://www.apache.org/licenses/LICENSE-2.0.txt \ No newline at end of file +springBootVersion=3.4.2 \ No newline at end of file diff --git a/guid/build.gradle.kts b/guid/build.gradle.kts index c056445..84cda10 100644 --- a/guid/build.gradle.kts +++ b/guid/build.gradle.kts @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI plugins { java diff --git a/key-pair-loader/build.gradle.kts b/key-pair-loader/build.gradle.kts index 6c56d71..22e769c 100644 --- a/key-pair-loader/build.gradle.kts +++ b/key-pair-loader/build.gradle.kts @@ -14,6 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI + plugins { java id("java-library") diff --git a/map-util-unsafe/build.gradle.kts b/map-util-unsafe/build.gradle.kts index e30e3ad..7d46c88 100644 --- a/map-util-unsafe/build.gradle.kts +++ b/map-util-unsafe/build.gradle.kts @@ -14,6 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI + plugins { java id("java-library") diff --git a/num4j/build.gradle.kts b/num4j/build.gradle.kts index 3662868..60c0bd2 100644 --- a/num4j/build.gradle.kts +++ b/num4j/build.gradle.kts @@ -14,6 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI + plugins { java id("java-library") diff --git a/property-guard-spring-boot-starter/build.gradle.kts b/property-guard-spring-boot-starter/build.gradle.kts index d91e0b9..8db0a5e 100644 --- a/property-guard-spring-boot-starter/build.gradle.kts +++ b/property-guard-spring-boot-starter/build.gradle.kts @@ -14,6 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI + plugins { java id("java-library") diff --git a/settings.gradle.kts b/settings.gradle.kts index 7157815..794f015 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,6 +18,7 @@ rootProject.name = "JDevKit" include( + "devkit-bom", "devkit-core", "devkit-utils", "guid", diff --git a/simple-jwt-authzero/build.gradle.kts b/simple-jwt-authzero/build.gradle.kts index f93dc8f..0a9e4a0 100644 --- a/simple-jwt-authzero/build.gradle.kts +++ b/simple-jwt-authzero/build.gradle.kts @@ -14,6 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI + plugins { java id("java-library") diff --git a/simple-jwt-facade/build.gradle.kts b/simple-jwt-facade/build.gradle.kts index 467101a..147d9fd 100644 --- a/simple-jwt-facade/build.gradle.kts +++ b/simple-jwt-facade/build.gradle.kts @@ -14,6 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI + plugins { java id("java-library") diff --git a/simple-jwt-spring-boot-starter/build.gradle.kts b/simple-jwt-spring-boot-starter/build.gradle.kts index 075d2a1..5e9a94d 100644 --- a/simple-jwt-spring-boot-starter/build.gradle.kts +++ b/simple-jwt-spring-boot-starter/build.gradle.kts @@ -14,6 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI + plugins { java id("java-library") diff --git a/simple-serial-spring-boot-starter/build.gradle.kts b/simple-serial-spring-boot-starter/build.gradle.kts index e8b5cef..a2e1961 100644 --- a/simple-serial-spring-boot-starter/build.gradle.kts +++ b/simple-serial-spring-boot-starter/build.gradle.kts @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.net.URI plugins { java From fc802b11d7c71455ef22af1128acb405ebd78421 Mon Sep 17 00:00:00 2001 From: siujamo Date: Fri, 21 Mar 2025 11:22:07 +0800 Subject: [PATCH 3/3] refactor: values must use project variables --- devkit-bom/build.gradle.kts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/devkit-bom/build.gradle.kts b/devkit-bom/build.gradle.kts index 2d425cd..68fab50 100644 --- a/devkit-bom/build.gradle.kts +++ b/devkit-bom/build.gradle.kts @@ -23,6 +23,10 @@ plugins { } val artefactVersion: String by project +val projectUrl: String by project +val projectGithubUrl: String by project +val licenseName: String by project +val licenseUrl: String by project group = "com.onixbyte" version = artefactVersion @@ -57,19 +61,19 @@ publishing { pom { name = "DevKit BOM" description = "Using BOM could use unified OnixByte JDevKit." - url = "https://github.com/OnixByte/devkit-bom" + url = projectUrl licenses { license { - name = "The Apache License, Version 2.0" - url = "https://www.apache.org/licenses/LICENSE-2.0.txt" + name = licenseName + url = licenseUrl } } scm { connection = "scm:git:git://github.com:OnixByte/devkit-bom.git" developerConnection = "scm:git:git://github.com:OnixByte/devkit-bom.git" - url = "https://github.com/OnixByte/devkit-bom" + url = projectGithubUrl } developers {