Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ apiValidation {

tasks.register("printKtlintVersion") {
doLast {
println(libs.versions.ktlint.get())
println(VersionConstants.KTLINT_VERSION)
}
}

Expand Down
4 changes: 4 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,8 @@ dependencies {
implementation(libs.kotlin.gradle.plugin)
implementation(libs.sigstore.gradle.plugin)
implementation(libs.maven.publish.gradle.plugin)
implementation(libs.detekt.gradle.plugin)
implementation(libs.ktlint.gradle.plugin)
implementation(libs.kotest.gradle.plugin)
implementation(libs.ksp.gradle.plugin)
}
3 changes: 3 additions & 0 deletions buildSrc/src/main/kotlin/VersionConstants.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
object VersionConstants {
const val KTLINT_VERSION = "1.1.0"
}
25 changes: 25 additions & 0 deletions buildSrc/src/main/kotlin/convention.multiplatform-lib.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
import io.gitlab.arturbosch.detekt.Detekt
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jlleitschuh.gradle.ktlint.reporter.ReporterType

plugins {
id("convention.kotlin")
id("convention.multiplatform-jvm")
id("io.gitlab.arturbosch.detekt")
id("org.jlleitschuh.gradle.ktlint")
}

kotlin {
Expand Down Expand Up @@ -35,4 +39,25 @@ kotlin {
linuxArm64()

mingwX64()
}

ktlint {
version.set(VersionConstants.KTLINT_VERSION)
reporters {
reporter(ReporterType.HTML)
}
filter {
exclude("**/kotest/**/kotest.kt")
}
}

val detektAllTask by tasks.register("detektAll")

tasks.named("check").configure {
dependsOn(detektAllTask)
}

tasks.withType<Detekt> {
detektAllTask.dependsOn(this)
exclude("**/kotest/**/kotest.kt")
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests

plugins {
id("convention.kotlin")
id("com.google.devtools.ksp")
id("io.kotest")
}

val macOsAllTest by tasks.register("macOsAllTest") {
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/convention.publication.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ mavenPublishing {
url.set("https://github.com/OptimumCode/json-schema-validator")
}
}
}
}
1 change: 0 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
kotlin.code.style=official
kotlin.js.compiler=ir
org.gradle.jvmargs=-Xmx2048M
org.gradle.java.installations.auto-download=false
org.gradle.daemon=false
Expand Down
12 changes: 6 additions & 6 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
[versions]
kotlin = "2.1.21"
kotest = "6.0.0.M3"
kotlin = "2.2.21"
kotest = "6.0.4"
detekt = "1.23.8"
ktlint = "1.1.0"
okio = "3.15.0"
serialization = "1.8.1"
benchmark = "0.4.14"
Expand All @@ -13,10 +12,7 @@ jackson = "2.20.0"
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
kotlin-benchmark = { id = "org.jetbrains.kotlinx.benchmark", version.ref = "benchmark" }
kotlin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen", version.ref = "kotlin" }
kotest-multiplatform = { id = "io.kotest.multiplatform", version.ref = "kotest" }
kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.1" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version = "13.1.0" }
kotlin-binaryCompatibility = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version = "0.18.1" }

[libraries]
Expand All @@ -43,6 +39,10 @@ karacteristics = { group = "io.github.optimumcode", name = "karacteristics", ver
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
sigstore-gradle-plugin = { module = "dev.sigstore:sigstore-gradle-sign-plugin", version = "1.3.0"}
maven-publish-gradle-plugin = { module = "com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin", version = "0.34.0"}
detekt-gradle-plugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
ktlint-gradle-plugin = { module = "org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin", version = "13.1.0" }
kotest-gradle-plugin = { module = "io.kotest:kotest-framework-plugin-gradle", version.ref = "kotest" }
ksp-gradle-plugin = { module = "com.google.devtools.ksp:symbol-processing-gradle-plugin", version = "2.3.0" }

[bundles]
openapi = ["openapi-validator", "openapi-interfaces", "openapi-jackson"]
Expand Down
22 changes: 0 additions & 22 deletions json-schema-validator-objects/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
@file:OptIn(ExperimentalWasmDsl::class)

import io.gitlab.arturbosch.detekt.Detekt
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jlleitschuh.gradle.ktlint.reporter.ReporterType

plugins {
convention.kotlin
convention.`multiplatform-lib`
convention.`multiplatform-tests`
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.kotest.multiplatform)
alias(libs.plugins.kover)
alias(libs.plugins.detekt)
alias(libs.plugins.ktlint)
convention.publication
}

