diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1d62f8a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# EditorConfig is awesome: https://EditorConfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{kt,kts}] +ktlint_standard_no-wildcard-imports = disabled \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 0265444..cc82a3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Dependency update: - [Kotlin 1.9.10](https://kotlinlang.org/docs/whatsnew19.html) - [Gradle-8.7](https://docs.gradle.org/8.7/release-notes.html) + - [Android Gradle Plugin 8.2.2](https://developer.android.com/build/releases/past-releases/agp-8-2-0-release-notes) ## [1.2.3] - 2022-10-12 ### Changed diff --git a/build.gradle.kts b/build.gradle.kts index 43991e0..4fcc608 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,4 @@ plugins { - kotlin("jvm") version "1.9.10" - id("com.android.library") version "7.3.0" apply false id("com.diffplug.spotless") version "6.21.0" id("com.github.ben-manes.versions") version "0.48.0" } @@ -11,9 +9,17 @@ spotless { propertiesFile("gradle.properties") } kotlin { - ktlint() + target("**/*.kt") + ktlint().setEditorConfigPath(".editorconfig") } kotlinGradle { - ktlint() + ktlint().setEditorConfigPath(".editorconfig") + } +} + +tasks.withType { + rejectVersionIf { + fun isStable(version: String) = Regex("^[0-9,.v-]+(-r)?$").matches(version) + !isStable(candidate.version) && isStable(currentVersion) } } diff --git a/log4k-slf4j/build.gradle.kts b/log4k-slf4j/build.gradle.kts index 61ae50c..646c499 100644 --- a/log4k-slf4j/build.gradle.kts +++ b/log4k-slf4j/build.gradle.kts @@ -32,37 +32,26 @@ kotlin { sourceSets["jvmMain"].dependencies { implementation("org.slf4j:slf4j-api:1.7.36") } - - targets.withType(org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithSimulatorTests::class.java) { - testRuns["test"].deviceId = "iPhone 14" - } } +java.toolchain.languageVersion.set(JavaLanguageVersion.of(17)) + android { - buildToolsVersion = "33.0.0" - compileSdk = 33 + namespace = "saschpe.log4k.slf4j" defaultConfig { + compileSdk = 33 minSdk = 17 - targetSdk = 33 } - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - - testCoverage.jacocoVersion = "0.8.8" + testCoverage.jacocoVersion = "0.8.10" } group = "de.peilicke.sascha" version = "1.2.3" -val javadocJar by tasks.registering(Jar::class) { - archiveClassifier.set("javadoc") -} - publishing { publications.withType { - artifact(javadocJar.get()) - pom { name.set("Log4K-SLF4J") description.set("Lightweight logging library for Kotlin/Multiplatform - SLF4J integration. Supports Android, iOS, JavaScript and plain JVM environments.") diff --git a/log4k-slf4j/src/androidMain/AndroidManifest.xml b/log4k-slf4j/src/androidMain/AndroidManifest.xml deleted file mode 100644 index f087e97..0000000 --- a/log4k-slf4j/src/androidMain/AndroidManifest.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/log4k-slf4j/src/androidMain/kotlin/saschpe/log4k/slf4j/MDC.kt b/log4k-slf4j/src/androidMain/kotlin/saschpe/log4k/slf4j/MDC.kt index 8e5610e..14ac776 100644 --- a/log4k-slf4j/src/androidMain/kotlin/saschpe/log4k/slf4j/MDC.kt +++ b/log4k-slf4j/src/androidMain/kotlin/saschpe/log4k/slf4j/MDC.kt @@ -8,4 +8,4 @@ actual object MDC { actual fun remove(key: String) = org.slf4j.MDC.remove(key) actual fun clear() = org.slf4j.MDC.clear() -} \ No newline at end of file +} diff --git a/log4k-slf4j/src/androidMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt b/log4k-slf4j/src/androidMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt index 48209c9..097ebb6 100644 --- a/log4k-slf4j/src/androidMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt +++ b/log4k-slf4j/src/androidMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt @@ -22,4 +22,4 @@ actual class SLF4JLogger : Logger() { Log.Level.Assert -> error(message, throwable) } } -} \ No newline at end of file +} diff --git a/log4k-slf4j/src/commonMain/kotlin/saschpe/log4k/slf4j/MDC.kt b/log4k-slf4j/src/commonMain/kotlin/saschpe/log4k/slf4j/MDC.kt index 983b08c..aa1c791 100644 --- a/log4k-slf4j/src/commonMain/kotlin/saschpe/log4k/slf4j/MDC.kt +++ b/log4k-slf4j/src/commonMain/kotlin/saschpe/log4k/slf4j/MDC.kt @@ -8,4 +8,4 @@ expect object MDC { fun get(key: String): String? fun remove(key: String) fun clear() -} \ No newline at end of file +} diff --git a/log4k-slf4j/src/commonMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt b/log4k-slf4j/src/commonMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt index b5b9820..41919dd 100644 --- a/log4k-slf4j/src/commonMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt +++ b/log4k-slf4j/src/commonMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt @@ -14,4 +14,4 @@ import saschpe.log4k.Logger * * On JVM or Android, SLF4J is used for logging. On JS or Apple platforms, console logging is used internally. */ -expect class SLF4JLogger : Logger \ No newline at end of file +expect class SLF4JLogger : Logger diff --git a/log4k-slf4j/src/iosMain/kotlin/saschpe/log4k/slf4j/MDC.kt b/log4k-slf4j/src/iosMain/kotlin/saschpe/log4k/slf4j/MDC.kt index 58cee7a..cc8684b 100644 --- a/log4k-slf4j/src/iosMain/kotlin/saschpe/log4k/slf4j/MDC.kt +++ b/log4k-slf4j/src/iosMain/kotlin/saschpe/log4k/slf4j/MDC.kt @@ -14,4 +14,4 @@ actual object MDC { } actual fun clear() = context.clear() -} \ No newline at end of file +} diff --git a/log4k-slf4j/src/iosMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt b/log4k-slf4j/src/iosMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt index 66ebfc8..922f6f8 100644 --- a/log4k-slf4j/src/iosMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt +++ b/log4k-slf4j/src/iosMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt @@ -9,4 +9,4 @@ actual class SLF4JLogger : Logger() { override fun print(level: Log.Level, tag: String, message: String?, throwable: Throwable?) = logger.log(level, tag, message, throwable) -} \ No newline at end of file +} diff --git a/log4k-slf4j/src/jsMain/kotlin/saschpe/log4k/slf4j/MDC.kt b/log4k-slf4j/src/jsMain/kotlin/saschpe/log4k/slf4j/MDC.kt index 58cee7a..cc8684b 100644 --- a/log4k-slf4j/src/jsMain/kotlin/saschpe/log4k/slf4j/MDC.kt +++ b/log4k-slf4j/src/jsMain/kotlin/saschpe/log4k/slf4j/MDC.kt @@ -14,4 +14,4 @@ actual object MDC { } actual fun clear() = context.clear() -} \ No newline at end of file +} diff --git a/log4k-slf4j/src/jsMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt b/log4k-slf4j/src/jsMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt index 66ebfc8..922f6f8 100644 --- a/log4k-slf4j/src/jsMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt +++ b/log4k-slf4j/src/jsMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt @@ -9,4 +9,4 @@ actual class SLF4JLogger : Logger() { override fun print(level: Log.Level, tag: String, message: String?, throwable: Throwable?) = logger.log(level, tag, message, throwable) -} \ No newline at end of file +} diff --git a/log4k-slf4j/src/jvmMain/kotlin/saschpe/log4k/slf4j/MDC.kt b/log4k-slf4j/src/jvmMain/kotlin/saschpe/log4k/slf4j/MDC.kt index 8e5610e..14ac776 100644 --- a/log4k-slf4j/src/jvmMain/kotlin/saschpe/log4k/slf4j/MDC.kt +++ b/log4k-slf4j/src/jvmMain/kotlin/saschpe/log4k/slf4j/MDC.kt @@ -8,4 +8,4 @@ actual object MDC { actual fun remove(key: String) = org.slf4j.MDC.remove(key) actual fun clear() = org.slf4j.MDC.clear() -} \ No newline at end of file +} diff --git a/log4k-slf4j/src/jvmMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt b/log4k-slf4j/src/jvmMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt index 7d484a6..e88be8a 100644 --- a/log4k-slf4j/src/jvmMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt +++ b/log4k-slf4j/src/jvmMain/kotlin/saschpe/log4k/slf4j/SLF4JLogger.kt @@ -16,4 +16,4 @@ actual class SLF4JLogger : Logger() { Log.Level.Assert -> error(message, throwable) } } -} \ No newline at end of file +} diff --git a/log4k/build.gradle.kts b/log4k/build.gradle.kts index c87b257..a6d873a 100644 --- a/log4k/build.gradle.kts +++ b/log4k/build.gradle.kts @@ -23,37 +23,26 @@ kotlin { } sourceSets["iosSimulatorArm64Main"].dependsOn(sourceSets["iosMain"]) sourceSets["iosSimulatorArm64Test"].dependsOn(sourceSets["iosTest"]) - - targets.withType(org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithSimulatorTests::class.java) { - testRuns["test"].deviceId = "iPhone 14" - } } +java.toolchain.languageVersion.set(JavaLanguageVersion.of(17)) + android { - buildToolsVersion = "33.0.0" - compileSdk = 33 + namespace = "saschpe.log4k" defaultConfig { + compileSdk = 33 minSdk = 17 - targetSdk = 33 } - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - - testCoverage.jacocoVersion = "0.8.8" + testCoverage.jacocoVersion = "0.8.10" } group = "de.peilicke.sascha" version = "1.2.3" -val javadocJar by tasks.registering(Jar::class) { - archiveClassifier.set("javadoc") -} - publishing { publications.withType { - artifact(javadocJar.get()) - pom { name.set("Log4K") description.set("Lightweight logging library for Kotlin/Multiplatform. Supports Android, iOS, JavaScript and plain JVM environments.") diff --git a/log4k/src/androidMain/AndroidManifest.xml b/log4k/src/androidMain/AndroidManifest.xml deleted file mode 100644 index 584f854..0000000 --- a/log4k/src/androidMain/AndroidManifest.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/log4k/src/commonMain/kotlin/saschpe/log4k/Logger.kt b/log4k/src/commonMain/kotlin/saschpe/log4k/Logger.kt index 66c6ded..aed14df 100644 --- a/log4k/src/commonMain/kotlin/saschpe/log4k/Logger.kt +++ b/log4k/src/commonMain/kotlin/saschpe/log4k/Logger.kt @@ -8,7 +8,7 @@ abstract class Logger { Magenta("\u001B[35m"), Red("\u001B[31m"), White("\u001B[37m"), - Yellow("\u001B[33m") + Yellow("\u001B[33m"), } var minimumLogLevel = Log.Level.Verbose diff --git a/log4k/src/commonTest/kotlin/testing/StubLoggerWithMinimum.kt b/log4k/src/commonTest/kotlin/testing/StubLoggerWithMinimum.kt index 8c9ae8f..0597d93 100644 --- a/log4k/src/commonTest/kotlin/testing/StubLoggerWithMinimum.kt +++ b/log4k/src/commonTest/kotlin/testing/StubLoggerWithMinimum.kt @@ -4,7 +4,7 @@ import saschpe.log4k.Log import saschpe.log4k.Logger class StubLoggerWithMinimum( - minimumLogLevel: Log.Level + minimumLogLevel: Log.Level, ) : Logger() { init { this.minimumLogLevel = minimumLogLevel diff --git a/log4k/src/iosMain/kotlin/saschpe/log4k/ConsoleLogger.kt b/log4k/src/iosMain/kotlin/saschpe/log4k/ConsoleLogger.kt index 3a37e7b..aab59ff 100644 --- a/log4k/src/iosMain/kotlin/saschpe/log4k/ConsoleLogger.kt +++ b/log4k/src/iosMain/kotlin/saschpe/log4k/ConsoleLogger.kt @@ -26,6 +26,6 @@ actual class ConsoleLogger : Logger() { Log.Level.Info to "💚 Info", Log.Level.Warning to "💛 Warn", Log.Level.Error to "❤️ Error", - Log.Level.Assert to "💜 Assert" + Log.Level.Assert to "💜 Assert", ) } diff --git a/log4k/src/jvmMain/kotlin/saschpe/log4k/ConsoleLogger.kt b/log4k/src/jvmMain/kotlin/saschpe/log4k/ConsoleLogger.kt index 00f8a26..1b3acf8 100644 --- a/log4k/src/jvmMain/kotlin/saschpe/log4k/ConsoleLogger.kt +++ b/log4k/src/jvmMain/kotlin/saschpe/log4k/ConsoleLogger.kt @@ -15,7 +15,7 @@ actual class ConsoleLogger : Logger() { ConsoleHandler().apply { level = Level.ALL formatter = SimpleFormatter() - } + }, ) useParentHandlers = false } @@ -56,7 +56,7 @@ actual class ConsoleLogger : Logger() { Log.Level.Info to "${AnsiColor.Green.value}Info${AnsiColor.Reset.value}", Log.Level.Warning to "${AnsiColor.Yellow.value}Warn${AnsiColor.Reset.value}", Log.Level.Error to "${AnsiColor.Red.value}Error${AnsiColor.Reset.value}", - Log.Level.Assert to "${AnsiColor.Magenta.value}Assert${AnsiColor.Reset.value}" + Log.Level.Assert to "${AnsiColor.Magenta.value}Assert${AnsiColor.Reset.value}", ) private fun getTraceTag(trace: StackTraceElement): String { diff --git a/settings.gradle.kts b/settings.gradle.kts index fd2ef1a..b2c2604 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,6 +3,11 @@ pluginManagement { gradlePluginPortal() google() } + + plugins { + kotlin("multiplatform") version "1.9.10" + id("com.android.library") version "8.2.2" + } } dependencyResolutionManagement {