diff --git a/build.gradle.kts b/build.gradle.kts index 7c470204f52560d17168897848ec6d8706dc246a..096a024bc97bd33435236a11c1b97f3b7598e913 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,17 +17,20 @@ plugins { id("org.jetbrains.dokka") version "1.4.32" } -subprojects { - apply(plugin = "org.jetbrains.kotlin.jvm") - apply(plugin = "org.jlleitschuh.gradle.ktlint") - apply(plugin = "jacoco") - apply(plugin = "de.justjanne.jacoco-cobertura-converter") +allprojects { apply(plugin = "org.jetbrains.dokka") repositories { mavenCentral() google() } +} + +subprojects { + apply(plugin = "org.jetbrains.kotlin.jvm") + apply(plugin = "org.jlleitschuh.gradle.ktlint") + apply(plugin = "jacoco") + apply(plugin = "de.justjanne.jacoco-cobertura-converter") dependencies { val implementation by configurations diff --git a/gradle.properties b/gradle.properties index f1ce9c2844a8d5e22eab2c35cb5336fe09e49f8a..c1b78d239812b6e82022592e5483dddadbb79de6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ kotlinPoetVersion=1.8.0 kspVersion=1.5.10-1.0.0-beta01 GROUP=de.justjanne.libquassel -VERSION_NAME=0.4.0 +VERSION_NAME=0.4.1 POM_URL=https://git.kuschku.de/justJanne/libquassel POM_SCM_URL=https://git.kuschku.de/justJanne/libquassel diff --git a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/features/QuasselFeatureName.kt b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/features/QuasselFeatureName.kt index 42270b653ce975e3287b294d40f81cbb3e24ce1b..5d71270bb5cae9fc0742597d4f2b31b490a8b012 100644 --- a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/features/QuasselFeatureName.kt +++ b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/features/QuasselFeatureName.kt @@ -15,7 +15,8 @@ import de.justjanne.libquassel.annotations.Generated * Inline class encapsulating a quassel feature name */ @Generated -inline class QuasselFeatureName( +@JvmInline +value class QuasselFeatureName( /** * Standardized name of the feature */ diff --git a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/BufferId.kt b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/BufferId.kt index 7ef839abe04bf77a1c72564f0c8df11e3b37a32c..4e33d6c6d15e0c1f4c80b8502c051a22d7db8b5a 100644 --- a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/BufferId.kt +++ b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/BufferId.kt @@ -14,7 +14,8 @@ private typealias BufferIdType = SignedIdType /** * A [SignedId] for a chat/buuffer */ -inline class BufferId( +@JvmInline +value class BufferId( /** * Native value */ diff --git a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/IdentityId.kt b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/IdentityId.kt index bf50408f08b6cf1b7a4faa4322cbd8460918893d..8b49eb55ed0c35cb371a20fa6350b92e6cdbfeee 100644 --- a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/IdentityId.kt +++ b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/IdentityId.kt @@ -13,7 +13,8 @@ private typealias IdentityIdType = SignedIdType /** * A [SignedId] for an identity object */ -inline class IdentityId( +@JvmInline +value class IdentityId( /** * Native value */ diff --git a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/MsgId.kt b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/MsgId.kt index adbd50c070845d174655db599601ff3603cfdd5e..6fafc34efa68c29ead3503a160606ff026544a58 100644 --- a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/MsgId.kt +++ b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/MsgId.kt @@ -15,7 +15,8 @@ private typealias MsgIdType = SignedId64Type * A [SignedId] for an individual message * Warning: this is the only id which can be backed by a 64-bit value */ -inline class MsgId( +@JvmInline +value class MsgId( /** * Native value */ diff --git a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/NetworkId.kt b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/NetworkId.kt index 62368a4a15de7179b802cf3855592232c5ffd193..53b29fc590146f29a9f6e5322d208a4866b51693 100644 --- a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/NetworkId.kt +++ b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/ids/NetworkId.kt @@ -14,7 +14,8 @@ private typealias NetworkIdType = SignedIdType /** * A [SignedId] for an irc network */ -inline class NetworkId( +@JvmInline +value class NetworkId( /** * Native value */ diff --git a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/syncables/state/NetworkState.kt b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/syncables/state/NetworkState.kt index c8cd134cb81762838fd87c525e66c71a0cbb15e8..bc844617948a66488005d2287305e4bab4c80dbb 100644 --- a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/syncables/state/NetworkState.kt +++ b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/syncables/state/NetworkState.kt @@ -72,12 +72,12 @@ data class NetworkState( fun identifier() = "${networkId.id}" fun caseMapper() = IrcCaseMapper[supportValue(IrcISupport.CASEMAPPING)] - fun supports(key: String) = supports.containsKey(key.toUpperCase(Locale.ROOT)) - fun supportValue(key: String) = supports[key.toUpperCase(Locale.ROOT)] + fun supports(key: String) = supports.containsKey(key.uppercase(Locale.ROOT)) + fun supportValue(key: String) = supports[key.uppercase(Locale.ROOT)] - fun capAvailable(capability: String) = caps.containsKey(capability.toLowerCase(Locale.ROOT)) - fun capEnabled(capability: String) = capsEnabled.contains(capability.toLowerCase(Locale.ROOT)) - fun capValue(capability: String) = caps[capability.toLowerCase(Locale.ROOT)] ?: "" + fun capAvailable(capability: String) = caps.containsKey(capability.lowercase(Locale.ROOT)) + fun capEnabled(capability: String) = capsEnabled.contains(capability.lowercase(Locale.ROOT)) + fun capValue(capability: String) = caps[capability.lowercase(Locale.ROOT)] ?: "" fun isSaslSupportLikely(mechanism: String): Boolean { if (!capAvailable(IrcCapability.SASL)) { diff --git a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/util/irc/IrcCaseMapper.kt b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/util/irc/IrcCaseMapper.kt index cf12f6d12e672cdae33774ffbcdca98a53c60451..9ce7a218c23c0388f5feca4c2e1785d3bca44855 100644 --- a/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/util/irc/IrcCaseMapper.kt +++ b/protocol/src/main/kotlin/de/justjanne/libquassel/protocol/util/irc/IrcCaseMapper.kt @@ -35,10 +35,10 @@ abstract class IrcCaseMapper { a.equals(b, ignoreCase = true) override fun toLowerCase(value: String): String = - value.toLowerCase(Locale.ENGLISH) + value.lowercase(Locale.ROOT) override fun toUpperCase(value: String): String = - value.toUpperCase(Locale.ENGLISH) + value.uppercase(Locale.ROOT) } object Rfc1459 : IrcCaseMapper() { @@ -46,13 +46,13 @@ abstract class IrcCaseMapper { toLowerCase(a) == toLowerCase(b) || toUpperCase(a) == toUpperCase(b) override fun toLowerCase(value: String): String = - value.toLowerCase(Locale.ROOT) + value.lowercase(Locale.ROOT) .replace('[', '{') .replace(']', '}') .replace('\\', '|') override fun toUpperCase(value: String): String = - value.toUpperCase(Locale.ROOT) + value.uppercase(Locale.ROOT) .replace('{', '[') .replace('}', ']') .replace('|', '\\')