diff --git a/README.org b/README.org index 8d06e4c..09ec3ed 100644 --- a/README.org +++ b/README.org @@ -165,11 +165,14 @@ Gradle installation: --gradle-wrapper= Gradle wrapper version Options: - -t, --task= Gradle tasks to run + -t, --task= Gradle tasks to run (default: [resolveAllArtifacts]) + -a, --artifacts= Comma-separated list of artifacts to download (artifacts: + doxygen,javadoc,samples,sources,usermanual) (default: []) -p, --project= Path to the project root (default: Current directory) -o, --out-dir= Path to write generated files (default: ) -l, --lock-file= Name of the generated lock file (default: gradle.lock) - -j, --gradle-jdk= JDK home to use for launching Gradle (e.g. `nix eval --raw nixpkgs#openjdk.home`) + -j, --gradle-jdk= JDK home to use for launching Gradle (e.g. `nix eval --raw + nixpkgs#openjdk.home`) --log=(debug|info|warn|error) Print messages with this priority or higher (default: info) --dump-events Dump Gradle event logs to the output directory --stacktrace Print a stack trace on error diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 213fb61..ea2c4fe 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -81,6 +81,7 @@ tasks { // TODO Find out why this fails the configuration cache test { notCompatibleWithConfigurationCache("contains a Task reference") + dependsOn(installDist) val shareDir = layout.dir(installDist.map { it.destinationDir.resolve("share") }) doFirst { if (updateGolden.isPresent) { diff --git a/app/src/dist/share/init.gradle b/app/src/dist/share/init.gradle index e78e9fb..0318600 100644 --- a/app/src/dist/share/init.gradle +++ b/app/src/dist/share/init.gradle @@ -6,6 +6,8 @@ initscript { classpath files("plugin-gradle81.jar") } else if (GradleVersion.current() >= GradleVersion.version("8.0")) { classpath files("plugin-gradle80.jar") + } else if (GradleVersion.current() >= GradleVersion.version("7.5")) { + classpath files("plugin-gradle75.jar") } else { classpath files("plugin-base.jar") } diff --git a/app/src/main/kotlin/org/nixos/gradle2nix/GradleRunner.kt b/app/src/main/kotlin/org/nixos/gradle2nix/GradleRunner.kt index 399e604..3cde458 100644 --- a/app/src/main/kotlin/org/nixos/gradle2nix/GradleRunner.kt +++ b/app/src/main/kotlin/org/nixos/gradle2nix/GradleRunner.kt @@ -6,6 +6,7 @@ import org.gradle.tooling.GradleConnector import org.gradle.tooling.ProjectConnection import org.gradle.tooling.ResultHandler import org.gradle.tooling.model.gradle.GradleBuild +import org.nixos.gradle2nix.model.ARTIFACTS_PROPERTY import org.nixos.gradle2nix.model.DependencySet import java.io.File import kotlin.coroutines.resume @@ -50,14 +51,34 @@ suspend fun ProjectConnection.buildModel(): GradleBuild = } suspend fun ProjectConnection.build( + name: String, config: Config, - tasks: List, + tasks: List = config.tasks, ): DependencySet = suspendCancellableCoroutine { continuation -> val cancellationTokenSource = GradleConnector.newCancellationTokenSource() continuation.invokeOnCancellation { cancellationTokenSource.cancel() } + val systemProperties = + buildMap { + if (config.dumpEvents) { + put( + "org.gradle.internal.operations.trace", + config.outDir + .toPath() + .resolve(name) + .absolutePathString(), + ) + } + if (config.artifacts.isNotEmpty()) { + put( + ARTIFACTS_PROPERTY, + config.artifacts.joinToString(",") { it.name.lowercase() }, + ) + } + } + action { controller -> controller.getModel(DependencySet::class.java) } .withCancellationToken(cancellationTokenSource.token()) .forTasks(*tasks.toTypedArray()) @@ -75,16 +96,8 @@ suspend fun ProjectConnection.build( setStandardOutput(System.err) setStandardError(System.err) } - if (config.dumpEvents) { - withSystemProperties( - mapOf( - "org.gradle.internal.operations.trace" to - config.outDir - .toPath() - .resolve("debug") - .absolutePathString(), - ), - ) + if (systemProperties.isNotEmpty()) { + withSystemProperties(systemProperties) } }.run( object : ResultHandler { diff --git a/app/src/main/kotlin/org/nixos/gradle2nix/Main.kt b/app/src/main/kotlin/org/nixos/gradle2nix/Main.kt index 56a8da8..534d235 100644 --- a/app/src/main/kotlin/org/nixos/gradle2nix/Main.kt +++ b/app/src/main/kotlin/org/nixos/gradle2nix/Main.kt @@ -12,8 +12,8 @@ import com.github.ajalt.clikt.parameters.options.convert import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.defaultLazy import com.github.ajalt.clikt.parameters.options.flag -import com.github.ajalt.clikt.parameters.options.multiple import com.github.ajalt.clikt.parameters.options.option +import com.github.ajalt.clikt.parameters.options.split import com.github.ajalt.clikt.parameters.types.enum import com.github.ajalt.clikt.parameters.types.file import kotlinx.coroutines.runBlocking @@ -21,6 +21,7 @@ import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.json.Json import kotlinx.serialization.json.encodeToStream import org.gradle.tooling.model.gradle.GradleBuild +import org.nixos.gradle2nix.model.ArtifactType import org.nixos.gradle2nix.model.DependencySet import org.nixos.gradle2nix.model.RESOLVE_ALL_TASK import java.io.File @@ -35,6 +36,7 @@ data class Config( val outDir: File, val projectDir: File, val tasks: List, + val artifacts: List, val logger: Logger, val dumpEvents: Boolean, ) @@ -79,7 +81,15 @@ class Gradle2Nix : "-t", metavar = "TASK", help = "Gradle tasks to run", - ).multiple(default = listOf(RESOLVE_ALL_TASK)) + ).split(",").default(listOf(RESOLVE_ALL_TASK)) + + private val artifacts: List by option( + "--artifacts", + "-a", + metavar = "ARTIFACTS", + help = "Comma-separated list of artifacts to download", + helpTags = mapOf("artifacts" to "doxygen,javadoc,samples,sources,usermanual"), + ).enum(key = { it.name.lowercase() }).split(",").default(emptyList()) private val projectDir: File by option( "--project", @@ -184,6 +194,7 @@ class Gradle2Nix : outDir ?: projectDir, projectDir, tasks, + artifacts, logger, dumpEvents, ) @@ -206,12 +217,20 @@ class Gradle2Nix : val dependencySets = mutableListOf() connect(config).use { connection -> - dependencySets.add(runBlocking { connection.build(config, config.tasks) }) + dependencySets.add(runBlocking { connection.build("project", config) }) } for (buildSrc in buildSrcs) { connect(config, buildSrc).use { connection -> - dependencySets.add(runBlocking { connection.build(config, listOf(RESOLVE_ALL_TASK)) }) + dependencySets.add( + runBlocking { + connection.build( + buildSrc.toRelativeString(projectDir.absoluteFile).replace('/', '_'), + config, + listOf(RESOLVE_ALL_TASK), + ) + }, + ) } } diff --git a/app/src/test/kotlin/org/nixos/gradle2nix/GoldenTest.kt b/app/src/test/kotlin/org/nixos/gradle2nix/GoldenTest.kt index a8975ee..24b0654 100644 --- a/app/src/test/kotlin/org/nixos/gradle2nix/GoldenTest.kt +++ b/app/src/test/kotlin/org/nixos/gradle2nix/GoldenTest.kt @@ -7,6 +7,9 @@ class GoldenTest : FunSpec({ install(MavenRepo) + context("artifacts") { + golden("artifacts/sources-javadoc", "-a", "sources,javadoc") + } context("basic") { golden("basic/basic-java-project") golden("basic/basic-kotlin-project") diff --git a/app/src/test/kotlin/org/nixos/gradle2nix/TestUtil.kt b/app/src/test/kotlin/org/nixos/gradle2nix/TestUtil.kt index 2f55b52..736a5ec 100644 --- a/app/src/test/kotlin/org/nixos/gradle2nix/TestUtil.kt +++ b/app/src/test/kotlin/org/nixos/gradle2nix/TestUtil.kt @@ -11,9 +11,8 @@ import io.kotest.core.spec.Spec import io.kotest.core.test.NestedTest import io.kotest.core.test.TestScope import io.kotest.core.test.TestType -import io.kotest.matchers.equals.beEqual import io.kotest.matchers.file.shouldBeAFile -import io.kotest.matchers.should +import io.kotest.matchers.shouldBe import io.ktor.http.ContentType import io.ktor.http.Url import io.ktor.server.engine.embeddedServer @@ -88,17 +87,18 @@ suspend fun TestScope.fixture( Files.createFile(tempDir.resolve("settings.gradle").toPath()) } app.main( - listOf( - "-p", - tempDir.toString(), - "--log", - "debug", - "--stacktrace", - "--dump-events", - "--", - "-Dorg.nixos.gradle2nix.m2=$m2", - "--info", - ) + args, + args.toList() + + listOf( + "-p", + tempDir.toString(), + "--log", + "debug", + "--stacktrace", + "--dump-events", + "--", + "-Dorg.nixos.gradle2nix.m2=$m2", + "--info", + ), ) val file = tempDir.resolve(app.lockFile) file.shouldBeAFile() @@ -137,7 +137,7 @@ suspend fun TestScope.golden( } catch (e: SerializationException) { fail("Failed to load golden data from '$filename'. Run with --update-golden to regenerate.") } - json.encodeToString(env) should beEqual(goldenData) + json.encodeToString(env) shouldBe goldenData } } } @@ -197,7 +197,7 @@ object MavenRepo : MountableExtension, } } coroutineScope.launch { s.start(wait = true) } - s + s.engine } catch (e: Throwable) { if (config.port == null && attempts > 0) tryStart(attempts - 1) else throw e } diff --git a/buildSrc/src/main/kotlin/plugin-conventions.gradle.kts b/buildSrc/src/main/kotlin/plugin-conventions.gradle.kts index c78dae0..d06fe2b 100644 --- a/buildSrc/src/main/kotlin/plugin-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/plugin-conventions.gradle.kts @@ -37,12 +37,14 @@ tasks { duplicatesStrategy = DuplicatesStrategy.EXCLUDE isPreserveFileTimestamps = false isReproducibleFileOrder = true - val mode644 = 0b110100100 - val mode755 = 0b111101101 - fileMode = mode644 - dirMode = mode755 - filesMatching("**/bin/*") { mode = mode755 } - filesMatching("**/bin/*.bat") { mode = mode644 } + filePermissions { unix("644") } + dirPermissions { unix("755") } + filesMatching("**/bin/*") { + filePermissions { unix("755") } + } + filesMatching("**/bin/*.bat") { + filePermissions { unix("644") } + } relocate("kotlinx", "${project.group}.shadow.kotlinx") relocate("org.intellij", "${project.group}.shadow.intellij") diff --git a/fixtures/golden/artifacts/sources-javadoc.kotlin.json b/fixtures/golden/artifacts/sources-javadoc.kotlin.json new file mode 100644 index 0000000..6ea3dfb --- /dev/null +++ b/fixtures/golden/artifacts/sources-javadoc.kotlin.json @@ -0,0 +1,20 @@ +{ + "org.jetbrains:dummy:0.1.2": { + "dummy-0.1.2-javadoc.jar": { + "url": "http://0.0.0.0:8989/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2-javadoc.jar", + "hash": "sha256-VKSq9XAfCAL64HOpAw9Cz3u1KxCJG/plFoXlYGpsT38=" + }, + "dummy-0.1.2-sources.jar": { + "url": "http://0.0.0.0:8989/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2-sources.jar", + "hash": "sha256-P6wF/AUXB4XcW/Yd+E2MsEYQuaLrlAjU9ZCFwl5LpV4=" + }, + "dummy-0.1.2.jar": { + "url": "http://0.0.0.0:8989/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2.jar", + "hash": "sha256-cNf6E8g94h1RzuCgeERYjfMYK/FtuxULAmgZ2NbrZHE=" + }, + "dummy-0.1.2.pom": { + "url": "http://0.0.0.0:8989/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2.pom", + "hash": "sha256-yAJfpJPhPhaxEwVdOL3zzK0JopTGuV3djT44MWsz1z4=" + } + } +} \ No newline at end of file diff --git a/fixtures/golden/buildsrc/plugin-in-buildsrc.kotlin.json b/fixtures/golden/buildsrc/plugin-in-buildsrc.kotlin.json index 7ba2d43..28bb802 100644 --- a/fixtures/golden/buildsrc/plugin-in-buildsrc.kotlin.json +++ b/fixtures/golden/buildsrc/plugin-in-buildsrc.kotlin.json @@ -41,24 +41,24 @@ "hash": "sha256-OFbj/NFpUC1fEv4kUmBOv2x8Al8VZWv6VY6pntKdc+o=" } }, - "org.gradle.kotlin:gradle-kotlin-dsl-plugins:4.3.0": { - "gradle-kotlin-dsl-plugins-4.3.0.jar": { - "url": "https://plugins.gradle.org/m2/org/gradle/kotlin/gradle-kotlin-dsl-plugins/4.3.0/gradle-kotlin-dsl-plugins-4.3.0.jar", - "hash": "sha256-+IsyeBRxXRfiD4to/wCbmrGo+8GjyRLDO4TfucEVn78=" + "org.gradle.kotlin:gradle-kotlin-dsl-plugins:4.5.0": { + "gradle-kotlin-dsl-plugins-4.5.0.jar": { + "url": "https://plugins.gradle.org/m2/org/gradle/kotlin/gradle-kotlin-dsl-plugins/4.5.0/gradle-kotlin-dsl-plugins-4.5.0.jar", + "hash": "sha256-Ga92VnnptJN0uyg6xE81O4EJrZz+ZmjO1tmmZFVA4vo=" }, - "gradle-kotlin-dsl-plugins-4.3.0.module": { - "url": "https://plugins.gradle.org/m2/org/gradle/kotlin/gradle-kotlin-dsl-plugins/4.3.0/gradle-kotlin-dsl-plugins-4.3.0.module", - "hash": "sha256-wDF/LfYjmTSfi1NHpsZme9yjHMt1meBsKG/IOPxM7c0=" + "gradle-kotlin-dsl-plugins-4.5.0.module": { + "url": "https://plugins.gradle.org/m2/org/gradle/kotlin/gradle-kotlin-dsl-plugins/4.5.0/gradle-kotlin-dsl-plugins-4.5.0.module", + "hash": "sha256-G2X3c4EI7gxE5qUNjMJUpPHFpzmAtuh7D14uxMt6qDY=" }, - "gradle-kotlin-dsl-plugins-4.3.0.pom": { - "url": "https://plugins.gradle.org/m2/org/gradle/kotlin/gradle-kotlin-dsl-plugins/4.3.0/gradle-kotlin-dsl-plugins-4.3.0.pom", - "hash": "sha256-d1G9LyTDRdGbRhGy5+1NZfT1YIA2iuNqpyT5X63VbDw=" + "gradle-kotlin-dsl-plugins-4.5.0.pom": { + "url": "https://plugins.gradle.org/m2/org/gradle/kotlin/gradle-kotlin-dsl-plugins/4.5.0/gradle-kotlin-dsl-plugins-4.5.0.pom", + "hash": "sha256-D4Du3/O101e+rs5h8enK1Le/b4EVrWRIfYp2x/GwDBw=" } }, - "org.gradle.kotlin.kotlin-dsl:org.gradle.kotlin.kotlin-dsl.gradle.plugin:4.3.0": { - "org.gradle.kotlin.kotlin-dsl.gradle.plugin-4.3.0.pom": { - "url": "https://plugins.gradle.org/m2/org/gradle/kotlin/kotlin-dsl/org.gradle.kotlin.kotlin-dsl.gradle.plugin/4.3.0/org.gradle.kotlin.kotlin-dsl.gradle.plugin-4.3.0.pom", - "hash": "sha256-hgR9KoSpaXsVkXDj1rLL9Cpv5UCQTYdZzJ8JUsmUnXw=" + "org.gradle.kotlin.kotlin-dsl:org.gradle.kotlin.kotlin-dsl.gradle.plugin:4.5.0": { + "org.gradle.kotlin.kotlin-dsl.gradle.plugin-4.5.0.pom": { + "url": "https://plugins.gradle.org/m2/org/gradle/kotlin/kotlin-dsl/org.gradle.kotlin.kotlin-dsl.gradle.plugin/4.5.0/org.gradle.kotlin.kotlin-dsl.gradle.plugin-4.5.0.pom", + "hash": "sha256-WPAIDJzwTgVq1U0Ok91KI0KGXnihMR6TVAVk90wgDjc=" } }, "org.jetbrains:annotations:13.0": { @@ -81,248 +81,248 @@ "hash": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k=" } }, - "org.jetbrains.kotlin:kotlin-android-extensions:1.9.22": { - "kotlin-android-extensions-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-android-extensions/1.9.22/kotlin-android-extensions-1.9.22.jar", - "hash": "sha256-Hl6IFkKpnduPbRPmmVoIwZK8OEGHOWZj2ER8CB2H4k8=" + "org.jetbrains.kotlin:kotlin-android-extensions:1.9.24": { + "kotlin-android-extensions-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-android-extensions/1.9.24/kotlin-android-extensions-1.9.24.jar", + "hash": "sha256-4z5UUlSR0ZgdRODKmnxTIWh91QRDPsVJZhqb5UYKEW4=" }, - "kotlin-android-extensions-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-android-extensions/1.9.22/kotlin-android-extensions-1.9.22.pom", - "hash": "sha256-lEt8+zPgpvtoRVkEjwKMuWMmyTKiRdXLAhQ7zSwDEVk=" + "kotlin-android-extensions-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-android-extensions/1.9.24/kotlin-android-extensions-1.9.24.pom", + "hash": "sha256-6QmjYHLn/lbQULgKdXEDwdP4dz+2wb0GcrxKr7hRCEs=" } }, - "org.jetbrains.kotlin:kotlin-assignment:1.9.22": { - "kotlin-assignment-1.9.22-gradle82.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment/1.9.22/kotlin-assignment-1.9.22-gradle82.jar", - "hash": "sha256-SbgHX6DiGLoRuhim9yUE38XwOZQovs8Ta9yHHceBgMU=" + "org.jetbrains.kotlin:kotlin-assignment:1.9.24": { + "kotlin-assignment-1.9.24-gradle82.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment/1.9.24/kotlin-assignment-1.9.24-gradle82.jar", + "hash": "sha256-897/fRYVZp9m+jeTnLZJBOex+LBgNReZDH8IEs40oNs=" }, - "kotlin-assignment-1.9.22.module": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment/1.9.22/kotlin-assignment-1.9.22.module", - "hash": "sha256-bxIe+E4ozzMG/eTDHVXC2D14RPJLDnslZfh7Apn7sx0=" + "kotlin-assignment-1.9.24.module": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment/1.9.24/kotlin-assignment-1.9.24.module", + "hash": "sha256-qa+tevGbZXAv892pBdPJt/mem9rqadY1+s2f3mi7VQU=" }, - "kotlin-assignment-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment/1.9.22/kotlin-assignment-1.9.22.pom", - "hash": "sha256-9kQYoM3bm9hQ96/CasjyPon7ptlgSNqnNZVWJ5AgbwA=" + "kotlin-assignment-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment/1.9.24/kotlin-assignment-1.9.24.pom", + "hash": "sha256-U5l+9NCcNhmm32TaPftTdngenYSMck+DLIDPCoCjLA8=" } }, - "org.jetbrains.kotlin:kotlin-assignment-compiler-plugin-embeddable:1.9.22": { - "kotlin-assignment-compiler-plugin-embeddable-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment-compiler-plugin-embeddable/1.9.22/kotlin-assignment-compiler-plugin-embeddable-1.9.22.jar", - "hash": "sha256-KmHdIZ/tvlMYo7HiPA9zm0XtG1sksLZzdRm3hF6Alfg=" + "org.jetbrains.kotlin:kotlin-assignment-compiler-plugin-embeddable:1.9.24": { + "kotlin-assignment-compiler-plugin-embeddable-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment-compiler-plugin-embeddable/1.9.24/kotlin-assignment-compiler-plugin-embeddable-1.9.24.jar", + "hash": "sha256-AoVjJSRkxIYBkX8rbFTRuOQhzcfya/L5zzCIlcgSSgY=" }, - "kotlin-assignment-compiler-plugin-embeddable-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment-compiler-plugin-embeddable/1.9.22/kotlin-assignment-compiler-plugin-embeddable-1.9.22.pom", - "hash": "sha256-nbJr6D8/Y8Uf972pHjpqQNTDTaAj5ilsAQW7SqZvzJI=" + "kotlin-assignment-compiler-plugin-embeddable-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-assignment-compiler-plugin-embeddable/1.9.24/kotlin-assignment-compiler-plugin-embeddable-1.9.24.pom", + "hash": "sha256-Hzfc9EhcI3qtLk70O40RQJleMTKduiTJ9qa3uEBrg9Q=" } }, - "org.jetbrains.kotlin:kotlin-build-common:1.9.22": { - "kotlin-build-common-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-common/1.9.22/kotlin-build-common-1.9.22.jar", - "hash": "sha256-U8PcxTA/WQPmJgrqc+zMaTD5o276KhHNO9On5V32OWY=" + "org.jetbrains.kotlin:kotlin-build-common:1.9.24": { + "kotlin-build-common-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-common/1.9.24/kotlin-build-common-1.9.24.jar", + "hash": "sha256-+RqOaTfik7FEv6F0DHB3xa12EdtI9CnKMcCm2yduaUo=" }, - "kotlin-build-common-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-common/1.9.22/kotlin-build-common-1.9.22.pom", - "hash": "sha256-KXxfSYoHdIPvic06cQzSt/LlrjgPOjrt+5xBvGI7E0A=" + "kotlin-build-common-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-common/1.9.24/kotlin-build-common-1.9.24.pom", + "hash": "sha256-iNt6ER1bfbV+4gKFEX2mNz3NJQQxqd58h8ZCJRYL0RI=" } }, - "org.jetbrains.kotlin:kotlin-build-tools-api:1.9.22": { - "kotlin-build-tools-api-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-tools-api/1.9.22/kotlin-build-tools-api-1.9.22.jar", - "hash": "sha256-3UnLfij08zgvUlDPsFyGT9XwqW0yZbspPHezCtzJP/Y=" + "org.jetbrains.kotlin:kotlin-build-tools-api:1.9.24": { + "kotlin-build-tools-api-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-tools-api/1.9.24/kotlin-build-tools-api-1.9.24.jar", + "hash": "sha256-ZUX99qL/t4jN3O3KymMiOdx+XmHD90SCNzXjse2cG1Q=" }, - "kotlin-build-tools-api-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-tools-api/1.9.22/kotlin-build-tools-api-1.9.22.pom", - "hash": "sha256-DFZLu4fcXs32Q005buob886Xar8IgYCN0Wb6SbBGSfs=" + "kotlin-build-tools-api-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-tools-api/1.9.24/kotlin-build-tools-api-1.9.24.pom", + "hash": "sha256-efIYZmDsHYeQhu4jEEeY2M1PthcsJ5xeVuAsqeVbxHU=" } }, - "org.jetbrains.kotlin:kotlin-build-tools-impl:1.9.22": { - "kotlin-build-tools-impl-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-tools-impl/1.9.22/kotlin-build-tools-impl-1.9.22.jar", - "hash": "sha256-G0jW3gQqUl9jtVdROuEmbWmTSCJbAT+UDjLGPeJolCg=" + "org.jetbrains.kotlin:kotlin-build-tools-impl:1.9.24": { + "kotlin-build-tools-impl-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-tools-impl/1.9.24/kotlin-build-tools-impl-1.9.24.jar", + "hash": "sha256-VPyCvEOOGGoMEGH55uYZEQuozUnFH6GOcFb726IpFhc=" }, - "kotlin-build-tools-impl-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-tools-impl/1.9.22/kotlin-build-tools-impl-1.9.22.pom", - "hash": "sha256-tWM/E0m+lcdHRuHimiqm51LoneGrmmUjSS85j6aVWN0=" + "kotlin-build-tools-impl-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-build-tools-impl/1.9.24/kotlin-build-tools-impl-1.9.24.pom", + "hash": "sha256-WI+dA6B9qcDw3JZu6OWqjBEhsUf+1MdxsdwSTMnLONc=" } }, - "org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.22": { - "kotlin-compiler-embeddable-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.9.22/kotlin-compiler-embeddable-1.9.22.jar", - "hash": "sha256-K/6t7lmrGYjDNtvW5l2ZH3Zq4d2Gg/Km3tX6oCefDKA=" + "org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.24": { + "kotlin-compiler-embeddable-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.9.24/kotlin-compiler-embeddable-1.9.24.jar", + "hash": "sha256-5x/xnmsUGrhakyj9AQlBUxowJUMCa9QkTJWtwgjVAfY=" }, - "kotlin-compiler-embeddable-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.9.22/kotlin-compiler-embeddable-1.9.22.pom", - "hash": "sha256-s9o0u29ClqzzoPRDRm8FBsbJnaXNliTW4LdFsiKHhOs=" + "kotlin-compiler-embeddable-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.9.24/kotlin-compiler-embeddable-1.9.24.pom", + "hash": "sha256-1w0fiFkkQ/R1eVFUVqTWwxBRztoK0RRGkjrK/kwMldE=" } }, - "org.jetbrains.kotlin:kotlin-compiler-runner:1.9.22": { - "kotlin-compiler-runner-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-runner/1.9.22/kotlin-compiler-runner-1.9.22.jar", - "hash": "sha256-c+x1u5nr/6iySiSjuFPz9mCWvEapNRrw2sk967acFes=" + "org.jetbrains.kotlin:kotlin-compiler-runner:1.9.24": { + "kotlin-compiler-runner-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-runner/1.9.24/kotlin-compiler-runner-1.9.24.jar", + "hash": "sha256-g4Q5dMH/0NNmbTxkk0Hb/TB32eFAZlVKakR7laMB3S0=" }, - "kotlin-compiler-runner-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-runner/1.9.22/kotlin-compiler-runner-1.9.22.pom", - "hash": "sha256-pO6KZ8HW8lODjAAnKAvLgFCsDc3MrZdIlhOKaaAX6wE=" + "kotlin-compiler-runner-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-runner/1.9.24/kotlin-compiler-runner-1.9.24.pom", + "hash": "sha256-wb508udfB+SamqaJA+DctogA0iRkBBi0hHfuQsvDWQQ=" } }, - "org.jetbrains.kotlin:kotlin-daemon-client:1.9.22": { - "kotlin-daemon-client-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-daemon-client/1.9.22/kotlin-daemon-client-1.9.22.jar", - "hash": "sha256-XXPhgVsRZ+Sv4gjwCyp1wIC8WoEHhsqtuOFHh1k6k7k=" + "org.jetbrains.kotlin:kotlin-daemon-client:1.9.24": { + "kotlin-daemon-client-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-daemon-client/1.9.24/kotlin-daemon-client-1.9.24.jar", + "hash": "sha256-WIqveo7Y55uL8+qLknj/Enii1ZKFpF4Jjxz8v7Dc080=" }, - "kotlin-daemon-client-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-daemon-client/1.9.22/kotlin-daemon-client-1.9.22.pom", - "hash": "sha256-YsRKZZ2lXbb7El4pKbmNUEow4fSvgU4I5JIUJqpST4o=" + "kotlin-daemon-client-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-daemon-client/1.9.24/kotlin-daemon-client-1.9.24.pom", + "hash": "sha256-tv4ne9GuP/zAzriOxmZZmHpc0TeaiXaDEvXe3x8uH+U=" } }, - "org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.22": { - "kotlin-daemon-embeddable-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-daemon-embeddable/1.9.22/kotlin-daemon-embeddable-1.9.22.jar", - "hash": "sha256-kqV4ExcUR9U0Rh+hP+N9yM07f4bYPpsfe7GwvjBUH4s=" + "org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.24": { + "kotlin-daemon-embeddable-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-daemon-embeddable/1.9.24/kotlin-daemon-embeddable-1.9.24.jar", + "hash": "sha256-F3vIsqQHbcznh4rQ2P0HFjrzF44/qQ7mPU9zO7R7/ck=" }, - "kotlin-daemon-embeddable-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-daemon-embeddable/1.9.22/kotlin-daemon-embeddable-1.9.22.pom", - "hash": "sha256-9uo9z2v7Og0GmER8SKa88I2Oqs+D/JX+nUGBpeXjwrE=" + "kotlin-daemon-embeddable-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-daemon-embeddable/1.9.24/kotlin-daemon-embeddable-1.9.24.pom", + "hash": "sha256-T7V/xqxyCVGzIkd0s7sqVFSelj0vTf3GhB6Ex77WKrE=" } }, - "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22": { - "kotlin-gradle-plugin-1.9.22-gradle82.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.9.22/kotlin-gradle-plugin-1.9.22-gradle82.jar", - "hash": "sha256-1OcY3V8wxrqTLZPM/FswFendPkQUOgUrh3Ao8frlQtw=" + "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24": { + "kotlin-gradle-plugin-1.9.24-gradle82.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.9.24/kotlin-gradle-plugin-1.9.24-gradle82.jar", + "hash": "sha256-6K7ZqBLmU2zu+z7VaPE0ZPoF8ka/0TaTONZDyDKUAks=" }, - "kotlin-gradle-plugin-1.9.22.module": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.9.22/kotlin-gradle-plugin-1.9.22.module", - "hash": "sha256-pPRqwMq9jVzbaJ0tN9GdWFhPcIv59k/+TpgKL/dTS7U=" + "kotlin-gradle-plugin-1.9.24.module": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.9.24/kotlin-gradle-plugin-1.9.24.module", + "hash": "sha256-txNZQoRrVH+xtZaGQXBGPC81+hW1qtkzX60P/YamE3s=" }, - "kotlin-gradle-plugin-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.9.22/kotlin-gradle-plugin-1.9.22.pom", - "hash": "sha256-A3750tSupA9JKdglE1g+STwOBRVuDaix1/Ujurhobyc=" + "kotlin-gradle-plugin-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.9.24/kotlin-gradle-plugin-1.9.24.pom", + "hash": "sha256-ilwTAHAhV//cHyV1hDZZbsVsM3Z8GqLouOskamWs9SM=" } }, - "org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:1.9.22": { - "kotlin-gradle-plugin-annotations-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-annotations/1.9.22/kotlin-gradle-plugin-annotations-1.9.22.jar", - "hash": "sha256-lnaDy5jZkQFFYH+/W0VilbQ/Cq+Tsbunv2mS5zHLJOw=" + "org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:1.9.24": { + "kotlin-gradle-plugin-annotations-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-annotations/1.9.24/kotlin-gradle-plugin-annotations-1.9.24.jar", + "hash": "sha256-syBxajMCclSau65oGoD14P5YBLo5TQ8kW1s3f6JWNVk=" }, - "kotlin-gradle-plugin-annotations-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-annotations/1.9.22/kotlin-gradle-plugin-annotations-1.9.22.pom", - "hash": "sha256-Y7por+B4/3D3CPnpecaTxFv+iQQfeWQbC4H2tKEm7rs=" + "kotlin-gradle-plugin-annotations-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-annotations/1.9.24/kotlin-gradle-plugin-annotations-1.9.24.pom", + "hash": "sha256-fHb3hHzJ5bWOGoJbbqAZV7QoHpHmzXBcFmy+afvDtYs=" } }, - "org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.9.22": { - "kotlin-gradle-plugin-api-1.9.22-gradle82.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.9.22/kotlin-gradle-plugin-api-1.9.22-gradle82.jar", - "hash": "sha256-7P9nVGBlxg4JX7k7P4i5uS7R7cN+P+u8b57TVCL6QSs=" + "org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.9.24": { + "kotlin-gradle-plugin-api-1.9.24-gradle82.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.9.24/kotlin-gradle-plugin-api-1.9.24-gradle82.jar", + "hash": "sha256-LV53JHoKf1klIL64gx6OPrl0m/OIhfgv+9Y8f/BRPhI=" }, - "kotlin-gradle-plugin-api-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.9.22/kotlin-gradle-plugin-api-1.9.22.jar", - "hash": "sha256-7P9nVGBlxg4JX7k7P4i5uS7R7cN+P+u8b57TVCL6QSs=" + "kotlin-gradle-plugin-api-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.9.24/kotlin-gradle-plugin-api-1.9.24.jar", + "hash": "sha256-LV53JHoKf1klIL64gx6OPrl0m/OIhfgv+9Y8f/BRPhI=" }, - "kotlin-gradle-plugin-api-1.9.22.module": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.9.22/kotlin-gradle-plugin-api-1.9.22.module", - "hash": "sha256-H0SJxTBPmlEqVof/zAqvCTCvydcgUdOpBfrAcANi+3s=" + "kotlin-gradle-plugin-api-1.9.24.module": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.9.24/kotlin-gradle-plugin-api-1.9.24.module", + "hash": "sha256-kB+s0LsPLdJ9XzvJDkQvJ3OrEuHOcgnT78HlhWNsfWQ=" }, - "kotlin-gradle-plugin-api-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.9.22/kotlin-gradle-plugin-api-1.9.22.pom", - "hash": "sha256-ZAFewaGutVCqGCjCQuIoODDFD2g2TkCDH+FYj9wEEfU=" + "kotlin-gradle-plugin-api-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.9.24/kotlin-gradle-plugin-api-1.9.24.pom", + "hash": "sha256-r9FlfZ0Vx2BxZ1InnZEdG73PjfTPXZYEUGHjCunBMX4=" } }, - "org.jetbrains.kotlin:kotlin-gradle-plugin-idea:1.9.22": { - "kotlin-gradle-plugin-idea-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.22/kotlin-gradle-plugin-idea-1.9.22.jar", + "org.jetbrains.kotlin:kotlin-gradle-plugin-idea:1.9.24": { + "kotlin-gradle-plugin-idea-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.24/kotlin-gradle-plugin-idea-1.9.24.jar", "hash": "sha256-jRr4djLZUUjxIqn6CuKQPBnub6t9AeAX924NLJoCLCA=" }, - "kotlin-gradle-plugin-idea-1.9.22.module": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.22/kotlin-gradle-plugin-idea-1.9.22.module", - "hash": "sha256-z+LCbjMPaAMsAD+lJMAx5aYPzo2Jn/8uQjFBKL60QCs=" + "kotlin-gradle-plugin-idea-1.9.24.module": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.24/kotlin-gradle-plugin-idea-1.9.24.module", + "hash": "sha256-4Jx9wdImjqtl5EGtLjgWDzGHsNjAv5zxrUyF+nUjm6Q=" }, - "kotlin-gradle-plugin-idea-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.22/kotlin-gradle-plugin-idea-1.9.22.pom", - "hash": "sha256-3BSjKHVDun5QRs1OCVAtJ4hMqYfshwb1+xid54luOsw=" + "kotlin-gradle-plugin-idea-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.24/kotlin-gradle-plugin-idea-1.9.24.pom", + "hash": "sha256-aTnfzQ6JgI3AA25alaOPcb+EKF53bpEFIdVWJnp8sMc=" } }, - "org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:1.9.22": { - "kotlin-gradle-plugin-idea-proto-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1.9.22/kotlin-gradle-plugin-idea-proto-1.9.22.jar", - "hash": "sha256-9dgu5hlmotmK364Z8k1hcwIsFUBIls3yNjQANe5owPU=" + "org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:1.9.24": { + "kotlin-gradle-plugin-idea-proto-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1.9.24/kotlin-gradle-plugin-idea-proto-1.9.24.jar", + "hash": "sha256-hR4BJ+5ixRDpf4UB6Q/V6yTQ15bHCcv5SvM5R0Fre/4=" }, - "kotlin-gradle-plugin-idea-proto-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1.9.22/kotlin-gradle-plugin-idea-proto-1.9.22.pom", - "hash": "sha256-huMsqCkn2ogKHPNDpA7MIJgHXm/XInOzTVDfpUTzRjs=" + "kotlin-gradle-plugin-idea-proto-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1.9.24/kotlin-gradle-plugin-idea-proto-1.9.24.pom", + "hash": "sha256-3gafD+sze0Nbc/GdKaISONBW5oegumvivczlmvqSa7Y=" } }, - "org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.9.22": { - "kotlin-gradle-plugin-model-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-model/1.9.22/kotlin-gradle-plugin-model-1.9.22.jar", - "hash": "sha256-UQj61b4UmCXs46ABA8PCHPGv6VS7ZLhweJVyk511OMs=" + "org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.9.24": { + "kotlin-gradle-plugin-model-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-model/1.9.24/kotlin-gradle-plugin-model-1.9.24.jar", + "hash": "sha256-VbEQENUcmcMXybbvXpVJrUhXEhjN5hvYRIGMti0aPxk=" }, - "kotlin-gradle-plugin-model-1.9.22.module": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-model/1.9.22/kotlin-gradle-plugin-model-1.9.22.module", - "hash": "sha256-L/MBPfK6epteiwBOhIF1DI0PqVOtAHoZbYXSY2cdvq4=" + "kotlin-gradle-plugin-model-1.9.24.module": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-model/1.9.24/kotlin-gradle-plugin-model-1.9.24.module", + "hash": "sha256-cQXlShB2dqp9KAzFqUl0QX4qO1cD1w3WH8yr6wccSug=" }, - "kotlin-gradle-plugin-model-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-model/1.9.22/kotlin-gradle-plugin-model-1.9.22.pom", - "hash": "sha256-gfUmlHml2X7oeSpITIMr495DgggSZxlhUAHKyI5C9qg=" + "kotlin-gradle-plugin-model-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin-model/1.9.24/kotlin-gradle-plugin-model-1.9.24.pom", + "hash": "sha256-rquP4uqM+lwumZi1/nU4MaeYfCx4Q6U1MjYqB/pvABg=" } }, - "org.jetbrains.kotlin:kotlin-gradle-plugins-bom:1.9.22": { - "kotlin-gradle-plugins-bom-1.9.22.module": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugins-bom/1.9.22/kotlin-gradle-plugins-bom-1.9.22.module", - "hash": "sha256-Qj401h0iCxoN3BgUCGqM6rTa2ed5ArDOjLRyG789xu0=" + "org.jetbrains.kotlin:kotlin-gradle-plugins-bom:1.9.24": { + "kotlin-gradle-plugins-bom-1.9.24.module": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugins-bom/1.9.24/kotlin-gradle-plugins-bom-1.9.24.module", + "hash": "sha256-BEh8cNHIzCkBwDdNgarX+k/Rp5NeJa200LH69WkKzNs=" }, - "kotlin-gradle-plugins-bom-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugins-bom/1.9.22/kotlin-gradle-plugins-bom-1.9.22.pom", - "hash": "sha256-da2/XHjOJHwiuvNijQs/8c9+19N9YB66cwTXerdb3Z8=" + "kotlin-gradle-plugins-bom-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugins-bom/1.9.24/kotlin-gradle-plugins-bom-1.9.24.pom", + "hash": "sha256-wqVTvkQFNLjTMOV69hNjc1WLXgIPppzPsDsuWDx1nAA=" } }, - "org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.9.22": { - "kotlin-klib-commonizer-api-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-klib-commonizer-api/1.9.22/kotlin-klib-commonizer-api-1.9.22.jar", - "hash": "sha256-jC9lQpwYLi5KLgnLkQ5iuW227tKFWUuPga+CO35ZROI=" + "org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.9.24": { + "kotlin-klib-commonizer-api-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-klib-commonizer-api/1.9.24/kotlin-klib-commonizer-api-1.9.24.jar", + "hash": "sha256-U791bL22Uj3LTA16syrLZBR5bBz0nOQxvkC3DMV9tUk=" }, - "kotlin-klib-commonizer-api-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-klib-commonizer-api/1.9.22/kotlin-klib-commonizer-api-1.9.22.pom", - "hash": "sha256-EMrJcNMAo0icM/CzBBVv8DLZWVm+WqrDuIAoKtWGIv4=" + "kotlin-klib-commonizer-api-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-klib-commonizer-api/1.9.24/kotlin-klib-commonizer-api-1.9.24.pom", + "hash": "sha256-6pO4z4DdKXdKf7GEeclxH7uWPqhqwjq2FOepQAUsZ34=" } }, - "org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.9.22": { - "kotlin-klib-commonizer-embeddable-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-klib-commonizer-embeddable/1.9.22/kotlin-klib-commonizer-embeddable-1.9.22.jar", - "hash": "sha256-c/50PnTSEoPTg9C6voX9CMRCr8GnvYgIL42gUQ0FPUs=" + "org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.9.24": { + "kotlin-klib-commonizer-embeddable-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-klib-commonizer-embeddable/1.9.24/kotlin-klib-commonizer-embeddable-1.9.24.jar", + "hash": "sha256-AUyBXNeOK4yub4JeHOpPMd6v4HEBOh0G/jZXVzTDA6E=" }, - "kotlin-klib-commonizer-embeddable-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-klib-commonizer-embeddable/1.9.22/kotlin-klib-commonizer-embeddable-1.9.22.pom", - "hash": "sha256-dxghItppe2YqSRPX3Z/mu68ATOhH/YZ9oj6v8MTIJEs=" + "kotlin-klib-commonizer-embeddable-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-klib-commonizer-embeddable/1.9.24/kotlin-klib-commonizer-embeddable-1.9.24.pom", + "hash": "sha256-yshuQs6nFQwXJJW69k1hWar/vCjFm1+433K+p1iL9Rw=" } }, - "org.jetbrains.kotlin:kotlin-native-utils:1.9.22": { - "kotlin-native-utils-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-native-utils/1.9.22/kotlin-native-utils-1.9.22.jar", - "hash": "sha256-eGwSfdVTXbLDmuWXzQsMrZ6RS4PiNvHbAlEjXMnGUqw=" + "org.jetbrains.kotlin:kotlin-native-utils:1.9.24": { + "kotlin-native-utils-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-native-utils/1.9.24/kotlin-native-utils-1.9.24.jar", + "hash": "sha256-I1WvMJo7FgeymmF02Fe05umxs2EH1sHvu8PMSbpDRQw=" }, - "kotlin-native-utils-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-native-utils/1.9.22/kotlin-native-utils-1.9.22.pom", - "hash": "sha256-EcUUwF7qOuno4Wq0l5bxEd9DxzSCMeNfr0xCjMT3Q+o=" + "kotlin-native-utils-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-native-utils/1.9.24/kotlin-native-utils-1.9.24.pom", + "hash": "sha256-uvA25RxRge8Q8wVRXRnfawKWsLcIS0g9I4oImN630i0=" } }, - "org.jetbrains.kotlin:kotlin-project-model:1.9.22": { - "kotlin-project-model-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-project-model/1.9.22/kotlin-project-model-1.9.22.jar", - "hash": "sha256-zBHVwLGQnFsKCP0l7w51T/0r9Wyu9mX7eFEiI15UKhg=" + "org.jetbrains.kotlin:kotlin-project-model:1.9.24": { + "kotlin-project-model-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-project-model/1.9.24/kotlin-project-model-1.9.24.jar", + "hash": "sha256-Nri/x5EqvuVIWSxcI5keVRQODS17OhqTTdPOj6Q0+N0=" }, - "kotlin-project-model-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-project-model/1.9.22/kotlin-project-model-1.9.22.pom", - "hash": "sha256-659KFngb/ADM7IAw++XuIo5vKydxxQwmezIY/rAGW0A=" + "kotlin-project-model-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-project-model/1.9.24/kotlin-project-model-1.9.24.pom", + "hash": "sha256-sF4O4QAsGO3t626JrwfjvheFB9sT2hutbs52vmDz7es=" } }, - "org.jetbrains.kotlin:kotlin-reflect:1.9.22": { - "kotlin-reflect-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.9.22/kotlin-reflect-1.9.22.jar", - "hash": "sha256-d/MRyhOEgR1Rn9o4n8sSaL2qBY1gUEbg7edsA7DfPpc=" + "org.jetbrains.kotlin:kotlin-reflect:1.9.24": { + "kotlin-reflect-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.9.24/kotlin-reflect-1.9.24.jar", + "hash": "sha256-plFmRFu4XvgWzeEnJ5/gAX0rfMQ5s7lyOQ4bc21k6Uw=" }, - "kotlin-reflect-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.9.22/kotlin-reflect-1.9.22.pom", - "hash": "sha256-xxLjWN97kxi2j1RjlxsIhnODf8DKQoXRw4LIEC7da18=" + "kotlin-reflect-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.9.24/kotlin-reflect-1.9.24.pom", + "hash": "sha256-CghcMAUb1tSrdlrVoMUXnEE7NfdBjyiDFy+9m6GrzMk=" } }, "org.jetbrains.kotlin:kotlin-reflect:1.6.10": { @@ -335,126 +335,126 @@ "hash": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak=" } }, - "org.jetbrains.kotlin:kotlin-sam-with-receiver:1.9.22": { - "kotlin-sam-with-receiver-1.9.22-gradle82.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver/1.9.22/kotlin-sam-with-receiver-1.9.22-gradle82.jar", - "hash": "sha256-cvvN3L25ZaQ9uWfLKjGaXXp3NttQrCA8lrmatVc5wkE=" + "org.jetbrains.kotlin:kotlin-sam-with-receiver:1.9.24": { + "kotlin-sam-with-receiver-1.9.24-gradle82.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver/1.9.24/kotlin-sam-with-receiver-1.9.24-gradle82.jar", + "hash": "sha256-RYZmqqT/D73L7l77+enlM2cf6/4UKaxsqNEypmuo8wo=" }, - "kotlin-sam-with-receiver-1.9.22.module": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver/1.9.22/kotlin-sam-with-receiver-1.9.22.module", - "hash": "sha256-7rpm+YBjiXkSCkm5/aW4YeEHLWCQIzi1NyYH8kljDC0=" + "kotlin-sam-with-receiver-1.9.24.module": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver/1.9.24/kotlin-sam-with-receiver-1.9.24.module", + "hash": "sha256-8qBhnZRfeYWlBM1xxwH9/Kwu97M8otTDxGyuJl5CTzQ=" }, - "kotlin-sam-with-receiver-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver/1.9.22/kotlin-sam-with-receiver-1.9.22.pom", - "hash": "sha256-AD+clOG/rX8ZDm70F+kTOhCjH3hRMBPlkHS2DzZZLCY=" + "kotlin-sam-with-receiver-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver/1.9.24/kotlin-sam-with-receiver-1.9.24.pom", + "hash": "sha256-fqbN1ffpu5RtdIKwn+vDBmLNmXDG0CbYhA3Nqwy+PY8=" } }, - "org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin-embeddable:1.9.22": { - "kotlin-sam-with-receiver-compiler-plugin-embeddable-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver-compiler-plugin-embeddable/1.9.22/kotlin-sam-with-receiver-compiler-plugin-embeddable-1.9.22.jar", - "hash": "sha256-jqUUoRQABsxXoHMVsVoTaI7W/qFwfzrJjpzoCVu2z38=" + "org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin-embeddable:1.9.24": { + "kotlin-sam-with-receiver-compiler-plugin-embeddable-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver-compiler-plugin-embeddable/1.9.24/kotlin-sam-with-receiver-compiler-plugin-embeddable-1.9.24.jar", + "hash": "sha256-mbinMB9ylR2d5sJW1cBSMowL/zndEm7/tQ/nhkq3CWM=" }, - "kotlin-sam-with-receiver-compiler-plugin-embeddable-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver-compiler-plugin-embeddable/1.9.22/kotlin-sam-with-receiver-compiler-plugin-embeddable-1.9.22.pom", - "hash": "sha256-MM9L0JPCbn/Ryt/F1Qop5q60WXUSeia84rEJUfJPgqo=" + "kotlin-sam-with-receiver-compiler-plugin-embeddable-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-sam-with-receiver-compiler-plugin-embeddable/1.9.24/kotlin-sam-with-receiver-compiler-plugin-embeddable-1.9.24.pom", + "hash": "sha256-XBTVgzip+Vu/dZ2qibp0lC3PoawzFI68tPALrA9kHjg=" } }, - "org.jetbrains.kotlin:kotlin-script-runtime:1.9.22": { - "kotlin-script-runtime-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-script-runtime/1.9.22/kotlin-script-runtime-1.9.22.jar", - "hash": "sha256-uAZwV59/ktRz2NWDTwsST3dVxFmP6UskQYOwKDSDRXQ=" + "org.jetbrains.kotlin:kotlin-script-runtime:1.9.24": { + "kotlin-script-runtime-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-script-runtime/1.9.24/kotlin-script-runtime-1.9.24.jar", + "hash": "sha256-MUx9MI/nUGVDZbrGFEeAYTyRac89nh2vurkc+AvcNXw=" }, - "kotlin-script-runtime-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-script-runtime/1.9.22/kotlin-script-runtime-1.9.22.pom", - "hash": "sha256-/ra0ns9pEG1MEoXnH5ob2noSfO9oMC4+n9yCmKTjR5U=" + "kotlin-script-runtime-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-script-runtime/1.9.24/kotlin-script-runtime-1.9.24.pom", + "hash": "sha256-mGDF58qg5AlxmVCQEtoD01GX/teewKkKUOKPjeh1QE0=" } }, - "org.jetbrains.kotlin:kotlin-scripting-common:1.9.22": { - "kotlin-scripting-common-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-common/1.9.22/kotlin-scripting-common-1.9.22.jar", - "hash": "sha256-+lAMvwNJQ++BJvPT3GWvCf+Z3//kTFCZtPwu1b8vXcc=" + "org.jetbrains.kotlin:kotlin-scripting-common:1.9.24": { + "kotlin-scripting-common-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-common/1.9.24/kotlin-scripting-common-1.9.24.jar", + "hash": "sha256-KqeY6XgokBDYByTdGdn+GQtSQkFIEQT89RjAO8OdTks=" }, - "kotlin-scripting-common-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-common/1.9.22/kotlin-scripting-common-1.9.22.pom", - "hash": "sha256-ROURI7DCfm/ZM/wma00Nrw8GhKYq7Z/mhC6Noz8qKz8=" + "kotlin-scripting-common-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-common/1.9.24/kotlin-scripting-common-1.9.24.pom", + "hash": "sha256-S9rpUqslCWFRsfqERCooGupzwW0dTNVdigLDccqJusQ=" } }, - "org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.22": { - "kotlin-scripting-compiler-embeddable-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/1.9.22/kotlin-scripting-compiler-embeddable-1.9.22.jar", - "hash": "sha256-Ij/shIMCNEmc1MeiPqHJLroSfEGzXZux1LYdJBVa6zU=" + "org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.24": { + "kotlin-scripting-compiler-embeddable-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/1.9.24/kotlin-scripting-compiler-embeddable-1.9.24.jar", + "hash": "sha256-02gR+1yZeXaEH/PQqxnGt96RkomeQIK6Hz/7oH6UBfQ=" }, - "kotlin-scripting-compiler-embeddable-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/1.9.22/kotlin-scripting-compiler-embeddable-1.9.22.pom", - "hash": "sha256-wWCPP7yyqfdSPq0zWZwurc5MgSFhqeBmufSwBa97Qxw=" + "kotlin-scripting-compiler-embeddable-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/1.9.24/kotlin-scripting-compiler-embeddable-1.9.24.pom", + "hash": "sha256-FUgOkd8v/sfFfOHgpfFBBltFIrbbyJsv2yk9xsVwwMU=" } }, - "org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.22": { - "kotlin-scripting-compiler-impl-embeddable-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/1.9.22/kotlin-scripting-compiler-impl-embeddable-1.9.22.jar", - "hash": "sha256-OJkYFqKH/3YkHxp35/ERZIHU6To9tjJZplfd4g5tD2U=" + "org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.24": { + "kotlin-scripting-compiler-impl-embeddable-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/1.9.24/kotlin-scripting-compiler-impl-embeddable-1.9.24.jar", + "hash": "sha256-i/2A2RNqKjJhALC3O/saG7NX7d+uDYEiDkYSa4im7no=" }, - "kotlin-scripting-compiler-impl-embeddable-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/1.9.22/kotlin-scripting-compiler-impl-embeddable-1.9.22.pom", - "hash": "sha256-gmccM6lXsuKoINZqaSwvzmPjvwR/HLJeb7A5HF3c8uc=" + "kotlin-scripting-compiler-impl-embeddable-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/1.9.24/kotlin-scripting-compiler-impl-embeddable-1.9.24.pom", + "hash": "sha256-Sg6yUXF8Sih6ZBfp/QRBZ4xJatxnAdhasPFi8W0s+4c=" } }, - "org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.22": { - "kotlin-scripting-jvm-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-jvm/1.9.22/kotlin-scripting-jvm-1.9.22.jar", - "hash": "sha256-jRJ9dvz6BRfDbB6g4ijs4D1aRoJkKgH2R5prvccxKik=" + "org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.24": { + "kotlin-scripting-jvm-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-jvm/1.9.24/kotlin-scripting-jvm-1.9.24.jar", + "hash": "sha256-G9aQBgqUhDl3N0pFds2J10nk7srx+3pYA2/rOuVRxKw=" }, - "kotlin-scripting-jvm-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-jvm/1.9.22/kotlin-scripting-jvm-1.9.22.pom", - "hash": "sha256-cBJS6huo/4f8M0dqYePVxtnS3aQbqpiZTdaYDuE/vG0=" + "kotlin-scripting-jvm-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-scripting-jvm/1.9.24/kotlin-scripting-jvm-1.9.24.pom", + "hash": "sha256-kkM+M+MLpFvMS/hKxUsX0p8Dlkp2BwYW1sZS3WxhySU=" } }, - "org.jetbrains.kotlin:kotlin-stdlib:1.9.22": { - "kotlin-stdlib-1.9.22-all.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.9.22/kotlin-stdlib-1.9.22-all.jar", + "org.jetbrains.kotlin:kotlin-stdlib:1.9.24": { + "kotlin-stdlib-1.9.24-all.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.9.24/kotlin-stdlib-1.9.24-all.jar", "hash": "sha256-zsOLwzAucqiq+c3kNrWpBx7gMx4q0F6E2LuJczTX6dQ=" }, - "kotlin-stdlib-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.9.22/kotlin-stdlib-1.9.22.jar", - "hash": "sha256-ar4UbCeGQTi4dMzM/l9TTj65I8maG3tdRUlO5WlPPgo=" + "kotlin-stdlib-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.9.24/kotlin-stdlib-1.9.24.jar", + "hash": "sha256-hYuQJpbanPWFq52Y/8HCcSJpgoNU3+kQfjcRsISjZGg=" }, - "kotlin-stdlib-1.9.22.module": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.9.22/kotlin-stdlib-1.9.22.module", - "hash": "sha256-9IIxS1B5wUVfb7DUJXp0XRAcYSTOlhUiuob53JCQHkc=" + "kotlin-stdlib-1.9.24.module": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.9.24/kotlin-stdlib-1.9.24.module", + "hash": "sha256-8uKmVztbUmXEEtXFgfv46gDGKxC5yS1WdMnpfy8zNbM=" }, - "kotlin-stdlib-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.9.22/kotlin-stdlib-1.9.22.pom", - "hash": "sha256-zOLxUoXsgHijd0a1cwigVAQt1cwlQgxD9zt4V8JGjwM=" + "kotlin-stdlib-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.9.24/kotlin-stdlib-1.9.24.pom", + "hash": "sha256-uc6tTCIt7pDHT28BPTFqnlD4EaApMxPDNRrssvfM7V8=" } }, - "org.jetbrains.kotlin:kotlin-tooling-core:1.9.22": { - "kotlin-tooling-core-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-tooling-core/1.9.22/kotlin-tooling-core-1.9.22.jar", + "org.jetbrains.kotlin:kotlin-tooling-core:1.9.24": { + "kotlin-tooling-core-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-tooling-core/1.9.24/kotlin-tooling-core-1.9.24.jar", "hash": "sha256-iTjrl+NjINqj5vsqYP0qBbIy/0pVcXPFAZ8EW4gy2fQ=" }, - "kotlin-tooling-core-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-tooling-core/1.9.22/kotlin-tooling-core-1.9.22.pom", - "hash": "sha256-FPx/NcY15fzRvqU3q0+kQxLoQyUtUzNRnjaxJeoImyE=" + "kotlin-tooling-core-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-tooling-core/1.9.24/kotlin-tooling-core-1.9.24.pom", + "hash": "sha256-dbytE+kWgPzwEsjuGqGqxxn1m2IbOUyj/DLGJf+YclY=" } }, - "org.jetbrains.kotlin:kotlin-util-io:1.9.22": { - "kotlin-util-io-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-util-io/1.9.22/kotlin-util-io-1.9.22.jar", - "hash": "sha256-9telhJGjeLCDrRvq1IikheEdFgsx52wYwa1SDx0o9Gs=" + "org.jetbrains.kotlin:kotlin-util-io:1.9.24": { + "kotlin-util-io-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-util-io/1.9.24/kotlin-util-io-1.9.24.jar", + "hash": "sha256-u0z0H/UG5Q+bLDQiBkmIFupO3f6ImYqQtotDlLT6xfo=" }, - "kotlin-util-io-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-util-io/1.9.22/kotlin-util-io-1.9.22.pom", - "hash": "sha256-ZP1qINbsBAE7ttdWJ/ZYC7c2QdlIkJ1cFmTi53MQbe4=" + "kotlin-util-io-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-util-io/1.9.24/kotlin-util-io-1.9.24.pom", + "hash": "sha256-82VnN3kyTzMtOTkMeAd1h4BNEeznKv5K7uMlOtZTPFE=" } }, - "org.jetbrains.kotlin:kotlin-util-klib:1.9.22": { - "kotlin-util-klib-1.9.22.jar": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-util-klib/1.9.22/kotlin-util-klib-1.9.22.jar", - "hash": "sha256-pnnuL1EPOrkmkYGN5etbCQLobYjJdnTn20TcTyJSxfk=" + "org.jetbrains.kotlin:kotlin-util-klib:1.9.24": { + "kotlin-util-klib-1.9.24.jar": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-util-klib/1.9.24/kotlin-util-klib-1.9.24.jar", + "hash": "sha256-4NqKfwZIV8BIOmVyfRYtPtV84m1+R3ix8ADg0MDck3E=" }, - "kotlin-util-klib-1.9.22.pom": { - "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-util-klib/1.9.22/kotlin-util-klib-1.9.22.pom", - "hash": "sha256-Dep9//Cit0CIrJlwQ8vCQINdK/9Zs5/MiwysbqPrNpc=" + "kotlin-util-klib-1.9.24.pom": { + "url": "https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-util-klib/1.9.24/kotlin-util-klib-1.9.24.pom", + "hash": "sha256-krQjr9XnKbsRT3G1ip4DhF3+K9pWJFTrvbg8nYOyMHE=" } }, "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0": { diff --git a/fixtures/projects/artifacts/sources-javadoc/kotlin/build.gradle.kts b/fixtures/projects/artifacts/sources-javadoc/kotlin/build.gradle.kts new file mode 100644 index 0000000..35ee803 --- /dev/null +++ b/fixtures/projects/artifacts/sources-javadoc/kotlin/build.gradle.kts @@ -0,0 +1,14 @@ +plugins { + java +} + +repositories { + maven { + url = uri(System.getProperty("org.nixos.gradle2nix.m2")) + isAllowInsecureProtocol = true + } +} + +dependencies { + implementation("org.jetbrains:dummy:0.1.2") +} diff --git a/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2-javadoc.jar b/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2-javadoc.jar new file mode 100644 index 0000000..cc41076 Binary files /dev/null and b/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2-javadoc.jar differ diff --git a/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2-sources.jar b/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2-sources.jar new file mode 100644 index 0000000..ddee5d0 Binary files /dev/null and b/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2-sources.jar differ diff --git a/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2.jar b/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2.jar new file mode 100644 index 0000000..e416b07 Binary files /dev/null and b/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2.jar differ diff --git a/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2.pom b/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2.pom new file mode 100644 index 0000000..368ce9a --- /dev/null +++ b/fixtures/repositories/m2/org/jetbrains/dummy/0.1.2/dummy-0.1.2.pom @@ -0,0 +1,36 @@ + + + 4.0.0 + + org.jetbrains + dummy + 0.1.2 + + Dummy Project + + This is dummy project created to test bazel rules for sonatype publishing. + + https://www.jetbrains.com/ + + + + + + + andrefmrocha + Andre Rocha + https://andrefmrocha.me + + + + + Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + scm:git:github.com/andrefmrocha/Dummy-Project.git + scm:git:git@github.com:andrefmrocha/Dummy-Project.git + https://github.com/andrefmrocha/Dummy-Project + + \ No newline at end of file diff --git a/gradle.lock b/gradle.lock index e6fc361..fe29088 100644 --- a/gradle.lock +++ b/gradle.lock @@ -39,7 +39,31 @@ "hash": "sha256-SDllThaxcU509Rq8s3jYNWgUq49NUnPR3S8c6KOQrdw=" } }, + "com.github.ajalt:colormath:1.2.0": { + "colormath-1.2.0.jar": { + "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/colormath/1.2.0/colormath-1.2.0.jar", + "hash": "sha256-hqUffbsyq+QQ1UMx7GGsBoSlQ7JO6Xlnu6wKTmcp8DE=" + }, + "colormath-1.2.0.pom": { + "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/colormath/1.2.0/colormath-1.2.0.pom", + "hash": "sha256-a3EKjQoQu+PgV5Xvf03ux3j9eQBbDBvA5cF4Ae5r3Z0=" + } + }, + "com.github.ajalt:mordant:1.2.1": { + "mordant-1.2.1.jar": { + "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/mordant/1.2.1/mordant-1.2.1.jar", + "hash": "sha256-enFOuNJbTZun8lalTHVZzKh9heyQ1pQ98ZE8rUPbldY=" + }, + "mordant-1.2.1.pom": { + "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/mordant/1.2.1/mordant-1.2.1.pom", + "hash": "sha256-8DLcV/gHnB9WJvvF8PZfz14SNA3ictgpsLVOkpeacro=" + } + }, "com.github.ajalt.clikt:clikt:4.4.0": { + "clikt-4.4.0.jar": { + "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/clikt/clikt/4.4.0/clikt-4.4.0.jar", + "hash": "sha256-pGJRQhCAqew0Cm92KHhUIOuyx9Ccw7BVOZ+j+676doY=" + }, "clikt-4.4.0.module": { "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/clikt/clikt/4.4.0/clikt-4.4.0.module", "hash": "sha256-Z84+Rk1+r4GaBRQVd6IERrjkWbfk6RqCzoh7WKiOrWg=" @@ -64,6 +88,10 @@ } }, "com.github.ajalt.colormath:colormath:3.5.0": { + "colormath-3.5.0.jar": { + "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/colormath/colormath/3.5.0/colormath-3.5.0.jar", + "hash": "sha256-vSKbrzuv1VbRid5yRx2dF8KaofXTJEVgJwvvjmOiMZo=" + }, "colormath-3.5.0.module": { "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/colormath/colormath/3.5.0/colormath-3.5.0.module", "hash": "sha256-WgMLkC+VqHlsIUX2sppgwpeNxmQR4I6miLT7eK6p7wk=" @@ -88,6 +116,10 @@ } }, "com.github.ajalt.mordant:mordant:2.5.0": { + "mordant-2.5.0.jar": { + "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/mordant/mordant/2.5.0/mordant-2.5.0.jar", + "hash": "sha256-j80uWaxhZQy8d7paxqDaZlMD6xvVURejzZSpi+ir0xM=" + }, "mordant-2.5.0.module": { "url": "https://repo.maven.apache.org/maven2/com/github/ajalt/mordant/mordant/2.5.0/mordant-2.5.0.module", "hash": "sha256-KMoVBsOzOqA5GK9FWSHfiv49oLtN3O5sezdOAG3g4bY=" @@ -111,6 +143,16 @@ "hash": "sha256-095n7fFjX1ytZvkcVnXx+IfJDTuVlPfngQUgfxK04F0=" } }, + "com.typesafe:config:1.4.3": { + "config-1.4.3.jar": { + "url": "https://repo.maven.apache.org/maven2/com/typesafe/config/1.4.3/config-1.4.3.jar", + "hash": "sha256-itpMGFznJBZxLWPgta/cXwCcDN9AXl8m7+zfFWql37Y=" + }, + "config-1.4.3.pom": { + "url": "https://repo.maven.apache.org/maven2/com/typesafe/config/1.4.3/config-1.4.3.pom", + "hash": "sha256-tn6vqd0iD/h9ANumiACDpSlqXgxsAxA/XUuOHaEDD/M=" + } + }, "commons-io:commons-io:2.16.1": { "commons-io-2.16.1.jar": { "url": "https://repo.maven.apache.org/maven2/commons-io/commons-io/2.16.1/commons-io-2.16.1.jar", @@ -149,6 +191,20 @@ "hash": "sha256-OGHuMFGDS0aQTXOx4EpvAV2AXMTWnY/9/SEnNnMJKGY=" } }, + "dev.gradleplugins:gradle-api:7.5": { + "gradle-api-7.5.jar": { + "url": "https://repo.maven.apache.org/maven2/dev/gradleplugins/gradle-api/7.5/gradle-api-7.5.jar", + "hash": "sha256-wm5JdcUyu5s1DegalDuMbtVpb5keHhDUDBHVE7olVVg=" + }, + "gradle-api-7.5.module": { + "url": "https://repo.maven.apache.org/maven2/dev/gradleplugins/gradle-api/7.5/gradle-api-7.5.module", + "hash": "sha256-bmRVtMK+dOCpGqYm7hN2woPJt6gu2PSukMd8GUPrUx8=" + }, + "gradle-api-7.5.pom": { + "url": "https://repo.maven.apache.org/maven2/dev/gradleplugins/gradle-api/7.5/gradle-api-7.5.pom", + "hash": "sha256-6SxvU5El1yHW3Nv0GLe0Ro08FEQU5eqVo3eITWpdNFs=" + } + }, "dev.gradleplugins:gradle-api:6.9": { "gradle-api-6.9.jar": { "url": "https://repo.maven.apache.org/maven2/dev/gradleplugins/gradle-api/6.9/gradle-api-6.9.jar", @@ -169,6 +225,16 @@ "hash": "sha256-0jI5KonD79yFqymcWpToud01vALzQM6ERv9lmqFZE6A=" } }, + "io.github.classgraph:classgraph:4.8.175": { + "classgraph-4.8.175.jar": { + "url": "https://repo.maven.apache.org/maven2/io/github/classgraph/classgraph/4.8.175/classgraph-4.8.175.jar", + "hash": "sha256-R1CTCFOaPg2lAFPa/WR0VC3yEM6nJPsaeDVjAYNyCJo=" + }, + "classgraph-4.8.175.pom": { + "url": "https://repo.maven.apache.org/maven2/io/github/classgraph/classgraph/4.8.175/classgraph-4.8.175.pom", + "hash": "sha256-Zlw2Z4tXmcmF8KKhbSCe3Javd4l2VaY7KoAqa6+ITdo=" + } + }, "io.github.goooler.shadow:shadow-gradle-plugin:8.1.8": { "shadow-gradle-plugin-8.1.8.jar": { "url": "https://repo.maven.apache.org/maven2/io/github/goooler/shadow/shadow-gradle-plugin/8.1.8/shadow-gradle-plugin-8.1.8.jar", @@ -183,12 +249,648 @@ "hash": "sha256-Y6d/T9dWrZGSg9CoyaLtYIWw5hi919b1lj8BVUnK5Yg=" } }, + "io.github.java-diff-utils:java-diff-utils:4.12": { + "java-diff-utils-4.12.jar": { + "url": "https://repo.maven.apache.org/maven2/io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar", + "hash": "sha256-mZCiA5d49rTMlHkBQcKGiGTqzuBiDGxFlFESGpAc1bU=" + }, + "java-diff-utils-4.12.pom": { + "url": "https://repo.maven.apache.org/maven2/io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.pom", + "hash": "sha256-wm4JftyOxoBdExmBfSPU5JbMEBXMVdxSAhEtj2qRZfw=" + } + }, + "io.github.java-diff-utils:java-diff-utils-parent:4.12": { + "java-diff-utils-parent-4.12.pom": { + "url": "https://repo.maven.apache.org/maven2/io/github/java-diff-utils/java-diff-utils-parent/4.12/java-diff-utils-parent-4.12.pom", + "hash": "sha256-2BHPnxGMwsrRMMlCetVcF01MCm8aAKwa4cm8vsXESxk=" + } + }, + "io.kotest:kotest-assertions-core:6.0.0.M1": { + "kotest-assertions-core-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-core/6.0.0.M1/kotest-assertions-core-6.0.0.M1.jar", + "hash": "sha256-tp6DpEds915cGk1Q5oTZ9BYu0QgC+tewqoYy2oWVoVc=" + }, + "kotest-assertions-core-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-core/6.0.0.M1/kotest-assertions-core-6.0.0.M1.module", + "hash": "sha256-hY7lnKFOArGkYEA5vaEDRK/sC8X8IiIXMg4WUAiLhUg=" + }, + "kotest-assertions-core-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-core/6.0.0.M1/kotest-assertions-core-6.0.0.M1.pom", + "hash": "sha256-gOGZBWaJilPKHVNJBTDw3rvPDgbo/QDCGUWFJGqJ2lc=" + } + }, + "io.kotest:kotest-assertions-core-jvm:6.0.0.M1": { + "kotest-assertions-core-jvm-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-core-jvm/6.0.0.M1/kotest-assertions-core-jvm-6.0.0.M1.jar", + "hash": "sha256-Cw7IF3V65bfkptlO7lgU6DZQ31IfbRAL6682vxoMMEo=" + }, + "kotest-assertions-core-jvm-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-core-jvm/6.0.0.M1/kotest-assertions-core-jvm-6.0.0.M1.module", + "hash": "sha256-D7Mk0KcZ4J9H/2l0liaNEIZHNqmsI2Hl1MJ7vDXmyyk=" + }, + "kotest-assertions-core-jvm-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-core-jvm/6.0.0.M1/kotest-assertions-core-jvm-6.0.0.M1.pom", + "hash": "sha256-2v7AfSF4lgTFBSOl1/+Y2eB4Fn04h6ioVE/kjvPdGtw=" + } + }, + "io.kotest:kotest-assertions-shared:6.0.0.M1": { + "kotest-assertions-shared-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-shared/6.0.0.M1/kotest-assertions-shared-6.0.0.M1.jar", + "hash": "sha256-pGpmvFNA99tBp9RejmqnBspC9MALwmFqiVJ/y+M3O7w=" + }, + "kotest-assertions-shared-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-shared/6.0.0.M1/kotest-assertions-shared-6.0.0.M1.module", + "hash": "sha256-aL6YkwzdfdjNg8rY0suSEn0ODR5FAjLbb8GuLBtQuE4=" + }, + "kotest-assertions-shared-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-shared/6.0.0.M1/kotest-assertions-shared-6.0.0.M1.pom", + "hash": "sha256-BPrrrML6EmB5UgxdcVMdL7UuK4mmL3aYIocQbeCoro4=" + } + }, + "io.kotest:kotest-assertions-shared-jvm:6.0.0.M1": { + "kotest-assertions-shared-jvm-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-shared-jvm/6.0.0.M1/kotest-assertions-shared-jvm-6.0.0.M1.jar", + "hash": "sha256-ydm56kiJaX9gxLS98laWieXmFDHMF53M2Fm7GUaeKtg=" + }, + "kotest-assertions-shared-jvm-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-shared-jvm/6.0.0.M1/kotest-assertions-shared-jvm-6.0.0.M1.module", + "hash": "sha256-0pC1zNP6K9s6QM7ywl4NGf2lFhhtstvYd3XB2ubzUAM=" + }, + "kotest-assertions-shared-jvm-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-assertions-shared-jvm/6.0.0.M1/kotest-assertions-shared-jvm-6.0.0.M1.pom", + "hash": "sha256-umNRBwM+G8JBCQfj6TXk2i1UpkDhML/netqVeUJ3fbI=" + } + }, + "io.kotest:kotest-common:6.0.0.M1": { + "kotest-common-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-common/6.0.0.M1/kotest-common-6.0.0.M1.jar", + "hash": "sha256-2BgjMt95gHPJK6yO32Le8qiXKMrP1BvtCycK4nTWdhI=" + }, + "kotest-common-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-common/6.0.0.M1/kotest-common-6.0.0.M1.module", + "hash": "sha256-nvKGVNUcK6d6EaBtEVQiKJD5zlY3ZorvQYGMLK3gRZ8=" + }, + "kotest-common-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-common/6.0.0.M1/kotest-common-6.0.0.M1.pom", + "hash": "sha256-jSCiKSVNDjBJYFibf3Rd0l3mB3R4BDWKgH5pBPN4G1U=" + } + }, + "io.kotest:kotest-common-jvm:6.0.0.M1": { + "kotest-common-jvm-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-common-jvm/6.0.0.M1/kotest-common-jvm-6.0.0.M1.jar", + "hash": "sha256-j8iKisNVTHsBlrbZyJGZ6rw5ot6NKCiFZ4IkV2sO46w=" + }, + "kotest-common-jvm-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-common-jvm/6.0.0.M1/kotest-common-jvm-6.0.0.M1.module", + "hash": "sha256-whvM8E0skCKkK1h0Y8BsBZQ7fMA0n6BwnhF91ViBxFQ=" + }, + "kotest-common-jvm-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-common-jvm/6.0.0.M1/kotest-common-jvm-6.0.0.M1.pom", + "hash": "sha256-xBXcrs4I5TagpwlPLhhqWC/+0kFMiyWTcNNwOd9nFCk=" + } + }, + "io.kotest:kotest-extensions:6.0.0.M1": { + "kotest-extensions-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-extensions/6.0.0.M1/kotest-extensions-6.0.0.M1.module", + "hash": "sha256-pBeT402bvXSfMs3/UjWlz6N4wRHE5zeavj93KfLsmd8=" + }, + "kotest-extensions-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-extensions/6.0.0.M1/kotest-extensions-6.0.0.M1.pom", + "hash": "sha256-plAzPhkqIa4WVYXm/hFFCp3Gc4BkLKFVVpUohf5UClQ=" + } + }, + "io.kotest:kotest-extensions-jvm:6.0.0.M1": { + "kotest-extensions-jvm-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-extensions-jvm/6.0.0.M1/kotest-extensions-jvm-6.0.0.M1.jar", + "hash": "sha256-M35yaKIi/vnfSr5YdftcXL+bHV0fzO89GdM8/SLmGio=" + }, + "kotest-extensions-jvm-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-extensions-jvm/6.0.0.M1/kotest-extensions-jvm-6.0.0.M1.module", + "hash": "sha256-3VifqqRqzisMMan/beC8VCL2sejFdTIrLaTRDVrl3Ww=" + }, + "kotest-extensions-jvm-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-extensions-jvm/6.0.0.M1/kotest-extensions-jvm-6.0.0.M1.pom", + "hash": "sha256-a5D58olUV1xzqwbyyVsaB9pXrZZWQ3L9s5lbyXYHvEE=" + } + }, + "io.kotest:kotest-framework-api:6.0.0.M1": { + "kotest-framework-api-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-api/6.0.0.M1/kotest-framework-api-6.0.0.M1.module", + "hash": "sha256-ezKNRZ3V2z400jHdT8g+VzwRNEJBmd5ECXk/O65ruuA=" + }, + "kotest-framework-api-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-api/6.0.0.M1/kotest-framework-api-6.0.0.M1.pom", + "hash": "sha256-bIMONLANjBQaIz6XFk04JwKRV+N9RD85XHVu3TW2tPo=" + } + }, + "io.kotest:kotest-framework-api-jvm:6.0.0.M1": { + "kotest-framework-api-jvm-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-api-jvm/6.0.0.M1/kotest-framework-api-jvm-6.0.0.M1.jar", + "hash": "sha256-1naxIIrjlWiyZR0UjvvPpNgoK1Er/RLvdgtJXcQoYNA=" + }, + "kotest-framework-api-jvm-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-api-jvm/6.0.0.M1/kotest-framework-api-jvm-6.0.0.M1.module", + "hash": "sha256-w4DQdGXtsqs0WIma1drKj5D2XQ8Wjsn24549aeCYvlE=" + }, + "kotest-framework-api-jvm-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-api-jvm/6.0.0.M1/kotest-framework-api-jvm-6.0.0.M1.pom", + "hash": "sha256-2uXIojQtvC2EgKQHlWnZxtPkzbcXE3UbJ9HrL1IROU4=" + } + }, + "io.kotest:kotest-framework-discovery:6.0.0.M1": { + "kotest-framework-discovery-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-discovery/6.0.0.M1/kotest-framework-discovery-6.0.0.M1.module", + "hash": "sha256-KLTK+Of1cViotJjiWdfY3LPSqMVZUD1Nm6ESs4kjfDM=" + }, + "kotest-framework-discovery-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-discovery/6.0.0.M1/kotest-framework-discovery-6.0.0.M1.pom", + "hash": "sha256-FIJC0D8l10xOPAgms7R2d2LCM77pp0caqU86p0S4a5o=" + } + }, + "io.kotest:kotest-framework-discovery-jvm:6.0.0.M1": { + "kotest-framework-discovery-jvm-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-discovery-jvm/6.0.0.M1/kotest-framework-discovery-jvm-6.0.0.M1.jar", + "hash": "sha256-dZ8+PVVCN0nlTEokN0It70Q5bKl2wmQXkE/Bp9wvRZA=" + }, + "kotest-framework-discovery-jvm-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-discovery-jvm/6.0.0.M1/kotest-framework-discovery-jvm-6.0.0.M1.module", + "hash": "sha256-e2cfY8Cthh2vHjEKDeA9PM+SeF/MIdHDK4Jlk92DGvc=" + }, + "kotest-framework-discovery-jvm-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-discovery-jvm/6.0.0.M1/kotest-framework-discovery-jvm-6.0.0.M1.pom", + "hash": "sha256-mHG+KO73KvDJioTVPI4Ptxeuq8pC82WYsSjHMtFNUlI=" + } + }, + "io.kotest:kotest-framework-engine:6.0.0.M1": { + "kotest-framework-engine-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-engine/6.0.0.M1/kotest-framework-engine-6.0.0.M1.module", + "hash": "sha256-1lnXV2komUc55HUYMT/hrRLSqFYZCVUpbrlyeKu5pnI=" + }, + "kotest-framework-engine-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-engine/6.0.0.M1/kotest-framework-engine-6.0.0.M1.pom", + "hash": "sha256-g3BYpdOZNSV+vQpBdZoJXBpOxEJVmQcPCmTZXdtFT0w=" + } + }, + "io.kotest:kotest-framework-engine-jvm:6.0.0.M1": { + "kotest-framework-engine-jvm-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-engine-jvm/6.0.0.M1/kotest-framework-engine-jvm-6.0.0.M1.jar", + "hash": "sha256-N7nEwvDVLB14HelQfhY3ckbtmtl69aD+MOkAidmbqow=" + }, + "kotest-framework-engine-jvm-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-engine-jvm/6.0.0.M1/kotest-framework-engine-jvm-6.0.0.M1.module", + "hash": "sha256-n3boijkB5+UyyVx1zTisWKDYIeOi9lxZMDEbxIEW4Zk=" + }, + "kotest-framework-engine-jvm-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-framework-engine-jvm/6.0.0.M1/kotest-framework-engine-jvm-6.0.0.M1.pom", + "hash": "sha256-UgHBxHXChmVZgXauABlsRWO0J4DrlAB6OrGDn44fGmw=" + } + }, + "io.kotest:kotest-runner-junit5:6.0.0.M1": { + "kotest-runner-junit5-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-runner-junit5/6.0.0.M1/kotest-runner-junit5-6.0.0.M1.jar", + "hash": "sha256-CJ4kQXv59sNO7Fcg7rssvMguooVezvkBM+sX4QedWGg=" + }, + "kotest-runner-junit5-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-runner-junit5/6.0.0.M1/kotest-runner-junit5-6.0.0.M1.module", + "hash": "sha256-GWeZ8dqZucPVBF1Be7ZsYxC8wrve6tnkLIB1zBHSBCw=" + }, + "kotest-runner-junit5-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-runner-junit5/6.0.0.M1/kotest-runner-junit5-6.0.0.M1.pom", + "hash": "sha256-VTdzOvdN/GAWy9KH7DmTJwdv9reoHkws61dHSIpSl7c=" + } + }, + "io.kotest:kotest-runner-junit5-jvm:6.0.0.M1": { + "kotest-runner-junit5-jvm-6.0.0.M1.jar": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-runner-junit5-jvm/6.0.0.M1/kotest-runner-junit5-jvm-6.0.0.M1.jar", + "hash": "sha256-dTIStxhT1V7lDmaZhyXy6RVvUTXyeES4fxYz452kk1s=" + }, + "kotest-runner-junit5-jvm-6.0.0.M1.module": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-runner-junit5-jvm/6.0.0.M1/kotest-runner-junit5-jvm-6.0.0.M1.module", + "hash": "sha256-VWiw7hSbgSqjRlORw2RdBej2N8ksHIrC1mTRBDBnQw8=" + }, + "kotest-runner-junit5-jvm-6.0.0.M1.pom": { + "url": "https://repo.maven.apache.org/maven2/io/kotest/kotest-runner-junit5-jvm/6.0.0.M1/kotest-runner-junit5-jvm-6.0.0.M1.pom", + "hash": "sha256-ivdpAE+c1+BNuv4d8wSX/7L2rwvV9AON8X2cbpfbAjM=" + } + }, + "io.ktor:ktor-events:3.0.2": { + "ktor-events-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-events/3.0.2/ktor-events-3.0.2.jar", + "hash": "sha256-ZBz1NB8sOSVrrG1K/MEZiGJyVSWpPsWrBD3b6zNObhw=" + }, + "ktor-events-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-events/3.0.2/ktor-events-3.0.2.module", + "hash": "sha256-gDMC92/Yd3fsCqDzrdDEzEJDdUxmWBkbOfJkCLE/Y2Y=" + }, + "ktor-events-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-events/3.0.2/ktor-events-3.0.2.pom", + "hash": "sha256-LdQZtlxRWM7zwU3nbZK9xPCD8LVvqUIq4GKK6WOuCFA=" + } + }, + "io.ktor:ktor-events-jvm:3.0.2": { + "ktor-events-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-events-jvm/3.0.2/ktor-events-jvm-3.0.2.jar", + "hash": "sha256-EIqZtNrT15yhE+ojQ6B2nfx30Ue4Xr7NPRa3S07T+5s=" + }, + "ktor-events-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-events-jvm/3.0.2/ktor-events-jvm-3.0.2.module", + "hash": "sha256-1R+ro3hzYdHH95WQpuBgPFZoZxOX1YC0MNlZ6ImDFkM=" + }, + "ktor-events-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-events-jvm/3.0.2/ktor-events-jvm-3.0.2.pom", + "hash": "sha256-B973LVJCKSAxbMhRGDZAoAOI3Jin7Z7wqhA5jfrZ0tM=" + } + }, + "io.ktor:ktor-http:3.0.2": { + "ktor-http-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http/3.0.2/ktor-http-3.0.2.jar", + "hash": "sha256-kOxkNWFpkcIfFRLWjIS0rPdEKSiXDKj6hh6mdhlg2Fc=" + }, + "ktor-http-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http/3.0.2/ktor-http-3.0.2.module", + "hash": "sha256-UZWy50GlTTqpoYQxqm6r5+1YtxbL9j1kqgV+hFsHw/s=" + }, + "ktor-http-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http/3.0.2/ktor-http-3.0.2.pom", + "hash": "sha256-CiPqrXbQwqXyxM6+d1kvdRDMBHYcCGMDV9jX41IGhYQ=" + } + }, + "io.ktor:ktor-http-cio:3.0.2": { + "ktor-http-cio-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-cio/3.0.2/ktor-http-cio-3.0.2.jar", + "hash": "sha256-1BR+9SWaatFfFF97Gzc22uuXggHZ/exXiG7fE7aOrSg=" + }, + "ktor-http-cio-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-cio/3.0.2/ktor-http-cio-3.0.2.module", + "hash": "sha256-BPbSu6h8n/aZ9UMLC/9Kw396dYSPn2JFkftGwcrLJ2Q=" + }, + "ktor-http-cio-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-cio/3.0.2/ktor-http-cio-3.0.2.pom", + "hash": "sha256-DB1QE/nbF+X28cBHEChG5KhYNVlogqUdT9OBv9FJci4=" + } + }, + "io.ktor:ktor-http-cio-jvm:3.0.2": { + "ktor-http-cio-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-cio-jvm/3.0.2/ktor-http-cio-jvm-3.0.2.jar", + "hash": "sha256-HT3wPRaI2SKPEvJZh1AIEiDJrGis0dOhZkagazlPMzI=" + }, + "ktor-http-cio-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-cio-jvm/3.0.2/ktor-http-cio-jvm-3.0.2.module", + "hash": "sha256-p1BebRBwFxqg880ELZO8CzlTjeD//DCbLqiIxZpI4xs=" + }, + "ktor-http-cio-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-cio-jvm/3.0.2/ktor-http-cio-jvm-3.0.2.pom", + "hash": "sha256-/a9F8FaQPZw/2znO+xly4jiOiQROnKPjLqWVTN+7PCk=" + } + }, + "io.ktor:ktor-http-jvm:3.0.2": { + "ktor-http-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-jvm/3.0.2/ktor-http-jvm-3.0.2.jar", + "hash": "sha256-3QrzkRwD5KfMU0EHgAHXEZ+RVAp1p59tcEnR1kPkq0I=" + }, + "ktor-http-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-jvm/3.0.2/ktor-http-jvm-3.0.2.module", + "hash": "sha256-R7PjucE1MPjp7moIdOteXBnor93OWC5hYU/VJOyF98A=" + }, + "ktor-http-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-http-jvm/3.0.2/ktor-http-jvm-3.0.2.pom", + "hash": "sha256-xN9yB+oy42D9AN1pZWk9pvb0aR8rnkjt1tq1/519I0Y=" + } + }, + "io.ktor:ktor-io:3.0.2": { + "ktor-io-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-io/3.0.2/ktor-io-3.0.2.jar", + "hash": "sha256-Q6cjyr20RmeioZg5qaETdkkeWb/mZBplElTzovU9Wmc=" + }, + "ktor-io-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-io/3.0.2/ktor-io-3.0.2.module", + "hash": "sha256-FVZihwPt788DvjKpyWTszxQeCUFRASdPQ9qa7C+N8nA=" + }, + "ktor-io-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-io/3.0.2/ktor-io-3.0.2.pom", + "hash": "sha256-MCE6X+ubqmc/kG6ykivsg1j1i+Vnb89lWOmNqbvLwyA=" + } + }, + "io.ktor:ktor-io-jvm:3.0.2": { + "ktor-io-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-io-jvm/3.0.2/ktor-io-jvm-3.0.2.jar", + "hash": "sha256-WfzYa6aIYnSRh29Ck7EU9ZjzItZnlHXUlVOe4fPou6M=" + }, + "ktor-io-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-io-jvm/3.0.2/ktor-io-jvm-3.0.2.module", + "hash": "sha256-CXu8INbFxBhvvzj875Fc0hTK24I5JAYRiwSKLv/WysE=" + }, + "ktor-io-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-io-jvm/3.0.2/ktor-io-jvm-3.0.2.pom", + "hash": "sha256-uGOgwvPB7maetQcEqeUPD8xGZzLows8xJl3kwsbXPXQ=" + } + }, + "io.ktor:ktor-network:3.0.2": { + "ktor-network-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-network/3.0.2/ktor-network-3.0.2.module", + "hash": "sha256-VreyKGKH2d4SHbSaC2bqmdVP+wqqNcg1PXJuxh/qMM4=" + }, + "ktor-network-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-network/3.0.2/ktor-network-3.0.2.pom", + "hash": "sha256-oWt9kpFLqyWsO/lymj9xCKxaMLaDWyCeIW8jdmQbQnA=" + } + }, + "io.ktor:ktor-network-jvm:3.0.2": { + "ktor-network-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-network-jvm/3.0.2/ktor-network-jvm-3.0.2.jar", + "hash": "sha256-sBVfxVp5uMiKxJ+TVuFf4U8kLwBS781zh+DmaqpoI9Y=" + }, + "ktor-network-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-network-jvm/3.0.2/ktor-network-jvm-3.0.2.module", + "hash": "sha256-ttCirk6iL/wcjqIdoiR1+iuRjQwA70BERCJLKIZHxdM=" + }, + "ktor-network-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-network-jvm/3.0.2/ktor-network-jvm-3.0.2.pom", + "hash": "sha256-0RLWMDnvqaSa80tGxTKVadncN/1Bh/SK+gUA0m6C6vU=" + } + }, + "io.ktor:ktor-serialization:3.0.2": { + "ktor-serialization-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-serialization/3.0.2/ktor-serialization-3.0.2.jar", + "hash": "sha256-pAMHIG3A87TjCKZU5NpDXhtlhqE14RP73VRTFNA2bWY=" + }, + "ktor-serialization-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-serialization/3.0.2/ktor-serialization-3.0.2.module", + "hash": "sha256-Z72k1YEflmRYblUUlqzcYTJ9eJ66ZsY3hQA0pUSMjpo=" + }, + "ktor-serialization-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-serialization/3.0.2/ktor-serialization-3.0.2.pom", + "hash": "sha256-Iw8L9xvwNOT+D4vQr0Qh1qUDbCYlp+43QFvoIzm0Jgw=" + } + }, + "io.ktor:ktor-serialization-jvm:3.0.2": { + "ktor-serialization-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-serialization-jvm/3.0.2/ktor-serialization-jvm-3.0.2.jar", + "hash": "sha256-CDdsfpgCs80whuTrxVd9cQKOhsh5y2MFUFd0/YEh39o=" + }, + "ktor-serialization-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-serialization-jvm/3.0.2/ktor-serialization-jvm-3.0.2.module", + "hash": "sha256-ZkjBBn80Ypsy1sK5JjDviEypRQv0gonx+J2fEhRd8fI=" + }, + "ktor-serialization-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-serialization-jvm/3.0.2/ktor-serialization-jvm-3.0.2.pom", + "hash": "sha256-CdsOuO6vSgVRXFHqhEnsepNDA8RClx+vBaKjv+Pdcg8=" + } + }, + "io.ktor:ktor-server-core:3.0.2": { + "ktor-server-core-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-core/3.0.2/ktor-server-core-3.0.2.jar", + "hash": "sha256-b0ZpCfJjgnO1VtkLoniwZeEJDP5fpzRKHZVyClh82i4=" + }, + "ktor-server-core-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-core/3.0.2/ktor-server-core-3.0.2.module", + "hash": "sha256-GPF6EieVXqH7z/oXZHgg+qiNhzrElYVoy8SCem1YphM=" + }, + "ktor-server-core-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-core/3.0.2/ktor-server-core-3.0.2.pom", + "hash": "sha256-aQzC+oOnhxaFiHruTVVbsH7ZI5qRKqbda0ycJcnnmr4=" + } + }, + "io.ktor:ktor-server-core-jvm:3.0.2": { + "ktor-server-core-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-core-jvm/3.0.2/ktor-server-core-jvm-3.0.2.jar", + "hash": "sha256-5rzA6mlZXJnGXoSisYivCQSlhSFZjd56kCj5T4CYIXw=" + }, + "ktor-server-core-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-core-jvm/3.0.2/ktor-server-core-jvm-3.0.2.module", + "hash": "sha256-7GxyVx8uUoetA1hWp2Hs10kibrOiBVGpQQ22lqMePYk=" + }, + "ktor-server-core-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-core-jvm/3.0.2/ktor-server-core-jvm-3.0.2.pom", + "hash": "sha256-xNI5HgllgJxmrC4rCh1cjFiq4mb8hcgosDdhD6iotoI=" + } + }, + "io.ktor:ktor-server-netty:3.0.2": { + "ktor-server-netty-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-netty/3.0.2/ktor-server-netty-3.0.2.jar", + "hash": "sha256-NgvHtUFuBUlBqi1jYRZVXN7V4rM8Fz9wrUpVJovQNXo=" + }, + "ktor-server-netty-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-netty/3.0.2/ktor-server-netty-3.0.2.module", + "hash": "sha256-rg36CHNaeMAtcxmRS+YHkekgEl8Jym5G0krxd71/Xvo=" + }, + "ktor-server-netty-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-netty/3.0.2/ktor-server-netty-3.0.2.pom", + "hash": "sha256-iwSGoWABS5TvZd9M6KD6VXm+y7MLAPlwUL225WS9hE0=" + } + }, + "io.ktor:ktor-server-netty-jvm:3.0.2": { + "ktor-server-netty-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-netty-jvm/3.0.2/ktor-server-netty-jvm-3.0.2.jar", + "hash": "sha256-HzFnd0b9c/feo/rg/YvA4xmgsVx8pEGJHbr0p/z8yvY=" + }, + "ktor-server-netty-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-netty-jvm/3.0.2/ktor-server-netty-jvm-3.0.2.module", + "hash": "sha256-qLBQq7/bQFcvhqXMRP/FZ85qJ3Lw3HzQif8jvaIqx1k=" + }, + "ktor-server-netty-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-server-netty-jvm/3.0.2/ktor-server-netty-jvm-3.0.2.pom", + "hash": "sha256-NwpljDgyTkqxWZn45pUYxsALYbXrphBEK4bjSa8Egbs=" + } + }, + "io.ktor:ktor-utils:3.0.2": { + "ktor-utils-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-utils/3.0.2/ktor-utils-3.0.2.jar", + "hash": "sha256-+roobS9H8fEkQhaFd8Lo2o/+AHX/dyzlgc0ADS9ptto=" + }, + "ktor-utils-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-utils/3.0.2/ktor-utils-3.0.2.module", + "hash": "sha256-FvJ59eE7NVrIX9ySgb76GU0VcXVjPdGeE6RINy3ks5M=" + }, + "ktor-utils-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-utils/3.0.2/ktor-utils-3.0.2.pom", + "hash": "sha256-jntaz7lKKXBp+Umzp2KGC8yBs/HiOJUHnZAh5+W68k0=" + } + }, + "io.ktor:ktor-utils-jvm:3.0.2": { + "ktor-utils-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-utils-jvm/3.0.2/ktor-utils-jvm-3.0.2.jar", + "hash": "sha256-cwaoTtIvBj8u13WHwxiRuTKF8JfQjDecVW6g2EPb//8=" + }, + "ktor-utils-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-utils-jvm/3.0.2/ktor-utils-jvm-3.0.2.module", + "hash": "sha256-MJWmuFPiKKfb8L84jcJ/IKkP4iah/57z8fpvZtuz1j8=" + }, + "ktor-utils-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-utils-jvm/3.0.2/ktor-utils-jvm-3.0.2.pom", + "hash": "sha256-lfCMMbGhKTL3T1y3mJwDkydNHzk1ILJXv5cZ+C2XI/A=" + } + }, + "io.ktor:ktor-websockets:3.0.2": { + "ktor-websockets-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-websockets/3.0.2/ktor-websockets-3.0.2.jar", + "hash": "sha256-L0eHngczu7drw88P0zLRLXlumabVNqRT2oIAYsW3Fhw=" + }, + "ktor-websockets-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-websockets/3.0.2/ktor-websockets-3.0.2.module", + "hash": "sha256-DcUFQli1THa9GXeGimgBdRdQLTtBema6bSlKotGSzfw=" + }, + "ktor-websockets-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-websockets/3.0.2/ktor-websockets-3.0.2.pom", + "hash": "sha256-yW3TFLMH+shA8TJso0VclCAtNHhqvb1xPZUBAXjx4LE=" + } + }, + "io.ktor:ktor-websockets-jvm:3.0.2": { + "ktor-websockets-jvm-3.0.2.jar": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-websockets-jvm/3.0.2/ktor-websockets-jvm-3.0.2.jar", + "hash": "sha256-bsdftoQdf2byvZBJXStvm7Vv5nAkFLn/D1aP4hlGt1g=" + }, + "ktor-websockets-jvm-3.0.2.module": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-websockets-jvm/3.0.2/ktor-websockets-jvm-3.0.2.module", + "hash": "sha256-iRPBc41/jRvKo21t8fMIU/ZVnkAhQXDvAL5nyj2Ledk=" + }, + "ktor-websockets-jvm-3.0.2.pom": { + "url": "https://repo.maven.apache.org/maven2/io/ktor/ktor-websockets-jvm/3.0.2/ktor-websockets-jvm-3.0.2.pom", + "hash": "sha256-oZxfS31lfjDvbEsFOAkhMIMpQSV3XxsTLlXcAnSjkkQ=" + } + }, "io.netty:netty-bom:4.1.107.Final": { "netty-bom-4.1.107.Final.pom": { "url": "https://repo.maven.apache.org/maven2/io/netty/netty-bom/4.1.107.Final/netty-bom-4.1.107.Final.pom", "hash": "sha256-w2mXVYv7ThHyAN2m7i5BpF8t+eGu9njtoI553Yk4whA=" } }, + "io.netty:netty-buffer:4.1.115.Final": { + "netty-buffer-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-buffer/4.1.115.Final/netty-buffer-4.1.115.Final.jar", + "hash": "sha256-SnszHTdwxWarcOsCoNH+7WO5XPbk1oyP53jEyd4tEW0=" + }, + "netty-buffer-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-buffer/4.1.115.Final/netty-buffer-4.1.115.Final.pom", + "hash": "sha256-lKNYHqnk/8OFuyN5YPaO8ehAifFk6uhino/WbYqvATk=" + } + }, + "io.netty:netty-codec:4.1.115.Final": { + "netty-codec-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-codec/4.1.115.Final/netty-codec-4.1.115.Final.jar", + "hash": "sha256-zRia+3Dsbqz83906X0crTnBaXJHVvT7wOGQh8q4V7Hc=" + }, + "netty-codec-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-codec/4.1.115.Final/netty-codec-4.1.115.Final.pom", + "hash": "sha256-rBZll+gRecqDACdmBUCJEMwDDv7BIjbOnDj+/BaAGqA=" + } + }, + "io.netty:netty-codec-http:4.1.115.Final": { + "netty-codec-http-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-codec-http/4.1.115.Final/netty-codec-http-4.1.115.Final.jar", + "hash": "sha256-5tvpccWTc7uumAICHGO5vB2IAP6tOChj1n5555sCMWY=" + }, + "netty-codec-http-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-codec-http/4.1.115.Final/netty-codec-http-4.1.115.Final.pom", + "hash": "sha256-+nBk9y7lLhNsm2v7WhoNUQ3LcwktcZQaOVFMMipZ3kA=" + } + }, + "io.netty:netty-codec-http2:4.1.115.Final": { + "netty-codec-http2-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-codec-http2/4.1.115.Final/netty-codec-http2-4.1.115.Final.jar", + "hash": "sha256-y+2YKaXVgukeMU4gntzpoMLrNp8ju0+3SlvIt5kCIsI=" + }, + "netty-codec-http2-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-codec-http2/4.1.115.Final/netty-codec-http2-4.1.115.Final.pom", + "hash": "sha256-iHR7PjjiHMH0LqpE0wFCNILA/CbEZ7P3j7nt+96To+E=" + } + }, + "io.netty:netty-common:4.1.115.Final": { + "netty-common-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-common/4.1.115.Final/netty-common-4.1.115.Final.jar", + "hash": "sha256-OfG1oqqk6rXQNt/QSG41pCdt9BLgktNrLYi0lHBaE00=" + }, + "netty-common-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-common/4.1.115.Final/netty-common-4.1.115.Final.pom", + "hash": "sha256-YoY2H13Wp7JsQpCSQruGKeOu7CVa0NP/ExvLUVLDGyE=" + } + }, + "io.netty:netty-handler:4.1.115.Final": { + "netty-handler-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-handler/4.1.115.Final/netty-handler-4.1.115.Final.jar", + "hash": "sha256-WXICjMhjt0knzg0R+41Y9l2iVgvvVgL+jOiQO9MGygc=" + }, + "netty-handler-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-handler/4.1.115.Final/netty-handler-4.1.115.Final.pom", + "hash": "sha256-jCgCWjUvwDhGzgSWCrmENBi8bILL5UWegGCk80We/pA=" + } + }, + "io.netty:netty-parent:4.1.115.Final": { + "netty-parent-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-parent/4.1.115.Final/netty-parent-4.1.115.Final.pom", + "hash": "sha256-2DKUK44qccLM/dAkeouEAQXOQKruxLjeNjWPKNk5QeM=" + } + }, + "io.netty:netty-resolver:4.1.115.Final": { + "netty-resolver-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-resolver/4.1.115.Final/netty-resolver-4.1.115.Final.jar", + "hash": "sha256-ezRV0U9ZgodloAVzvDln3Fk3nodL1ipn6xkm1lEhCdE=" + }, + "netty-resolver-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-resolver/4.1.115.Final/netty-resolver-4.1.115.Final.pom", + "hash": "sha256-U6SRz8h2CD69Z+nDFcGMI0i7KPU2bKXReL2OhhHwq04=" + } + }, + "io.netty:netty-transport:4.1.115.Final": { + "netty-transport-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport/4.1.115.Final/netty-transport-4.1.115.Final.jar", + "hash": "sha256-w9cfqqc2/9LJJgqwtJgCS4FMOcfXZL6oET+pjebivdI=" + }, + "netty-transport-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport/4.1.115.Final/netty-transport-4.1.115.Final.pom", + "hash": "sha256-lndHHFQJrc7R9s22WjrYAV4ulwmQq6SXpO7KGKvDY/k=" + } + }, + "io.netty:netty-transport-classes-epoll:4.1.115.Final": { + "netty-transport-classes-epoll-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-classes-epoll/4.1.115.Final/netty-transport-classes-epoll-4.1.115.Final.jar", + "hash": "sha256-QKpntEY8ygqzRuOTyH9sN+iVTRjsi3hWfZW1WqHys6o=" + }, + "netty-transport-classes-epoll-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-classes-epoll/4.1.115.Final/netty-transport-classes-epoll-4.1.115.Final.pom", + "hash": "sha256-5XzHAvJLczVldBzjpp2JorX13L2jTFK3ef0CumjECYc=" + } + }, + "io.netty:netty-transport-classes-kqueue:4.1.115.Final": { + "netty-transport-classes-kqueue-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-classes-kqueue/4.1.115.Final/netty-transport-classes-kqueue-4.1.115.Final.jar", + "hash": "sha256-d9Ogkw+GhwtI5mhjXiFODIEgX5DyAS3HDIQXtZqDnQQ=" + }, + "netty-transport-classes-kqueue-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-classes-kqueue/4.1.115.Final/netty-transport-classes-kqueue-4.1.115.Final.pom", + "hash": "sha256-bj1CYGEuPlrw/NkELSCpJJ9/ZDwoKQbDSypWj33qXmk=" + } + }, + "io.netty:netty-transport-native-epoll:4.1.115.Final": { + "netty-transport-native-epoll-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-native-epoll/4.1.115.Final/netty-transport-native-epoll-4.1.115.Final.jar", + "hash": "sha256-kJfIThD3+4HRDHIibQ/E+F9IZLLOjrlOSFYbZ5oGqMM=" + }, + "netty-transport-native-epoll-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-native-epoll/4.1.115.Final/netty-transport-native-epoll-4.1.115.Final.pom", + "hash": "sha256-Dy5UbbBAt8vr2RHb3vD4l9e/NrnK6aU+BHpJyyxJeww=" + } + }, + "io.netty:netty-transport-native-kqueue:4.1.115.Final": { + "netty-transport-native-kqueue-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-native-kqueue/4.1.115.Final/netty-transport-native-kqueue-4.1.115.Final.jar", + "hash": "sha256-2XJnNIdRyC2hzhLpAcKJkkNCTVJk8EehQj7D8i6ma6Q=" + }, + "netty-transport-native-kqueue-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-native-kqueue/4.1.115.Final/netty-transport-native-kqueue-4.1.115.Final.pom", + "hash": "sha256-dl50EU5zgf3N0bGJ1pW2JBE1kPRxmA/ZZ0Xx8pUAFMU=" + } + }, + "io.netty:netty-transport-native-unix-common:4.1.115.Final": { + "netty-transport-native-unix-common-4.1.115.Final.jar": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-native-unix-common/4.1.115.Final/netty-transport-native-unix-common-4.1.115.Final.jar", + "hash": "sha256-SwPnFicmV8KWsCBLV8FAsrLKlrGnRsktpB9ZWJLsbYg=" + }, + "netty-transport-native-unix-common-4.1.115.Final.pom": { + "url": "https://repo.maven.apache.org/maven2/io/netty/netty-transport-native-unix-common/4.1.115.Final/netty-transport-native-unix-common-4.1.115.Final.pom", + "hash": "sha256-lgdSccV4+q3/7G8TOZHqMIhKaaQeByRaX/jV5+Xdnwc=" + } + }, "it.unimi.dsi:fastutil-core:8.5.12": { "fastutil-core-8.5.12.jar": { "url": "https://repo.maven.apache.org/maven2/it/unimi/dsi/fastutil-core/8.5.12/fastutil-core-8.5.12.jar", @@ -211,6 +913,32 @@ "hash": "sha256-p3AsSHAmgCeEtXl7YjMKi41lkr8PRzeyXGel6sgmWcA=" } }, + "net.bytebuddy:byte-buddy:1.10.9": { + "byte-buddy-1.10.9.jar": { + "url": "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.10.9/byte-buddy-1.10.9.jar", + "hash": "sha256-B7nKbi+XDLA/SyVlHfHy/OJx1JG0TgQJgniHeG9pLU0=" + }, + "byte-buddy-1.10.9.pom": { + "url": "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.10.9/byte-buddy-1.10.9.pom", + "hash": "sha256-QIgdSUiocRWTRicPNpRbwpAlV3xstX9qXdDHwiIGnaw=" + } + }, + "net.bytebuddy:byte-buddy-agent:1.10.9": { + "byte-buddy-agent-1.10.9.jar": { + "url": "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.10.9/byte-buddy-agent-1.10.9.jar", + "hash": "sha256-+9BS0tTNFvcHVHxGhiHGt/uELH7Ihm0BLsvGF43h85Q=" + }, + "byte-buddy-agent-1.10.9.pom": { + "url": "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.10.9/byte-buddy-agent-1.10.9.pom", + "hash": "sha256-GZB0lfvBwjFsjrrXbwe5bRAf6xp+PAm/4VJv0/xu7J0=" + } + }, + "net.bytebuddy:byte-buddy-parent:1.10.9": { + "byte-buddy-parent-1.10.9.pom": { + "url": "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.10.9/byte-buddy-parent-1.10.9.pom", + "hash": "sha256-k9nTgHec0XaMUrS87oLL+u3vmkow3oeuBrRB4WNP04w=" + } + }, "net.java.dev.jna:jna:5.14.0": { "jna-5.14.0.jar": { "url": "https://repo.maven.apache.org/maven2/net/java/dev/jna/jna/5.14.0/jna-5.14.0.jar", @@ -221,12 +949,28 @@ "hash": "sha256-4E4llRUB3yWtx7Hc22xTNzyUiXuE0+FJISknY+4Hrj0=" } }, + "net.java.dev.jna:jna-platform:5.9.0": { + "jna-platform-5.9.0.jar": { + "url": "https://repo.maven.apache.org/maven2/net/java/dev/jna/jna-platform/5.9.0/jna-platform-5.9.0.jar", + "hash": "sha256-GQO8bYfzq5ICOVe5H0WpyOs1FbrQMDVs6XcgHlFBtyQ=" + }, + "jna-platform-5.9.0.pom": { + "url": "https://repo.maven.apache.org/maven2/net/java/dev/jna/jna-platform/5.9.0/jna-platform-5.9.0.pom", + "hash": "sha256-C9pdmOS+kmHwnN+u5vokWYh5CDTX/K3I4v3ZPH1kGCU=" + } + }, "org.apache:apache:31": { "apache-31.pom": { "url": "https://repo.maven.apache.org/maven2/org/apache/apache/31/apache-31.pom", "hash": "sha256-VV0MnqppwEKv+SSSe5OB6PgXQTbTVe6tRFIkRS5ikcw=" } }, + "org.apache:apache:29": { + "apache-29.pom": { + "url": "https://repo.maven.apache.org/maven2/org/apache/apache/29/apache-29.pom", + "hash": "sha256-PkkDcXSCC70N9jQgqXclWIY5iVTCoGKR+mH3J6w1s3c=" + } + }, "org.apache.ant:ant:1.10.14": { "ant-1.10.14.jar": { "url": "https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.10.14/ant-1.10.14.jar", @@ -253,12 +997,28 @@ "hash": "sha256-CBYQamBniMJw767yFWLPy9j0uvfafBG85RSetWYbMx8=" } }, + "org.apache.commons:commons-lang3:3.13.0": { + "commons-lang3-3.13.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.13.0/commons-lang3-3.13.0.jar", + "hash": "sha256-gvUoz3GMejwvMPxbx4TjxqChCxdgXa254WyC7eEeYGQ=" + }, + "commons-lang3-3.13.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.13.0/commons-lang3-3.13.0.pom", + "hash": "sha256-/3zqTrI53WIRdRDavlGo1fDJ5MxCa8PowsIhpxj4ZIQ=" + } + }, "org.apache.commons:commons-parent:69": { "commons-parent-69.pom": { "url": "https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/69/commons-parent-69.pom", "hash": "sha256-1Q2pw5vcqCPWGNG0oDtz8ZZJf8uGFv0NpyfIYjWSqbs=" } }, + "org.apache.commons:commons-parent:58": { + "commons-parent-58.pom": { + "url": "https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/58/commons-parent-58.pom", + "hash": "sha256-LUsS4YiZBjq9fHUni1+pejcp2Ah4zuy2pA2UbpwNVZA=" + } + }, "org.apache.logging:logging-parent:10.6.0": { "logging-parent-10.6.0.pom": { "url": "https://repo.maven.apache.org/maven2/org/apache/logging/logging-parent/10.6.0/logging-parent-10.6.0.pom", @@ -351,6 +1111,20 @@ "hash": "sha256-us0USYVzbUMmuuRChHM78eMTKX3NolNGTkYpsddoGPc=" } }, + "org.apiguardian:apiguardian-api:1.1.2": { + "apiguardian-api-1.1.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar", + "hash": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=" + }, + "apiguardian-api-1.1.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.module", + "hash": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=" + }, + "apiguardian-api-1.1.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.pom", + "hash": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA=" + } + }, "org.codehaus.groovy:groovy:3.0.15": { "groovy-3.0.15.jar": { "url": "https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/3.0.15/groovy-3.0.15.jar", @@ -371,6 +1145,16 @@ "hash": "sha256-mhyxiooB/kLaUw9AWc7f0JSNbozzEA2uHuKXfB6lWsw=" } }, + "org.codehaus.groovy:groovy:3.0.10": { + "groovy-3.0.10.jar": { + "url": "https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/3.0.10/groovy-3.0.10.jar", + "hash": "sha256-3/762oKUhlvlA1UVwDIPtnlEPShfSl+K2tzwDBEw6Ew=" + }, + "groovy-3.0.10.pom": { + "url": "https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/3.0.10/groovy-3.0.10.pom", + "hash": "sha256-SYKt9KbGxQVnsL489JSCXmwqJ9izhx2eGIIqdCcreao=" + } + }, "org.codehaus.groovy:groovy:2.5.12": { "groovy-2.5.12.jar": { "url": "https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/2.5.12/groovy-2.5.12.jar", @@ -441,6 +1225,38 @@ "hash": "sha256-00QQSm7mGdplmEA8JdA6qqrw9U6WRv01EkWN9Xyarrg=" } }, + "org.eclipse.jetty:jetty-parent:21": { + "jetty-parent-21.pom": { + "url": "https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-parent/21/jetty-parent-21.pom", + "hash": "sha256-eXLp7G84UqjuHuXU0Q3Mnc1gd7El+TWqlrNnpsgjN/U=" + } + }, + "org.eclipse.jetty.alpn:alpn-api:1.1.3.v20160715": { + "alpn-api-1.1.3.v20160715.jar": { + "url": "https://repo.maven.apache.org/maven2/org/eclipse/jetty/alpn/alpn-api/1.1.3.v20160715/alpn-api-1.1.3.v20160715.jar", + "hash": "sha256-B76ZdYtpnhlPcPuXhNlCAtxsmCEod4KePXKwIPJmBXY=" + }, + "alpn-api-1.1.3.v20160715.pom": { + "url": "https://repo.maven.apache.org/maven2/org/eclipse/jetty/alpn/alpn-api/1.1.3.v20160715/alpn-api-1.1.3.v20160715.pom", + "hash": "sha256-FrRveqUg7VDUR4oM9ndjje3AFDtCNMJ48WDLS9JUgq8=" + } + }, + "org.fusesource:fusesource-pom:1.12": { + "fusesource-pom-1.12.pom": { + "url": "https://repo.maven.apache.org/maven2/org/fusesource/fusesource-pom/1.12/fusesource-pom-1.12.pom", + "hash": "sha256-xA2WDarc73sBwbHGZXr7rE//teUxaPj8sLKLhOb9zKE=" + } + }, + "org.fusesource.jansi:jansi:2.4.1": { + "jansi-2.4.1.jar": { + "url": "https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi/2.4.1/jansi-2.4.1.jar", + "hash": "sha256-Ll53Wp3Fj/prvWqm8JnWL4ti3N60w8O7vlzyMBvC3ME=" + }, + "jansi-2.4.1.pom": { + "url": "https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi/2.4.1/jansi-2.4.1.pom", + "hash": "sha256-P5jZeaTTVZ+HefuwBLNK51Fq+t9RDhHffMPNBz6xuzs=" + } + }, "org.gradle:gradle-tooling-api:8.10.2": { "gradle-tooling-api-8.10.2.jar": { "url": "https://repo.gradle.org/gradle/libs-releases/org/gradle/gradle-tooling-api/8.10.2/gradle-tooling-api-8.10.2.jar", @@ -506,6 +1322,10 @@ } }, "org.jetbrains:markdown:0.7.0": { + "markdown-0.7.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/markdown/0.7.0/markdown-0.7.0.jar", + "hash": "sha256-CyFbRlFaxzcfaK2efq6i+Pkr6R83v70DsAjLVvFnUCE=" + }, "markdown-0.7.0.module": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/markdown/0.7.0/markdown-0.7.0.module", "hash": "sha256-fRDYKtUAs+iccbTS3Byl1L3Xq/BIcostrtWzsPuVxzs=" @@ -773,6 +1593,22 @@ "hash": "sha256-sF4O4QAsGO3t626JrwfjvheFB9sT2hutbs52vmDz7es=" } }, + "org.jetbrains.kotlin:kotlin-reflect:2.0.21": { + "kotlin-reflect-2.0.21.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.0.21/kotlin-reflect-2.0.21.jar", + "hash": "sha256-OtL8rQwJ3cCSLeurRETWEhRLe0Zbdai7dYfiDd+v15k=" + }, + "kotlin-reflect-2.0.21.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.0.21/kotlin-reflect-2.0.21.pom", + "hash": "sha256-Aqt66rA8aPQBAwJuXpwnc2DLw2CBilsuNrmjqdjosEk=" + } + }, + "org.jetbrains.kotlin:kotlin-reflect:2.0.20": { + "kotlin-reflect-2.0.20.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.0.20/kotlin-reflect-2.0.20.pom", + "hash": "sha256-Y+Y4sFbdRJ5vUtcenCxdxdsNFkRDI5cOFtf8DWWDk9s=" + } + }, "org.jetbrains.kotlin:kotlin-reflect:1.9.24": { "kotlin-reflect-1.9.24.jar": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.9.24/kotlin-reflect-1.9.24.jar", @@ -910,6 +1746,10 @@ } }, "org.jetbrains.kotlin:kotlin-stdlib:1.9.22": { + "kotlin-stdlib-1.9.22-all.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.22/kotlin-stdlib-1.9.22-all.jar", + "hash": "sha256-zsOLwzAucqiq+c3kNrWpBx7gMx4q0F6E2LuJczTX6dQ=" + }, "kotlin-stdlib-1.9.22.jar": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.22/kotlin-stdlib-1.9.22.jar", "hash": "sha256-ar4UbCeGQTi4dMzM/l9TTj65I8maG3tdRUlO5WlPPgo=" @@ -979,13 +1819,57 @@ "hash": "sha256-4VQlt07TxI1q7g8h3u9MQ5npbV4lZ3vxVZVNOBYRZII=" } }, + "org.jetbrains.kotlinx:atomicfu:0.23.1": { + "atomicfu-0.23.1.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/atomicfu/0.23.1/atomicfu-0.23.1.jar", + "hash": "sha256-fbhmDr5LkbtHjts2FsTjpQulnAfcpRfR4ShMA/6GrFc=" + }, + "atomicfu-0.23.1.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/atomicfu/0.23.1/atomicfu-0.23.1.module", + "hash": "sha256-Pokf5ja1UQgZIQD884saObzRwlM+I8Ri/AdkTur8sg8=" + }, + "atomicfu-0.23.1.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/atomicfu/0.23.1/atomicfu-0.23.1.pom", + "hash": "sha256-aIt5ABn0F87APmldZWexc7o7skGJVBZi8U/2ZEG1Pas=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.9.0": { + "kotlinx-coroutines-bom-1.9.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.9.0/kotlinx-coroutines-bom-1.9.0.pom", + "hash": "sha256-vqVRHpAB8sWTq1CA3xMbIZq14ghcxZec5YPqzUlG/Xg=" + } + }, "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1": { "kotlinx-coroutines-bom-1.8.1.pom": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.8.1/kotlinx-coroutines-bom-1.8.1.pom", "hash": "sha256-Vj5Kop+o/gmm4XRtCltRMI98fe3EaNxaDKgQpIWHcDA=" } }, + "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.0": { + "kotlinx-coroutines-bom-1.8.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.8.0/kotlinx-coroutines-bom-1.8.0.pom", + "hash": "sha256-Ejnp2+E5fNWXE0KVayURvDrOe2QYQuQ3KgiNz6i5rVU=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0": { + "kotlinx-coroutines-core-1.9.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.9.0/kotlinx-coroutines-core-1.9.0.jar", + "hash": "sha256-cInDPBRYZQIHYNPbyl5GNBM8w91/65Jugw9t5u3iisY=" + }, + "kotlinx-coroutines-core-1.9.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.9.0/kotlinx-coroutines-core-1.9.0.module", + "hash": "sha256-rVNANKlTtOEsvuuHTGat+LHKFN8V/g0uZUeqNOht/so=" + }, + "kotlinx-coroutines-core-1.9.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.9.0/kotlinx-coroutines-core-1.9.0.pom", + "hash": "sha256-dw8nk9BeKwJ7nHmZOOwdLU7xQc5YGceAwyw5lcrbCkc=" + } + }, "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1": { + "kotlinx-coroutines-core-1.8.1.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.8.1/kotlinx-coroutines-core-1.8.1.jar", + "hash": "sha256-2vUPHJQEsiSh1t1Shvjo7n1j/oB/eOqY9xeVwYO2Al8=" + }, "kotlinx-coroutines-core-1.8.1.module": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.8.1/kotlinx-coroutines-core-1.8.1.module", "hash": "sha256-CMuvMyW1Tg+O+NqF5OtZb32Ub4Q+XRYAOFRj8yaKTvA=" @@ -995,6 +1879,20 @@ "hash": "sha256-+IkY2/qHh8TRcasCVToUrR3viqmwxcLCDMmUVdMkHiI=" } }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.9.0": { + "kotlinx-coroutines-core-jvm-1.9.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.9.0/kotlinx-coroutines-core-jvm-1.9.0.jar", + "hash": "sha256-rYnCiSI15nDyItgZyz2BGIFDyxmgW1nfmImuQmn1xwo=" + }, + "kotlinx-coroutines-core-jvm-1.9.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.9.0/kotlinx-coroutines-core-jvm-1.9.0.module", + "hash": "sha256-syGomeQNPONFcHqiz9qZg60NzGn+p0qbi/kGoWwc+Kk=" + }, + "kotlinx-coroutines-core-jvm-1.9.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.9.0/kotlinx-coroutines-core-jvm-1.9.0.pom", + "hash": "sha256-GcSImUGzqgmL1XzGTwL5razGVNVxoSqVbeS1uxSMZJk=" + } + }, "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1": { "kotlinx-coroutines-core-jvm-1.8.1.jar": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.8.1/kotlinx-coroutines-core-jvm-1.8.1.jar", @@ -1023,13 +1921,189 @@ "hash": "sha256-U2IuA3eN+EQPwBIgGjW7S9/kAWTv7GErvvze7LL/wqs=" } }, + "org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.9.0": { + "kotlinx-coroutines-debug-1.9.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-debug/1.9.0/kotlinx-coroutines-debug-1.9.0.jar", + "hash": "sha256-z+CPvhrn/dA1GT5e48GwQFKMWp1RC05DaRYX6YhsUdY=" + }, + "kotlinx-coroutines-debug-1.9.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-debug/1.9.0/kotlinx-coroutines-debug-1.9.0.module", + "hash": "sha256-IKvUTHqeQO4ECHCiQQ3ntqO+9/7fm+AKKixc7NEcFAI=" + }, + "kotlinx-coroutines-debug-1.9.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-debug/1.9.0/kotlinx-coroutines-debug-1.9.0.pom", + "hash": "sha256-ZsEBCf2drK+v8Luc2HoQD2xwy8HF94tnrL0DpJ4M4vM=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.8.0": { + "kotlinx-coroutines-debug-1.8.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-debug/1.8.0/kotlinx-coroutines-debug-1.8.0.module", + "hash": "sha256-piquUrrd+ncw5Wey6kHzYOoQqbN8FiJDqNIaWnySHGI=" + }, + "kotlinx-coroutines-debug-1.8.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-debug/1.8.0/kotlinx-coroutines-debug-1.8.0.pom", + "hash": "sha256-EZPR60nUsUgNqlrGIBctfcmZFidM2Ra+NpQVLA5vb3w=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.9.0": { + "kotlinx-coroutines-jdk8-1.9.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-jdk8/1.9.0/kotlinx-coroutines-jdk8-1.9.0.jar", + "hash": "sha256-0YE4yMHDSyuprzcyQec0E3b9+A0ecC36kJKdMgEx83w=" + }, + "kotlinx-coroutines-jdk8-1.9.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-jdk8/1.9.0/kotlinx-coroutines-jdk8-1.9.0.module", + "hash": "sha256-UZXcGgvvl7cdtHJ+R9QlIFaTtT9Gs4MbVeqQtk0Qj9U=" + }, + "kotlinx-coroutines-jdk8-1.9.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-jdk8/1.9.0/kotlinx-coroutines-jdk8-1.9.0.pom", + "hash": "sha256-i4RBO/nktxLB5mvV4mkihWTfePlxKaLw3msyuJ/MoOo=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.8.0": { + "kotlinx-coroutines-jdk8-1.8.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-jdk8/1.8.0/kotlinx-coroutines-jdk8-1.8.0.module", + "hash": "sha256-HKyxz+5adTBFR1rzCF+4DcnMzjA3VKnVIApB3/W+AOk=" + }, + "kotlinx-coroutines-jdk8-1.8.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-jdk8/1.8.0/kotlinx-coroutines-jdk8-1.8.0.pom", + "hash": "sha256-4ZIahLHW5/k6SUgCfRhUHXWjDi6KZNem5DEAMZVR8r0=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0": { + "kotlinx-coroutines-test-1.9.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test/1.9.0/kotlinx-coroutines-test-1.9.0.module", + "hash": "sha256-Ol84cAsqTrKQ41B6Dj5PnMC9Y+cMyn8V6RHb83xPRMo=" + }, + "kotlinx-coroutines-test-1.9.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test/1.9.0/kotlinx-coroutines-test-1.9.0.pom", + "hash": "sha256-5rSq4UN1DLG2TgOX1LltxhNbpqssM3OG31TfDZjN8SE=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.8.0": { + "kotlinx-coroutines-test-1.8.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test/1.8.0/kotlinx-coroutines-test-1.8.0.jar", + "hash": "sha256-M38krxxh/EfSeKm+Jv0XVLmTOwaB8YXrm+CqngkGchk=" + }, + "kotlinx-coroutines-test-1.8.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test/1.8.0/kotlinx-coroutines-test-1.8.0.module", + "hash": "sha256-DsPHX/2ZpqLfto8wfy8vcxQckz5Yt3sQTxyMrDr9U5Q=" + }, + "kotlinx-coroutines-test-1.8.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test/1.8.0/kotlinx-coroutines-test-1.8.0.pom", + "hash": "sha256-NV8/pvBjDl6ZuHxywcQ4YgKin0lpFeOHWaOK3gsGkAQ=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.9.0": { + "kotlinx-coroutines-test-jvm-1.9.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test-jvm/1.9.0/kotlinx-coroutines-test-jvm-1.9.0.jar", + "hash": "sha256-aLh/qQ2z2rHnlP9geDZAh8B/h+XkpNDI0ycqIi7o/n4=" + }, + "kotlinx-coroutines-test-jvm-1.9.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test-jvm/1.9.0/kotlinx-coroutines-test-jvm-1.9.0.module", + "hash": "sha256-4jZL61QHILPBF5V4UzedSuIiBYrYj3OirHMCbINvg58=" + }, + "kotlinx-coroutines-test-jvm-1.9.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test-jvm/1.9.0/kotlinx-coroutines-test-jvm-1.9.0.pom", + "hash": "sha256-6AjygQsda5Tejk3JcY31vTPuva2j/b8vfuz6/VaYK/0=" + } + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.8.0": { + "kotlinx-coroutines-test-jvm-1.8.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test-jvm/1.8.0/kotlinx-coroutines-test-jvm-1.8.0.module", + "hash": "sha256-HS0Zc6L0GowMEmPmCyXneS9ji4xV18ocbQZztkvlfac=" + }, + "kotlinx-coroutines-test-jvm-1.8.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-test-jvm/1.8.0/kotlinx-coroutines-test-jvm-1.8.0.pom", + "hash": "sha256-BtHlPqNm5to7FxkwV1+RYnzxnkUqTnqfDeMNLwQdZFE=" + } + }, + "org.jetbrains.kotlinx:kotlinx-io-bytestring:0.5.4": { + "kotlinx-io-bytestring-0.5.4.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-bytestring/0.5.4/kotlinx-io-bytestring-0.5.4.jar", + "hash": "sha256-jMGXmjmiO2RLGRCjv22efNg4aGSKDb3auRs44DxfTBk=" + }, + "kotlinx-io-bytestring-0.5.4.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-bytestring/0.5.4/kotlinx-io-bytestring-0.5.4.module", + "hash": "sha256-npefmLnoEmKwjAHFosKwBSEwE9SigNR1nBkEYFvcZ3c=" + }, + "kotlinx-io-bytestring-0.5.4.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-bytestring/0.5.4/kotlinx-io-bytestring-0.5.4.pom", + "hash": "sha256-bKYOZ58tAJw94jCnSaYwqxi8Z+YAoj+4d4xPu820thQ=" + } + }, + "org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.5.4": { + "kotlinx-io-bytestring-jvm-0.5.4.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "sha256-H8luGbRFOH28SRg9DMYjxaYb+kfIbPgar1r/SEUVT6s=" + }, + "kotlinx-io-bytestring-jvm-0.5.4.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.module", + "hash": "sha256-D6a3n1wQfnNp/IMquGDLY1Ac96oH/ovZTRUTzmFOAoc=" + }, + "kotlinx-io-bytestring-jvm-0.5.4.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.pom", + "hash": "sha256-DMAsF8sJSA/qlURmv8/O+JYq6+AuV+35tHZ0ZEek1eQ=" + } + }, + "org.jetbrains.kotlinx:kotlinx-io-core:0.5.4": { + "kotlinx-io-core-0.5.4.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-core/0.5.4/kotlinx-io-core-0.5.4.jar", + "hash": "sha256-7XupL4/u1v8jBKsvd4DYf4HITxVfce9zwfhsW/mM8EM=" + }, + "kotlinx-io-core-0.5.4.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-core/0.5.4/kotlinx-io-core-0.5.4.module", + "hash": "sha256-3j/q85vfcKlbT85FjMMI6MNzfPl/rIcvSbT26/VXdgU=" + }, + "kotlinx-io-core-0.5.4.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-core/0.5.4/kotlinx-io-core-0.5.4.pom", + "hash": "sha256-ot/XmJrts7onKtrlmPfuuDTmnhVNSuylMFYwwY+K9CU=" + } + }, + "org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.5.4": { + "kotlinx-io-core-jvm-0.5.4.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "sha256-3DWHwSeVrwEjFZHA7wmkE538qBE8KYknO5a5WABoU8M=" + }, + "kotlinx-io-core-jvm-0.5.4.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.module", + "hash": "sha256-PTizMz62XBMqfFZuAxDfoJEw2t+SirkjBHAstPFmjbE=" + }, + "kotlinx-io-core-jvm-0.5.4.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.pom", + "hash": "sha256-Diy3MY4zyA2U8M/EyEn8YsXLzQwxYOyhojm2ebn+dXM=" + } + }, + "org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3": { + "kotlinx-serialization-bom-1.7.3.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-bom/1.7.3/kotlinx-serialization-bom-1.7.3.pom", + "hash": "sha256-QiakkcW1nOkJ9ztlqpiUQZHI3Kw4JWN8a+EGnmtYmkY=" + } + }, "org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3": { "kotlinx-serialization-bom-1.6.3.pom": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-bom/1.6.3/kotlinx-serialization-bom-1.6.3.pom", "hash": "sha256-KdaYQrt9RJviqkreakp85qpVgn0KsT0Wh0X+bZVzkzI=" } }, + "org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3": { + "kotlinx-serialization-core-1.7.3.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core/1.7.3/kotlinx-serialization-core-1.7.3.jar", + "hash": "sha256-SFBoLg5ZdoYmlTMNhOuGmfHcXVCEn2JSY5lcyIvG83s=" + }, + "kotlinx-serialization-core-1.7.3.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core/1.7.3/kotlinx-serialization-core-1.7.3.module", + "hash": "sha256-OdCabgLfKzJVhECmTGKPnGBfroxPYJAyF5gzTIIXfmQ=" + }, + "kotlinx-serialization-core-1.7.3.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core/1.7.3/kotlinx-serialization-core-1.7.3.pom", + "hash": "sha256-MdERd2ua93fKFnED8tYfvuqjLa5t1mNZBrdtgni6VzA=" + } + }, "org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3": { + "kotlinx-serialization-core-1.6.3.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core/1.6.3/kotlinx-serialization-core-1.6.3.jar", + "hash": "sha256-L6Ba/w8zpw2oc8CaD/ZrXVTM3BXjnnykuCYz5wx5LzQ=" + }, "kotlinx-serialization-core-1.6.3.module": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core/1.6.3/kotlinx-serialization-core-1.6.3.module", "hash": "sha256-Nh6eMetylhdLdAhaxJ7dhKTzkAupQxpOQM0cI952oyg=" @@ -1039,6 +2113,20 @@ "hash": "sha256-0tv2/BU2TIlp1qq24+zMdROZU/LMBXtzDjUmdGWztX4=" } }, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3": { + "kotlinx-serialization-core-jvm-1.7.3.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.7.3/kotlinx-serialization-core-jvm-1.7.3.jar", + "hash": "sha256-8K3eRYZBREdThc9Kp+C3/rJ/Yfz5RyZl7ZjMlxsGses=" + }, + "kotlinx-serialization-core-jvm-1.7.3.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.7.3/kotlinx-serialization-core-jvm-1.7.3.module", + "hash": "sha256-c7tMAnk/h8Ke9kvqS6AlgHb01Mlj/NpjPRJI7yS0tO8=" + }, + "kotlinx-serialization-core-jvm-1.7.3.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.7.3/kotlinx-serialization-core-jvm-1.7.3.pom", + "hash": "sha256-c09fdJII3QvvPZjKpZTPkiKv3w/uW2hDNHqP5k4kBCc=" + } + }, "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3": { "kotlinx-serialization-core-jvm-1.6.3.jar": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.6.3/kotlinx-serialization-core-jvm-1.6.3.jar", @@ -1053,7 +2141,21 @@ "hash": "sha256-K0qolJn8AbMNHBB1lmmOCvQ0BBLVQBnFAdm6ayk7oro=" } }, + "org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3": { + "kotlinx-serialization-json-1.7.3.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-json/1.7.3/kotlinx-serialization-json-1.7.3.module", + "hash": "sha256-HPAiijWIcx1rrzvLvbCKMiUB9wQg1Q4pKrUB5V2Mz08=" + }, + "kotlinx-serialization-json-1.7.3.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-json/1.7.3/kotlinx-serialization-json-1.7.3.pom", + "hash": "sha256-BaiftqSvoKHUB51YgsrTSaF/4IqYv5a30A0GplUh3H0=" + } + }, "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3": { + "kotlinx-serialization-json-1.6.3.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-json/1.6.3/kotlinx-serialization-json-1.6.3.jar", + "hash": "sha256-jAAWiQp5q1mA3VIKWrGmc4AjwpqjtkN8SC4OX9wG2rE=" + }, "kotlinx-serialization-json-1.6.3.module": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-json/1.6.3/kotlinx-serialization-json-1.6.3.module", "hash": "sha256-gNHYf6CmO/+Dleo5EL2oDQnw9YNQTd6o7QB7x6hrTNQ=" @@ -1063,6 +2165,20 @@ "hash": "sha256-KcIhdhjlMdfYMsyICupu0aj0B3PkN/WkHXC9FUaNPOM=" } }, + "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3": { + "kotlinx-serialization-json-jvm-1.7.3.jar": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.7.3/kotlinx-serialization-json-jvm-1.7.3.jar", + "hash": "sha256-sekThJntjSA3Xt2j8rHJXzEDoljv9q+e3F6gcQDyspw=" + }, + "kotlinx-serialization-json-jvm-1.7.3.module": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.7.3/kotlinx-serialization-json-jvm-1.7.3.module", + "hash": "sha256-D/cOITHypldYIvdhHAXig8SuCBczA/QQSUy0Eom9PvY=" + }, + "kotlinx-serialization-json-jvm-1.7.3.pom": { + "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.7.3/kotlinx-serialization-json-jvm-1.7.3.pom", + "hash": "sha256-0zRdKAgXvgfpwnrNYHPUleF73/VxxHADTglmQgeGp90=" + } + }, "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.3": { "kotlinx-serialization-json-jvm-1.6.3.jar": { "url": "https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.6.3/kotlinx-serialization-json-jvm-1.6.3.jar", @@ -1097,6 +2213,96 @@ "hash": "sha256-IcSwKG9LIAaVd/9LIJeKhcEArIpGtvHIZy+6qzN7w/I=" } }, + "org.junit:junit-bom:5.9.3": { + "junit-bom-5.9.3.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.3/junit-bom-5.9.3.module", + "hash": "sha256-tAH9JZAeWCpSSqU0PEs54ovFbiSWHBBpvytLv87ka5M=" + }, + "junit-bom-5.9.3.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.3/junit-bom-5.9.3.pom", + "hash": "sha256-TQMpzZ5y8kIOXKFXJMv+b/puX9KIg2FRYnEZD9w0Ltc=" + } + }, + "org.junit:junit-bom:5.8.2": { + "junit-bom-5.8.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.8.2/junit-bom-5.8.2.module", + "hash": "sha256-QM+tmT+nDs3yr3TQxW2hSE7iIJZL6Pkyz+YyvponM/o=" + }, + "junit-bom-5.8.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.8.2/junit-bom-5.8.2.pom", + "hash": "sha256-g2Bpyp6O48VuSDdiItopEmPxN70/0W2E/dR+/MPyhuI=" + } + }, + "org.junit.jupiter:junit-jupiter-api:5.8.2": { + "junit-jupiter-api-5.8.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.8.2/junit-jupiter-api-5.8.2.jar", + "hash": "sha256-GAjuh+D3GM1uJfO3WvwXlWrIo+3EjH6bq58Z+aeeOAE=" + }, + "junit-jupiter-api-5.8.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.8.2/junit-jupiter-api-5.8.2.module", + "hash": "sha256-fpr03/9iZ6zd0VfZ4Rug1dyRszL6dLxMZZOeRReht3A=" + }, + "junit-jupiter-api-5.8.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.8.2/junit-jupiter-api-5.8.2.pom", + "hash": "sha256-yb3jYieVswp3NTHoXFgy+NyKp37N0xPu4jXJg8v9Anc=" + } + }, + "org.junit.platform:junit-platform-commons:1.8.2": { + "junit-platform-commons-1.8.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar", + "hash": "sha256-0uAV/KcTDnmvL0YI3FRBXksQtZLXczPey0saJ0wYUFA=" + }, + "junit-platform-commons-1.8.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.module", + "hash": "sha256-NChH0wRv6kNVlWkttPBdXwOeDh0eIE9NV1WQJVcIJiY=" + }, + "junit-platform-commons-1.8.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.pom", + "hash": "sha256-zoUuNMahhKpsgO6N8EcXE6dAgTQTTwjjwcPdh8a1mrc=" + } + }, + "org.junit.platform:junit-platform-engine:1.8.2": { + "junit-platform-engine-1.8.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.jar", + "hash": "sha256-C30AD4w+jl99a4GWSZNue5k4MU6HyPmDgFIY6ldWflk=" + }, + "junit-platform-engine-1.8.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.module", + "hash": "sha256-66d7Nu/fdaZ/RkODM4JfnkSPVQ1SHnJJ2VA1hYDuY2s=" + }, + "junit-platform-engine-1.8.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.pom", + "hash": "sha256-AWhkMmYGDtko71qBgjAD7PrnmpqMC7/Xb0IBxsnXccU=" + } + }, + "org.junit.platform:junit-platform-launcher:1.8.2": { + "junit-platform-launcher-1.8.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.8.2/junit-platform-launcher-1.8.2.jar", + "hash": "sha256-giFWQJ/YPmguTFGZs0YAVCmbU4oFjCxtD1ybalvbdZQ=" + }, + "junit-platform-launcher-1.8.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.8.2/junit-platform-launcher-1.8.2.module", + "hash": "sha256-4XQA7HvnYIwfiI1yG0MAHpc2wVDUD5jIoLzalWPYyus=" + }, + "junit-platform-launcher-1.8.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.8.2/junit-platform-launcher-1.8.2.pom", + "hash": "sha256-tfancaautzyJpud/Vtcp9LqOta/dDxD0TbRNaq25UJU=" + } + }, + "org.junit.platform:junit-platform-suite-api:1.8.2": { + "junit-platform-suite-api-1.8.2.jar": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-suite-api/1.8.2/junit-platform-suite-api-1.8.2.jar", + "hash": "sha256-lO80OwW4dbsuTvlKfMYuYQ4bnNeCR+Ky7EPtYYoe0Kc=" + }, + "junit-platform-suite-api-1.8.2.module": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-suite-api/1.8.2/junit-platform-suite-api-1.8.2.module", + "hash": "sha256-kwagU4n8QNetnQsSigFEMOXRyldKGErujXhns+iRC3o=" + }, + "junit-platform-suite-api-1.8.2.pom": { + "url": "https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-suite-api/1.8.2/junit-platform-suite-api-1.8.2.pom", + "hash": "sha256-QB/ZdNa5RmRSS+y3z4B8TUfXxXSy+vGxMeukiUn+mJg=" + } + }, "org.mockito:mockito-bom:5.7.0": { "mockito-bom-5.7.0.pom": { "url": "https://repo.maven.apache.org/maven2/org/mockito/mockito-bom/5.7.0/mockito-bom-5.7.0.pom", @@ -1109,6 +2315,30 @@ "hash": "sha256-2FMadGyYj39o7V8YjN6pRQBq6pk+xd+eUk4NJ9YUkdo=" } }, + "org.opentest4j:opentest4j:1.3.0": { + "opentest4j-1.3.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar", + "hash": "sha256-SOLfY2yrZWPO1k3N/4q7I1VifLI27wvzdZhoLd90Lxs=" + }, + "opentest4j-1.3.0.module": { + "url": "https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.module", + "hash": "sha256-SL8dbItdyU90ZSvReQD2VN63FDUCSM9ej8onuQkMjg0=" + }, + "opentest4j-1.3.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.pom", + "hash": "sha256-m/fP/EEPPoNywlIleN+cpW2dQ72TfjCUhwbCMqlDs1U=" + } + }, + "org.opentest4j:opentest4j:1.2.0": { + "opentest4j-1.2.0.jar": { + "url": "https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar", + "hash": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=" + }, + "opentest4j-1.2.0.pom": { + "url": "https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.pom", + "hash": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ=" + } + }, "org.ow2:ow2:1.5.1": { "ow2-1.5.1.pom": { "url": "https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5.1/ow2-1.5.1.pom", @@ -1145,6 +2375,16 @@ "hash": "sha256-o06h4+QSjAEDjbQ8aXbojHec9a+EsFBdombf5pZWaOw=" } }, + "org.slf4j:slf4j-api:2.0.16": { + "slf4j-api-2.0.16.jar": { + "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.jar", + "hash": "sha256-oSV43eG6AL2bgW04iguHmSjQC6s8g8JA9wE79BlsV5o=" + }, + "slf4j-api-2.0.16.pom": { + "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.pom", + "hash": "sha256-saAPWxxNvmK4BdZdI5Eab3cGOInXyx6G/oOJ1hkEc/c=" + } + }, "org.slf4j:slf4j-api:1.7.36": { "slf4j-api-1.7.36.jar": { "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar", @@ -1155,6 +2395,18 @@ "hash": "sha256-+wRqnCKUN5KLsRwtJ8i113PriiXmDL0lPZhSEN7cJoQ=" } }, + "org.slf4j:slf4j-bom:2.0.16": { + "slf4j-bom-2.0.16.pom": { + "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-bom/2.0.16/slf4j-bom-2.0.16.pom", + "hash": "sha256-BWYEjsglzfKHWGIK9k2eFK44qc2HSN1vr6bfSkGUwnk=" + } + }, + "org.slf4j:slf4j-parent:2.0.16": { + "slf4j-parent-2.0.16.pom": { + "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/2.0.16/slf4j-parent-2.0.16.pom", + "hash": "sha256-CaC0zIFNcnRhbJsW1MD9mq8ezIEzNN5RMeVHJxsZguU=" + } + }, "org.slf4j:slf4j-parent:1.7.36": { "slf4j-parent-1.7.36.pom": { "url": "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.36/slf4j-parent-1.7.36.pom", @@ -1171,6 +2423,12 @@ "hash": "sha256-xWuAoKa+oqBGPnDQiSrjOKnlB+SGdnpSBFNAmBIFjRs=" } }, + "org.sonatype.oss:oss-parent:9": { + "oss-parent-9.pom": { + "url": "https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom", + "hash": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno=" + } + }, "org.sonatype.oss:oss-parent:7": { "oss-parent-7.pom": { "url": "https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom", diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3cad815..4e1439e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,12 +5,13 @@ junit = "5.8.2" # See https://docs.gradle.org/current/userguide/compatibility.html#kotlin kotlin = { strictly = "1.9.24" } ktor = "3.0.2" -kotest = "5.9.0" +kotest = "6.0.0.M1" shadow = "8.1.8" [libraries] clikt = "com.github.ajalt.clikt:clikt:4.4.0" gradle-api-69 = "dev.gradleplugins:gradle-api:6.9" +gradle-api-75 = "dev.gradleplugins:gradle-api:7.5" gradle-api-80 = "dev.gradleplugins:gradle-api:8.0" gradle-api-81 = "dev.gradleplugins:gradle-api:8.1" gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } diff --git a/model/src/main/kotlin/org/nixos/gradle2nix/model/ArtifactType.kt b/model/src/main/kotlin/org/nixos/gradle2nix/model/ArtifactType.kt new file mode 100644 index 0000000..e6c142f --- /dev/null +++ b/model/src/main/kotlin/org/nixos/gradle2nix/model/ArtifactType.kt @@ -0,0 +1,9 @@ +package org.nixos.gradle2nix.model + +enum class ArtifactType { + DOXYGEN, + JAVADOC, + SAMPLES, + SOURCES, + USERMANUAL, +} diff --git a/model/src/main/kotlin/org/nixos/gradle2nix/model/PluginParameters.kt b/model/src/main/kotlin/org/nixos/gradle2nix/model/PluginParameters.kt index 8906b86..69669fe 100644 --- a/model/src/main/kotlin/org/nixos/gradle2nix/model/PluginParameters.kt +++ b/model/src/main/kotlin/org/nixos/gradle2nix/model/PluginParameters.kt @@ -2,3 +2,4 @@ package org.nixos.gradle2nix.model const val RESOLVE_PROJECT_TASK = "resolveProjectArtifacts" const val RESOLVE_ALL_TASK = "resolveAllArtifacts" +const val ARTIFACTS_PROPERTY = "org.nixos.gradle2nix.artifacts" diff --git a/plugin/base/src/main/kotlin/ResolveAllArtifacts.gradle69.kt b/plugin/base/src/main/kotlin/ResolveAllArtifacts.gradle69.kt index 8954848..a896824 100644 --- a/plugin/base/src/main/kotlin/ResolveAllArtifacts.gradle69.kt +++ b/plugin/base/src/main/kotlin/ResolveAllArtifacts.gradle69.kt @@ -1,20 +1,61 @@ package org.nixos.gradle2nix import org.gradle.api.Project -import org.gradle.api.tasks.TaskAction -import org.gradle.api.tasks.TaskProvider -import org.nixos.gradle2nix.model.RESOLVE_PROJECT_TASK +import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.component.ModuleComponentIdentifier +import org.gradle.api.attributes.Bundling +import org.gradle.api.attributes.Category +import org.gradle.api.attributes.DocsType +import org.gradle.api.attributes.Usage +import org.gradle.api.file.FileCollection +import org.nixos.gradle2nix.model.ArtifactType + +private fun Configuration.artifactConfigurationName(artifactType: ArtifactType): String = + "$name-${artifactType.name.toLowerCase()}-artifacts" object ResolveAllArtifactsApplierBase : AbstractResolveAllArtifactsApplier() { - override fun Project.registerProjectTask(): TaskProvider<*> = - tasks.register(RESOLVE_PROJECT_TASK, ResolveProjectDependenciesTaskBase::class.java) -} + @Suppress("UnstableApiUsage") + override fun Project.addConfigurationArtifactResolver( + configuration: Configuration, + artifactType: ArtifactType, + ): FileCollection { + val artifactConfiguration = + configurations.register(configuration.artifactConfigurationName(artifactType)) { artifactConfig -> + val usage = configuration.attributes.getAttribute(Usage.USAGE_ATTRIBUTE) + artifactConfig.extendsFrom(configuration) + artifactConfig.isCanBeConsumed = false + artifactConfig.attributes { attrs -> + with(attrs) { + if (usage != null) { + attribute(Usage.USAGE_ATTRIBUTE, usage) + } + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category::class.java, Category.DOCUMENTATION)) + attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling::class.java, Bundling.EXTERNAL)) + attribute( + DocsType.DOCS_TYPE_ATTRIBUTE, + objects.named( + DocsType::class.java, + when (artifactType) { + ArtifactType.DOXYGEN -> DocsType.DOXYGEN + ArtifactType.JAVADOC -> DocsType.JAVADOC + ArtifactType.SAMPLES -> DocsType.SAMPLES + ArtifactType.SOURCES -> DocsType.SOURCES + ArtifactType.USERMANUAL -> DocsType.USER_MANUAL + }, + ), + ) + } + } + } -abstract class ResolveProjectDependenciesTaskBase : ResolveProjectDependenciesTask() { - @TaskAction - fun action() { - for (configuration in getReportableConfigurations()) { - configuration.artifactFiles().count() - } + return objects.fileCollection().from( + artifactConfiguration.map { config -> + config.incoming + .artifactView { view -> + view.isLenient = true + view.componentFilter { it is ModuleComponentIdentifier } + }.files + }, + ) } } diff --git a/plugin/common/src/main/kotlin/ResolveAllArtifacts.kt b/plugin/common/src/main/kotlin/ResolveAllArtifacts.kt index 04d15a1..eeac2bc 100644 --- a/plugin/common/src/main/kotlin/ResolveAllArtifacts.kt +++ b/plugin/common/src/main/kotlin/ResolveAllArtifacts.kt @@ -3,27 +3,56 @@ package org.nixos.gradle2nix import org.gradle.api.DefaultTask import org.gradle.api.Project import org.gradle.api.artifacts.Configuration -import org.gradle.api.artifacts.component.ModuleComponentIdentifier import org.gradle.api.file.FileCollection import org.gradle.api.invocation.Gradle +import org.gradle.api.logging.Logging +import org.gradle.api.model.ObjectFactory +import org.gradle.api.tasks.InputFiles import org.gradle.api.tasks.Internal -import org.gradle.api.tasks.TaskProvider +import org.gradle.api.tasks.TaskAction import org.gradle.internal.deprecation.DeprecatableConfiguration +import org.nixos.gradle2nix.model.ARTIFACTS_PROPERTY +import org.nixos.gradle2nix.model.ArtifactType import org.nixos.gradle2nix.model.RESOLVE_ALL_TASK +import org.nixos.gradle2nix.model.RESOLVE_PROJECT_TASK +import javax.inject.Inject fun interface ResolveAllArtifactsApplier { fun apply(gradle: Gradle) } +val Project.reportableConfigurations: List + get() = configurations.filter { (it as? DeprecatableConfiguration)?.canSafelyBeResolved() ?: it.isCanBeResolved } + abstract class AbstractResolveAllArtifactsApplier : ResolveAllArtifactsApplier { - abstract fun Project.registerProjectTask(): TaskProvider<*> + abstract fun Project.addConfigurationArtifactResolver( + configuration: Configuration, + artifactType: ArtifactType, + ): FileCollection final override fun apply(gradle: Gradle) { val resolveAll = gradle.rootProject.tasks.register(RESOLVE_ALL_TASK) + val artifacts = + System + .getProperty(ARTIFACTS_PROPERTY, "") + .split(",") + .filter { it.isNotBlank() } + .mapTo(mutableSetOf()) { ArtifactType.valueOf(it.toUpperCase()) } + // Depend on "dependencies" task in all projects gradle.allprojects { project -> - val resolveProject = project.registerProjectTask() + val resolveProject = + project.tasks.register(RESOLVE_PROJECT_TASK, ResolveProjectDependenciesTask::class.java) { task -> + task.projectName.set(project.path) + for (configuration in project.reportableConfigurations) { + task.configurations.from(configuration) + for (artifactType in artifacts) { + task.configurations.from(project.addConfigurationArtifactResolver(configuration, artifactType)) + } + } + } + resolveAll.configure { it.dependsOn(resolveProject) } } @@ -36,17 +65,25 @@ abstract class AbstractResolveAllArtifactsApplier : ResolveAllArtifactsApplier { } } -abstract class ResolveProjectDependenciesTask : DefaultTask() { - @Internal - protected fun getReportableConfigurations(): List = - project.configurations.filter { - (it as? DeprecatableConfiguration)?.canSafelyBeResolved() ?: true +@Suppress("UnstableApiUsage") +abstract class ResolveProjectDependenciesTask + @Inject + constructor( + objects: ObjectFactory, + ) : DefaultTask() { + @get:Internal + val projectName = objects.property(String::class.java) + + @get:InputFiles + val configurations = objects.fileCollection() + + @TaskAction + fun resolve() { + val count = configurations.count() + LOGGER.info("${projectName.get()}: resolved $count artifacts") } - protected fun Configuration.artifactFiles(): FileCollection = - incoming - .artifactView { viewConfiguration -> - viewConfiguration.isLenient = true - viewConfiguration.componentFilter { it is ModuleComponentIdentifier } - }.files -} + companion object { + private val LOGGER = Logging.getLogger(ResolveProjectDependenciesTask::class.java) + } + } diff --git a/plugin/gradle75/build.gradle.kts b/plugin/gradle75/build.gradle.kts new file mode 100644 index 0000000..cd7ba66 --- /dev/null +++ b/plugin/gradle75/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + `plugin-conventions` +} + +dependencies { + compileOnly(libs.gradle.api.get75()) + implementation(project(":plugin:common")) +} + +tasks.shadowJar { + archiveFileName = "plugin-gradle75.jar" +} diff --git a/plugin/gradle75/src/main/kotlin/DependencyExtractor.gradle75.kt b/plugin/gradle75/src/main/kotlin/DependencyExtractor.gradle75.kt new file mode 100644 index 0000000..a8b114d --- /dev/null +++ b/plugin/gradle75/src/main/kotlin/DependencyExtractor.gradle75.kt @@ -0,0 +1,61 @@ +package org.nixos.gradle2nix + +import org.gradle.api.invocation.Gradle +import org.gradle.api.services.BuildService +import org.gradle.api.services.BuildServiceParameters +import org.gradle.internal.build.event.BuildEventListenerRegistryInternal +import org.gradle.internal.operations.BuildOperationDescriptor +import org.gradle.internal.operations.BuildOperationListener +import org.gradle.internal.operations.OperationFinishEvent +import org.gradle.internal.operations.OperationIdentifier +import org.gradle.internal.operations.OperationProgressEvent +import org.gradle.internal.operations.OperationStartEvent + +object DependencyExtractorApplierG75 : DependencyExtractorApplier { + @Suppress("UnstableApiUsage") + override fun apply( + gradle: Gradle, + extractor: DependencyExtractor, + ) { + val serviceProvider = + gradle.sharedServices + .registerIfAbsent( + "nixDependencyExtractor", + DependencyExtractorService::class.java, + ) {} + .map { service -> + service.apply { this.extractor = extractor } + } + + gradle.service().onOperationCompletion(serviceProvider) + } +} + +@Suppress("UnstableApiUsage") +internal abstract class DependencyExtractorService : + BuildService, + BuildOperationListener, + AutoCloseable { + var extractor: DependencyExtractor? = null + + override fun started( + buildOperation: BuildOperationDescriptor, + startEvent: OperationStartEvent, + ) {} + + override fun progress( + operationIdentifier: OperationIdentifier, + progressEvent: OperationProgressEvent, + ) {} + + override fun finished( + buildOperation: BuildOperationDescriptor, + finishEvent: OperationFinishEvent, + ) { + extractor?.finished(buildOperation, finishEvent) + } + + override fun close() { + extractor = null + } +} diff --git a/plugin/gradle75/src/main/kotlin/Gradle2NixPlugin.gradle75.kt b/plugin/gradle75/src/main/kotlin/Gradle2NixPlugin.gradle75.kt new file mode 100644 index 0000000..def2b05 --- /dev/null +++ b/plugin/gradle75/src/main/kotlin/Gradle2NixPlugin.gradle75.kt @@ -0,0 +1,8 @@ +package org.nixos.gradle2nix + +abstract class Gradle2NixPlugin : + AbstractGradle2NixPlugin( + GradleCacheAccessFactoryG75, + DependencyExtractorApplierG75, + ResolveAllArtifactsApplierG75, + ) diff --git a/plugin/gradle75/src/main/kotlin/GradleCacheAccess.gradle75.kt b/plugin/gradle75/src/main/kotlin/GradleCacheAccess.gradle75.kt new file mode 100644 index 0000000..be47d74 --- /dev/null +++ b/plugin/gradle75/src/main/kotlin/GradleCacheAccess.gradle75.kt @@ -0,0 +1,18 @@ +package org.nixos.gradle2nix + +import org.gradle.api.internal.artifacts.ivyservice.ArtifactCachesProvider +import org.gradle.api.invocation.Gradle + +object GradleCacheAccessFactoryG75 : GradleCacheAccessFactory { + override fun create(gradle: Gradle): GradleCacheAccess = GradleCacheAccessG75(gradle) +} + +class GradleCacheAccessG75( + gradle: Gradle, +) : GradleCacheAccess { + private val artifactCachesProvider = gradle.service() + + override fun useCache(block: () -> Unit) { + artifactCachesProvider.writableCacheLockingManager.useCache(block) + } +} diff --git a/plugin/gradle75/src/main/kotlin/ResolveAllArtifacts.gradle75.kt b/plugin/gradle75/src/main/kotlin/ResolveAllArtifacts.gradle75.kt new file mode 100644 index 0000000..fd99cf9 --- /dev/null +++ b/plugin/gradle75/src/main/kotlin/ResolveAllArtifacts.gradle75.kt @@ -0,0 +1,47 @@ +package org.nixos.gradle2nix + +import org.gradle.api.Project +import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.component.ModuleComponentIdentifier +import org.gradle.api.attributes.Bundling +import org.gradle.api.attributes.DocsType +import org.gradle.api.file.FileCollection +import org.nixos.gradle2nix.model.ArtifactType + +object ResolveAllArtifactsApplierG75 : AbstractResolveAllArtifactsApplier() { + @Suppress("UnstableApiUsage") + override fun Project.addConfigurationArtifactResolver( + configuration: Configuration, + artifactType: ArtifactType, + ): FileCollection { + val result = + configuration.incoming + .artifactView { view -> + view.isLenient = true + view.withVariantReselection() + view.componentFilter { it is ModuleComponentIdentifier } + view.attributes { attrs -> + with(attrs) { + attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling::class.java, Bundling.EXTERNAL)) + attribute( + DocsType.DOCS_TYPE_ATTRIBUTE, + objects.named( + DocsType::class.java, + when (artifactType) { + ArtifactType.DOXYGEN -> DocsType.DOXYGEN + ArtifactType.JAVADOC -> DocsType.JAVADOC + ArtifactType.SAMPLES -> DocsType.SAMPLES + ArtifactType.SOURCES -> DocsType.SOURCES + ArtifactType.USERMANUAL -> DocsType.USER_MANUAL + }, + ), + ) + } + } + }.files + + configuration.incoming.afterResolve { result.files.count() } + + return result + } +} diff --git a/plugin/gradle8/src/main/kotlin/ResolveAllArtifacts.gradle8.kt b/plugin/gradle8/src/main/kotlin/ResolveAllArtifacts.gradle8.kt index f2f0d2e..887d308 100644 --- a/plugin/gradle8/src/main/kotlin/ResolveAllArtifacts.gradle8.kt +++ b/plugin/gradle8/src/main/kotlin/ResolveAllArtifacts.gradle8.kt @@ -1,37 +1,49 @@ package org.nixos.gradle2nix import org.gradle.api.Project +import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.component.ModuleComponentIdentifier +import org.gradle.api.attributes.Bundling +import org.gradle.api.attributes.DocsType import org.gradle.api.file.FileCollection -import org.gradle.api.model.ObjectFactory -import org.gradle.api.tasks.TaskAction -import org.gradle.api.tasks.TaskProvider -import org.gradle.internal.serialization.Cached -import org.gradle.work.DisableCachingByDefault -import org.nixos.gradle2nix.model.RESOLVE_PROJECT_TASK -import javax.inject.Inject +import org.nixos.gradle2nix.model.ArtifactType object ResolveAllArtifactsApplierG8 : AbstractResolveAllArtifactsApplier() { - override fun Project.registerProjectTask(): TaskProvider<*> = - tasks.register(RESOLVE_PROJECT_TASK, ResolveProjectDependenciesTaskG8::class.java) -} + @Suppress("UnstableApiUsage") + override fun Project.addConfigurationArtifactResolver( + configuration: Configuration, + artifactType: ArtifactType, + ): FileCollection { + val result = + configuration.incoming + .artifactView { view -> + view.isLenient = true + view.withVariantReselection() + view.componentFilter { it is ModuleComponentIdentifier } + view.attributes { attrs -> + with(attrs) { + attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling::class.java, Bundling.EXTERNAL)) + attribute( + DocsType.DOCS_TYPE_ATTRIBUTE, + objects.named( + DocsType::class.java, + when (artifactType) { + ArtifactType.DOXYGEN -> DocsType.DOXYGEN + ArtifactType.JAVADOC -> DocsType.JAVADOC + ArtifactType.SAMPLES -> DocsType.SAMPLES + ArtifactType.SOURCES -> DocsType.SOURCES + ArtifactType.USERMANUAL -> DocsType.USER_MANUAL + }, + ), + ) + } + } + }.files -@DisableCachingByDefault(because = "Not worth caching") -abstract class ResolveProjectDependenciesTaskG8 - @Inject - constructor( - private val objects: ObjectFactory, - ) : ResolveProjectDependenciesTask() { - private val artifactFiles = Cached.of { artifactFiles() } - - private fun artifactFiles(): FileCollection = - objects.fileCollection().from( - getReportableConfigurations().map { configuration -> - configuration.artifactFiles() - }, - ) - - @TaskAction - fun action() { - artifactFiles.get().count() + configuration.incoming.afterResolve { + result.files.count() } + + return result } +} diff --git a/plugin/gradle80/build.gradle.kts b/plugin/gradle80/build.gradle.kts index 5923b39..33d5f0f 100644 --- a/plugin/gradle80/build.gradle.kts +++ b/plugin/gradle80/build.gradle.kts @@ -3,8 +3,8 @@ plugins { } dependencies { - implementation(project(":plugin:gradle8")) compileOnly(libs.gradle.api.get80()) + implementation(project(":plugin:gradle8")) } tasks.shadowJar { diff --git a/plugin/gradle81/build.gradle.kts b/plugin/gradle81/build.gradle.kts index 5b87a40..c4e860c 100644 --- a/plugin/gradle81/build.gradle.kts +++ b/plugin/gradle81/build.gradle.kts @@ -3,8 +3,8 @@ plugins { } dependencies { - implementation(project(":plugin:gradle8")) compileOnly(libs.gradle.api.get81()) + implementation(project(":plugin:gradle8")) } tasks.shadowJar { diff --git a/settings.gradle.kts b/settings.gradle.kts index 6f1b4c4..902f3e0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -13,6 +13,7 @@ include( ":model", ":plugin:base", ":plugin:common", + ":plugin:gradle75", ":plugin:gradle8", ":plugin:gradle80", ":plugin:gradle81",