Expand Down Expand Up @@ -60,21 +55,4 @@ kotlin {
}
}
}
}

ktlint {
version.set(libs.versions.ktlint)
reporters {
reporter(ReporterType.HTML)
}
}

val detektAllTask by tasks.register("detektAll")

tasks.named("check").configure {
dependsOn(detektAllTask)
}

tasks.withType<Detekt> {
detektAllTask.dependsOn(this)
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import io.kotest.assertions.asClue
import io.kotest.assertions.assertSoftly
import io.kotest.assertions.throwables.shouldNotThrowAny
import io.kotest.assertions.throwables.shouldThrow
import io.kotest.core.Platform
import io.kotest.core.platform
import io.kotest.common.Platform
import io.kotest.common.platform
import io.kotest.core.spec.style.FunSpec
import io.kotest.core.test.Enabled
import io.kotest.core.test.EnabledOrReasonIf
Expand Down
29 changes: 16 additions & 13 deletions json-schema-validator/api/json-schema-validator.api
Original file line number Diff line number Diff line change
Expand Up @@ -126,19 +126,19 @@ public final class io/github/optimumcode/json/schema/JsonSchema$Companion {
public abstract interface class io/github/optimumcode/json/schema/JsonSchemaLoader {
public static final field Companion Lio/github/optimumcode/json/schema/JsonSchemaLoader$Companion;
public static fun create ()Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun fromDefinition (Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchema;
public fun fromDefinition (Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchema;
public abstract fun fromDefinition (Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchema;
public abstract fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchema;
public fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchema;
public abstract fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchema;
public abstract fun register (Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public fun register (Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun register (Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun register (Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun register (Lkotlinx/serialization/json/JsonElement;Lcom/eygraber/uri/Uri;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public fun register (Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public fun register (Lkotlinx/serialization/json/JsonElement;Lcom/eygraber/uri/Uri;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun register (Lkotlinx/serialization/json/JsonElement;Lcom/eygraber/uri/Uri;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun register (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract synthetic fun register (Lkotlinx/serialization/json/JsonElement;Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract synthetic fun register (Lkotlinx/serialization/json/JsonElement;Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun registerWellKnown (Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public synthetic fun register (Lkotlinx/serialization/json/JsonElement;Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public synthetic fun register (Lkotlinx/serialization/json/JsonElement;Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public fun registerWellKnown (Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun withCustomFormat (Ljava/lang/String;Lio/github/optimumcode/json/schema/FormatValidator;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun withCustomFormats (Ljava/util/Map;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
public abstract fun withExtensions (Lio/github/optimumcode/json/schema/extension/ExternalAssertionFactory;[Lio/github/optimumcode/json/schema/extension/ExternalAssertionFactory;)Lio/github/optimumcode/json/schema/JsonSchemaLoader;
Expand Down Expand Up @@ -250,14 +250,15 @@ public final class io/github/optimumcode/json/schema/ValidationOutput$Basic : io
public fun toString ()Ljava/lang/String;
}

public synthetic class io/github/optimumcode/json/schema/ValidationOutput$Basic$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public final synthetic class io/github/optimumcode/json/schema/ValidationOutput$Basic$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Lio/github/optimumcode/json/schema/ValidationOutput$Basic$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/github/optimumcode/json/schema/ValidationOutput$Basic;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/github/optimumcode/json/schema/ValidationOutput$Basic;)V
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
}

public final class io/github/optimumcode/json/schema/ValidationOutput$Basic$Companion {
Expand All @@ -278,14 +279,15 @@ public final class io/github/optimumcode/json/schema/ValidationOutput$Flag : io/
public fun toString ()Ljava/lang/String;
}

public synthetic class io/github/optimumcode/json/schema/ValidationOutput$Flag$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public final synthetic class io/github/optimumcode/json/schema/ValidationOutput$Flag$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Lio/github/optimumcode/json/schema/ValidationOutput$Flag$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/github/optimumcode/json/schema/ValidationOutput$Flag;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/github/optimumcode/json/schema/ValidationOutput$Flag;)V
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
}

public final class io/github/optimumcode/json/schema/ValidationOutput$Flag$Companion {
Expand Down Expand Up @@ -317,14 +319,15 @@ public final class io/github/optimumcode/json/schema/ValidationOutput$OutputUnit
public fun toString ()Ljava/lang/String;
}

public synthetic class io/github/optimumcode/json/schema/ValidationOutput$OutputUnit$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public final synthetic class io/github/optimumcode/json/schema/ValidationOutput$OutputUnit$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit;)V
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
}

public final class io/github/optimumcode/json/schema/ValidationOutput$OutputUnit$Companion {
Expand All @@ -337,8 +340,8 @@ public abstract interface class io/github/optimumcode/json/schema/extension/Exte
}

public abstract interface class io/github/optimumcode/json/schema/extension/ExternalAssertion {
public abstract fun validate (Lio/github/optimumcode/json/schema/model/AbstractElement;Lio/github/optimumcode/json/schema/extension/ExternalAssertionContext;Lio/github/optimumcode/json/schema/ErrorCollector;)Z
public abstract synthetic fun validate (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/extension/ExternalAssertionContext;Lio/github/optimumcode/json/schema/ErrorCollector;)Z
public fun validate (Lio/github/optimumcode/json/schema/model/AbstractElement;Lio/github/optimumcode/json/schema/extension/ExternalAssertionContext;Lio/github/optimumcode/json/schema/ErrorCollector;)Z
public synthetic fun validate (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/extension/ExternalAssertionContext;Lio/github/optimumcode/json/schema/ErrorCollector;)Z
}

public final class io/github/optimumcode/json/schema/extension/ExternalAssertion$DefaultImpls {
Expand Down
28 changes: 5 additions & 23 deletions json-schema-validator/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
@file:OptIn(ExperimentalWasmDsl::class)

import io.gitlab.arturbosch.detekt.Detekt
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jlleitschuh.gradle.ktlint.reporter.ReporterType

plugins {
convention.kotlin
convention.`multiplatform-lib`
convention.`multiplatform-tests`
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.kotest.multiplatform)
alias(libs.plugins.kover)
alias(libs.plugins.detekt)
alias(libs.plugins.ktlint)
convention.publication
}

Expand All @@ -29,7 +24,11 @@ kotlin {
api(libs.kotlin.serialization.json)
api(libs.uri)
// When using approach like above you won't be able to add because block
implementation(libs.kotlin.codepoints.get().toString()) {
implementation(
libs.kotlin.codepoints
.get()
.toString(),
) {
because("simplifies work with unicode codepoints")
}
implementation(libs.normalize.get().toString()) {
Expand All @@ -53,21 +52,4 @@ kotlin {
}
}
}
}

ktlint {
version.set(libs.versions.ktlint)
reporters {
reporter(ReporterType.HTML)
}
}

val detektAllTask by tasks.register("detektAll")

tasks.named("check").configure {
dependsOn(detektAllTask)
}

tasks.withType<Detekt> {
detektAllTask.dependsOn(this)
}
Loading
Loading