diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 2fb31d5..9b14933 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -34,7 +34,7 @@ jobs:
- name: Build
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: build -x test -x ktlintKotlinScriptCheck -x ktlintTestSourceSetCheck -x ktlintMainSourceSetCheck -x detekt
- name: Cleanup Gradle Cache
# Remove some files from the Gradle cache, so they aren't cached by GitHub Actions.
@@ -46,12 +46,12 @@ jobs:
- name: processResources
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: processResources
- name: processTestResources
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: processResources
- uses: actions/upload-artifact@v2
with:
@@ -76,13 +76,13 @@ jobs:
- name: Composer Up
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: testSqlComposeUp
- name: TestSql
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: testSql
test:
@@ -105,19 +105,19 @@ jobs:
- name: Composer Up
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: testComposeUp
- name: Test
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: test
- name: Coverage
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
@@ -132,7 +132,7 @@ jobs:
- name: Test
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: test
- name: Build and analyze
@@ -141,7 +141,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: sonarqube --info
lint:
@@ -161,5 +161,5 @@ jobs:
- name: Lint
uses: eskatos/gradle-command-action@v1
with:
- gradle-version: 6.8
+ gradle-version: '7.0'
arguments: ktlintCheck
diff --git a/.idea/runConfigurations/Create_lock_dependencies.xml b/.idea/runConfigurations/Create_lock_dependencies.xml
new file mode 100644
index 0000000..21e7896
--- /dev/null
+++ b/.idea/runConfigurations/Create_lock_dependencies.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ false
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Update_Dependency.xml b/.idea/runConfigurations/Update_Dependency.xml
new file mode 100644
index 0000000..9cfa9c3
--- /dev/null
+++ b/.idea/runConfigurations/Update_Dependency.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ false
+
+
+
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index ce5b4b5..b8105df 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -9,12 +9,9 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.owasp.dependencycheck.reporting.ReportGenerator
import org.slf4j.LoggerFactory
-val ktorVersion = "1.5.0"
-val kotlinVersion = "1.4.30"
-val coroutinesVersion = "1.4.3"
-val logbackVersion = "1.2.3"
-val koinVersion = "2.0.1"
-val jacksonVersion = "2.12.1"
+val ktorVersion = "+"
+val kotlinVersion = "1.4.+"
+val coroutinesVersion = "+"
group = "com.github.flecomte"
version = versioning.info.run {
@@ -28,20 +25,24 @@ version = versioning.info.run {
plugins {
jacoco
application
- maven
+ `maven-publish`
- id("maven-publish")
- kotlin("jvm") version "1.4.30"
- kotlin("plugin.serialization") version "1.4.30"
+ kotlin("jvm") version "1.4.+"
+ kotlin("plugin.serialization") version "1.4.+"
- id("com.github.johnrengelman.shadow") version "5.2.0"
- id("org.jlleitschuh.gradle.ktlint") version "9.4.1"
- id("org.owasp.dependencycheck") version "6.1.1"
- id("org.sonarqube") version "3.1.1"
- id("net.nemerosa.versioning") version "2.14.0"
- id("io.gitlab.arturbosch.detekt") version "1.16.0-RC1"
- id("com.avast.gradle.docker-compose") version "0.14.0"
- id("com.github.kt3k.coveralls") version "2.8.4"
+ id("com.github.johnrengelman.shadow") version "+"
+ id("org.jlleitschuh.gradle.ktlint") version "+"
+ id("org.owasp.dependencycheck") version "+"
+ id("org.sonarqube") version "+"
+ id("net.nemerosa.versioning") version "+"
+ id("io.gitlab.arturbosch.detekt") version "+"
+ id("com.avast.gradle.docker-compose") version "+"
+ id("com.github.kt3k.coveralls") version "+"
+}
+
+dependencyLocking {
+ lockAllConfigurations()
+ // lockMode.set(LockMode.STRICT)
}
application {
@@ -56,8 +57,8 @@ buildscript {
maven { url = uri("https://jitpack.io") }
}
dependencies {
- classpath("com.typesafe:config:1.4.1")
- classpath("com.github.flecomte:postgres-json:2.1.2")
+ classpath("com.typesafe:config:+")
+ classpath("com.github.flecomte:postgres-json:+")
}
}
@@ -165,6 +166,7 @@ tasks.withType {
)
)
}
+ isZip64 = true
}
tasks.withType {
@@ -178,6 +180,7 @@ tasks.withType {
tasks.named("shadowJar") {
mergeServiceFiles("META-INF/services")
archiveFileName.set("${archiveBaseName.get()}-latest-all.${archiveExtension.get()}")
+ isZip64 = true
}
tasks.sonarqube.configure {
@@ -311,6 +314,7 @@ tasks.register("testWithDependencies", Test::class) {
dependsOn(tasks.named("testComposeUp"))
dependsOn(tasks.ktlintCheck)
dependsOn(testSql)
+ dependsOn(tasks.jacocoTestReport)
finalizedBy(tasks.sonarqube) // report is always generated after tests run
}
tasks.register("testArticles", Test::class) {
@@ -391,43 +395,43 @@ dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor:$coroutinesVersion")
- implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1")
+ implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:+")
implementation("io.ktor:ktor-server-jetty:$ktorVersion")
implementation("io.ktor:ktor-client-jetty:$ktorVersion")
- implementation("ch.qos.logback:logback-classic:$logbackVersion")
+ implementation("ch.qos.logback:logback-classic:+")
implementation("io.ktor:ktor-server-core:$ktorVersion")
implementation("io.ktor:ktor-locations:$ktorVersion")
implementation("io.ktor:ktor-auth:$ktorVersion")
implementation("io.ktor:ktor-auth-jwt:$ktorVersion")
implementation("io.ktor:ktor-websockets:$ktorVersion")
- implementation("org.koin:koin-ktor:$koinVersion")
+ implementation("io.insert-koin:koin-ktor:+")
implementation("io.ktor:ktor-jackson:$ktorVersion")
- implementation("com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion")
- implementation("com.fasterxml.jackson.datatype:jackson-datatype-joda:$jacksonVersion")
- implementation("net.pearx.kasechange:kasechange-jvm:1.3.0")
- implementation("com.auth0:java-jwt:3.12.0")
- implementation("com.github.jasync-sql:jasync-postgresql:1.1.6")
- implementation("com.github.flecomte:postgres-json:2.1.2")
- implementation("com.sendgrid:sendgrid-java:4.7.1")
+ implementation("com.fasterxml.jackson.module:jackson-module-kotlin:+")
+ implementation("com.fasterxml.jackson.datatype:jackson-datatype-joda:+")
+ implementation("net.pearx.kasechange:kasechange-jvm:+")
+ implementation("com.auth0:java-jwt:+")
+ implementation("com.github.jasync-sql:jasync-postgresql:+")
+ implementation("com.github.flecomte:postgres-json:+")
+ implementation("com.sendgrid:sendgrid-java:+")
implementation("io.lettuce:lettuce-core:5.3.6.RELEASE") // TODO update to 6.0.2
- implementation("com.rabbitmq:amqp-client:5.10.0")
- implementation("org.elasticsearch.client:elasticsearch-rest-client:6.7.1")
- implementation("com.jayway.jsonpath:json-path:2.5.0")
- implementation("com.avast.gradle:gradle-docker-compose-plugin:0.14.0")
- implementation("io.konform:konform-jvm:0.2.0")
+ implementation("com.rabbitmq:amqp-client:+")
+ implementation("org.elasticsearch.client:elasticsearch-rest-client:6+")
+ implementation("com.jayway.jsonpath:json-path:+")
+ implementation("com.avast.gradle:gradle-docker-compose-plugin:+")
+ implementation("io.konform:konform-jvm:+")
testImplementation("io.ktor:ktor-server-tests:$ktorVersion")
testImplementation("io.ktor:ktor-client-mock:$ktorVersion")
testImplementation("io.ktor:ktor-client-mock-jvm:$ktorVersion")
- testImplementation("org.koin:koin-test:$koinVersion")
- testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion")
- testImplementation("io.mockk:mockk:1.10.6")
- testImplementation("org.junit.jupiter:junit-jupiter:5.7.0")
- testImplementation("org.amshove.kluent:kluent:1.61")
- testImplementation("io.mockk:mockk-agent-api:1.10.6")
- testImplementation("io.mockk:mockk-agent-jvm:1.10.6")
+ testImplementation("io.insert-koin:koin-test:+")
+ testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:+")
+ testImplementation("io.mockk:mockk:+")
+ testImplementation("org.junit.jupiter:junit-jupiter:+")
+ testImplementation("org.amshove.kluent:kluent:+")
+ testImplementation("io.mockk:mockk-agent-api:+")
+ testImplementation("io.mockk:mockk-agent-jvm:+")
testImplementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
- testImplementation("com.thedeanda:lorem:2.1")
- testImplementation("org.openapi4j:openapi-operation-validator:1.0.6")
- testImplementation("org.openapi4j:openapi-parser:1.0.6")
+ testImplementation("com.thedeanda:lorem:+")
+ testImplementation("org.openapi4j:openapi-operation-validator:+")
+ testImplementation("org.openapi4j:openapi-parser:+")
}
diff --git a/gradle.lockfile b/gradle.lockfile
new file mode 100644
index 0000000..5bfd56e
--- /dev/null
+++ b/gradle.lockfile
@@ -0,0 +1,277 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+ch.qos.logback:logback-classic:1.3.0-alpha5=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+ch.qos.logback:logback-core:1.3.0-alpha5=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.auth0:java-jwt:3.15.0=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.auth0:jwks-rsa:0.9.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+com.avast.gradle:gradle-docker-compose-plugin:0.14.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.beust:jcommander:1.81=detekt
+com.fasterxml.jackson.core:jackson-annotations:2.12.2=detekt
+com.fasterxml.jackson.core:jackson-annotations:2.12.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.fasterxml.jackson.core:jackson-core:2.12.2=detekt
+com.fasterxml.jackson.core:jackson-core:2.12.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.fasterxml.jackson.core:jackson-databind:2.12.2=detekt
+com.fasterxml.jackson.core:jackson-databind:2.12.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.12.3=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.fasterxml.jackson.module:jackson-module-kotlin:2.12.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.fasterxml.jackson:jackson-bom:2.12.2=detekt
+com.fasterxml.jackson:jackson-bom:2.12.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.github.flecomte:postgres-json:2.1.2=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.github.jasync-sql:jasync-common:1.1.7=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.github.jasync-sql:jasync-pool:1.1.7=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.github.jasync-sql:jasync-postgresql:1.1.7=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.github.shyiko.klob:klob:0.2.1=ktlint
+com.google.code.findbugs:jsr305:3.0.2=runtimeClasspath,testRuntimeClasspath
+com.google.errorprone:error_prone_annotations:2.2.0=runtimeClasspath,testRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=runtimeClasspath,testRuntimeClasspath
+com.google.guava:guava:27.1-jre=runtimeClasspath,testRuntimeClasspath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=runtimeClasspath,testRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.1=runtimeClasspath,testRuntimeClasspath
+com.googlecode.json-simple:json-simple:1.1.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+com.jayway.jsonpath:json-path:2.5.0=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.ongres.scram:client:2.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.ongres.scram:common:2.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.ongres.stringprep:saslprep:1.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.ongres.stringprep:stringprep:1.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.pinterest.ktlint:ktlint-core:0.40.0=ktlint
+com.pinterest.ktlint:ktlint-reporter-baseline:0.40.0=ktlint
+com.pinterest.ktlint:ktlint-reporter-checkstyle:0.40.0=ktlint
+com.pinterest.ktlint:ktlint-reporter-html:0.40.0=ktlint
+com.pinterest.ktlint:ktlint-reporter-json:0.40.0=ktlint
+com.pinterest.ktlint:ktlint-reporter-plain:0.40.0=ktlint
+com.pinterest.ktlint:ktlint-ruleset-experimental:0.40.0=ktlint
+com.pinterest.ktlint:ktlint-ruleset-standard:0.40.0=ktlint
+com.pinterest.ktlint:ktlint-ruleset-test:0.40.0=ktlint
+com.pinterest:ktlint:0.40.0=ktlint
+com.rabbitmq:amqp-client:5.12.0=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.sendgrid:java-http-client:4.3.6=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.sendgrid:sendgrid-java:4.7.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.sun.mail:javax.mail:1.6.2=runtimeClasspath,testRuntimeClasspath
+com.thedeanda:lorem:2.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+com.typesafe:config:1.3.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+commons-codec:commons-codec:1.11=compileClasspath,implementationDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata
+commons-codec:commons-codec:1.13=runtimeClasspath,testRuntimeClasspath
+commons-io:commons-io:2.6=runtimeClasspath,testRuntimeClasspath
+commons-logging:commons-logging:1.2=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+edu.washington.cs.types.checker:checker-framework:1.7.0=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+info.picocli:picocli:3.9.6=ktlint
+io.github.detekt.sarif4j:sarif4j:1.0.0=detekt
+io.github.microutils:kotlin-logging:1.7.6=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.gitlab.arturbosch.detekt:detekt-api:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-bom:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-cli:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-core:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-metrics:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-parser:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-psi-utils:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-report-html:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-report-sarif:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-report-txt:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-report-xml:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-complexity:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-coroutines:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-documentation:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-empty:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-errorprone:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-exceptions:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-naming:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-performance:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules-style:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-rules:1.16.0=detekt
+io.gitlab.arturbosch.detekt:detekt-tooling:1.16.0=detekt
+io.insert-koin:koin-core-ext:3.0.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.insert-koin:koin-core-jvm:3.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.insert-koin:koin-core:3.0.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.insert-koin:koin-ktor:3.0.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.insert-koin:koin-test-jvm:3.0.1=testCompileClasspath,testRuntimeClasspath
+io.insert-koin:koin-test:3.0.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.konform:konform-jvm:0.3.0-RC1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.konform:konform-metadata:0.3.0-RC1=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+io.ktor:ktor-auth-jwt-kotlinMultiplatform:1.5.3=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+io.ktor:ktor-auth-jwt:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-auth-kotlinMultiplatform:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-auth:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-client-cio-jvm:1.5.3=testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-client-cio:1.5.3=testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-client-core-jvm:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-client-core:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-client-jetty-kotlinMultiplatform:1.5.3=implementationDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-client-jetty:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-client-mock-jvm:1.5.3=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-client-mock:1.5.3=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-http-cio-jvm:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-http-cio:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-http-jvm:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-http:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-io-jvm:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-io:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-jackson-kotlinMultiplatform:1.5.3=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+io.ktor:ktor-jackson:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-locations-kotlinMultiplatform:1.5.3=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+io.ktor:ktor-locations:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-network-jvm:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-network-tls-certificates-kotlinMultiplatform:1.5.3=testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-network-tls-certificates:1.5.3=testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-network-tls-jvm:1.5.3=testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-network-tls:1.5.3=testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-network:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-server-core-kotlinMultiplatform:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-server-core:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-server-host-common-kotlinMultiplatform:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-server-host-common:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-server-jetty-kotlinMultiplatform:1.5.3=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+io.ktor:ktor-server-jetty:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-server-servlet-kotlinMultiplatform:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-server-servlet:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-server-test-host-kotlinMultiplatform:1.5.3=testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-server-test-host:1.5.3=testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-server-tests-kotlinMultiplatform:1.5.3=testImplementationDependenciesMetadata
+io.ktor:ktor-server-tests:1.5.3=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-utils-jvm:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+io.ktor:ktor-utils:1.5.3=compileClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-websockets-kotlinMultiplatform:1.5.3=implementationDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.ktor:ktor-websockets:1.5.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.lettuce:lettuce-core:5.3.6.RELEASE=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.mockk:mockk-agent-api:1.11.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.mockk:mockk-agent-common:1.11.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.mockk:mockk-agent-jvm:1.11.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.mockk:mockk-common:1.11.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.mockk:mockk-dsl-jvm:1.11.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.mockk:mockk-dsl:1.11.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.mockk:mockk:1.11.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.netty:netty-buffer:4.1.56.Final=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.netty:netty-codec:4.1.56.Final=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.netty:netty-common:4.1.56.Final=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.netty:netty-handler:4.1.56.Final=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.netty:netty-resolver:4.1.56.Final=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.netty:netty-transport:4.1.56.Final=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+io.projectreactor:reactor-core:3.3.13.RELEASE=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+javax.activation:activation:1.1=runtimeClasspath,testRuntimeClasspath
+javax.servlet:javax.servlet-api:3.1.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+joda-time:joda-time:2.10.8=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+junit:junit:4.13.1=testCompileClasspath,testRuntimeClasspath
+net.bytebuddy:byte-buddy-agent:1.10.14=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+net.bytebuddy:byte-buddy:1.10.14=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+net.java.dev.jna:jna-platform:5.5.0=testRuntimeClasspath
+net.java.dev.jna:jna:5.5.0=testRuntimeClasspath
+net.minidev:accessors-smart:1.2=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+net.minidev:json-smart:2.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+net.pearx.kasechange:kasechange-jvm:1.3.0=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+net.pearx.kasechange:kasechange-metadata:1.3.0=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+org.amshove.kluent:kluent-common:1.65=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.amshove.kluent:kluent:1.65=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.apache.httpcomponents:httpasyncclient:4.1.2=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.apache.httpcomponents:httpclient:4.5.12=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.apache.httpcomponents:httpcore-nio:4.4.5=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.apache.httpcomponents:httpcore:4.4.13=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.apiguardian:apiguardian-api:1.1.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.bouncycastle:bcprov-jdk15on:1.67=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.checkerframework:checker-qual:2.5.2=runtimeClasspath,testRuntimeClasspath
+org.codehaus.mojo:animal-sniffer-annotations:1.17=runtimeClasspath,testRuntimeClasspath
+org.ec4j.core:ec4j-core:0.2.2=ktlint
+org.eclipse.jetty.http2:http2-client:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:http2-common:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:http2-hpack:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:http2-http-client-transport:9.4.31.v20200723=testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:http2-server:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-java-client:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-java-server:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-openjdk8-client:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-openjdk8-server:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-server:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-client:9.4.31.v20200723=testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-continuation:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-server:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-servlets:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:9.4.31.v20200723=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.elasticsearch.client:elasticsearch-rest-client:6.8.15=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath
+org.jacoco:org.jacoco.agent:0.8.6=jacocoAgent,jacocoAnt
+org.jacoco:org.jacoco.ant:0.8.6=jacocoAnt
+org.jacoco:org.jacoco.core:0.8.6=jacocoAnt
+org.jacoco:org.jacoco.report:0.8.6=jacocoAnt
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=detekt,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,ktlint
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.10=ktlint
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.21=detekt
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.10=ktlint
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.21=detekt
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=kotlinCompilerPluginClasspath
+org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.4.32=kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.4.10=ktlint
+org.jetbrains.kotlin:kotlin-reflect:1.4.21=detekt,implementationDependenciesMetadata
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=compileClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.10=ktlint
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.21=detekt
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=kotlinCompilerClasspath,kotlinCompilerPluginClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=kotlinCompilerPluginClasspath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=kotlinCompilerPluginClasspath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=kotlinCompilerPluginClasspath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=kotlinCompilerPluginClasspath
+org.jetbrains.kotlin:kotlin-serialization-unshaded:1.4.32=kotlinNativeCompilerPluginClasspath
+org.jetbrains.kotlin:kotlin-serialization:1.4.32=kotlinCompilerPluginClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.10=ktlint
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.21=detekt
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=compileClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinCompilerPluginClasspath,kotlinKlibCommonizerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.21=detekt
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.32=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.21=detekt
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.10=ktlint
+org.jetbrains.kotlin:kotlin-stdlib:1.4.21=detekt
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=compileClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinCompilerPluginClasspath,kotlinKlibCommonizerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlin:kotlin-test-annotations-common:1.4.30=testImplementationDependenciesMetadata
+org.jetbrains.kotlin:kotlin-test-annotations-common:1.4.32=testCompileClasspath,testRuntimeClasspath
+org.jetbrains.kotlin:kotlin-test-common:1.4.30=testImplementationDependenciesMetadata
+org.jetbrains.kotlin:kotlin-test-common:1.4.32=testCompileClasspath,testRuntimeClasspath
+org.jetbrains.kotlin:kotlin-test-junit:1.4.32=testCompileClasspath,testRuntimeClasspath
+org.jetbrains.kotlin:kotlin-test:1.4.32=testCompileClasspath,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.4.2=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.4.3-native-mt=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core-metadata:1.4.2=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=kotlinCompilerPluginClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2=implementationDependenciesMetadata
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3-native-mt=compileClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.4.3-native-mt=testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.4.3-native-mt=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.4.2=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.4.2=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-coroutines-test:1.4.2=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-html-jvm:0.7.2=detekt
+org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-serialization-core-metadata:1.0.1=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.jetbrains.kotlinx:kotlinx-serialization-json-metadata:1.0.1=implementationDependenciesMetadata,testImplementationDependenciesMetadata
+org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.jetbrains:annotations:13.0=compileClasspath,detekt,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinCompilerPluginClasspath,kotlinKlibCommonizerClasspath,ktlint,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.joda:joda-convert:1.8.1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.junit.jupiter:junit-jupiter-api:5.8.0-M1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.junit.jupiter:junit-jupiter-engine:5.8.0-M1=testRuntimeClasspath
+org.junit.jupiter:junit-jupiter-params:5.8.0-M1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.junit.jupiter:junit-jupiter:5.8.0-M1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.junit.platform:junit-platform-commons:1.8.0-M1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.junit.platform:junit-platform-engine:1.8.0-M1=testRuntimeClasspath
+org.junit:junit-bom:5.8.0-M1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.objenesis:objenesis:3.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.openapi4j:openapi-core:1.0.7=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.openapi4j:openapi-operation-validator:1.0.7=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.openapi4j:openapi-parser:1.0.7=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.openapi4j:openapi-schema-validator:1.0.7=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.ow2.asm:asm-analysis:8.0.1=jacocoAnt
+org.ow2.asm:asm-commons:8.0.1=jacocoAnt
+org.ow2.asm:asm-tree:8.0.1=jacocoAnt
+org.ow2.asm:asm:5.0.4=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.ow2.asm:asm:8.0.1=jacocoAnt
+org.reactivestreams:reactive-streams:1.0.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.slf4j:slf4j-api:2.0.0-alpha1=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
+org.yaml:snakeyaml:1.27=testCompileClasspath,testImplementationDependenciesMetadata
+org.yaml:snakeyaml:1.28=detekt,runtimeClasspath,testRuntimeClasspath
+empty=annotationProcessor,apiDependenciesMetadata,compile,compileOnly,compileOnlyDependenciesMetadata,detektPlugins,kotlinScriptDef,kotlinScriptDefExtensions,ktlintReporter,ktlintRuleset,runtime,runtimeOnlyDependenciesMetadata,shadow,testAnnotationProcessor,testApiDependenciesMetadata,testCompile,testCompileOnly,testCompileOnlyDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntime,testRuntimeOnlyDependenciesMetadata
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index da9702f..f371643 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/src/main/kotlin/fr/dcproject/application/Converters.kt b/src/main/kotlin/fr/dcproject/application/Converters.kt
index 4a67f2e..09c6289 100644
--- a/src/main/kotlin/fr/dcproject/application/Converters.kt
+++ b/src/main/kotlin/fr/dcproject/application/Converters.kt
@@ -6,18 +6,10 @@ import fr.dcproject.application.http.HttpErrorBadRequest.InvalidParam
import io.ktor.features.DataConversion
import io.ktor.http.HttpStatusCode
import io.ktor.util.KtorExperimentalAPI
-import org.koin.core.context.GlobalContext
-import org.koin.core.parameter.ParametersDefinition
-import org.koin.core.qualifier.Qualifier
import java.util.UUID
private typealias ConverterDeclaration = DataConversion.Configuration.() -> Unit
-private inline fun DataConversion.Configuration.get(
- qualifier: Qualifier? = null,
- noinline parameters: ParametersDefinition? = null
-): T = GlobalContext.get().koin.rootScope.get(qualifier, parameters)
-
@KtorExperimentalAPI
val converters: ConverterDeclaration = {
convert {
diff --git a/src/main/kotlin/fr/dcproject/component/auth/CitizenContext.kt b/src/main/kotlin/fr/dcproject/component/auth/CitizenContext.kt
index ee766e1..b41690e 100644
--- a/src/main/kotlin/fr/dcproject/component/auth/CitizenContext.kt
+++ b/src/main/kotlin/fr/dcproject/component/auth/CitizenContext.kt
@@ -17,13 +17,13 @@ private val citizenAttributeKey = AttributeKey("CitizenContext")
val ApplicationCall.citizen: CitizenEntity
get() = attributes.computeIfAbsent(citizenAttributeKey) {
val user = authentication.principal() ?: throw ForbiddenException("No User Connected")
- GlobalContext.get().koin.get().findByUser(user)
+ GlobalContext.get().get().findByUser(user)
?: throw ForbiddenException("Citizen not found for this user id \"${user.id}\"")
}
val ApplicationCall.citizenOrNull: CitizenEntity?
get() = authentication.principal()?.let {
- GlobalContext.get().koin.get().findByUser(it)
+ GlobalContext.get().get().findByUser(it)
}
val ApplicationCall.isAuth: Boolean
diff --git a/src/main/kotlin/fr/dcproject/component/auth/jwt/JWTMaker.kt b/src/main/kotlin/fr/dcproject/component/auth/jwt/JWTMaker.kt
index ba78c2b..84df021 100644
--- a/src/main/kotlin/fr/dcproject/component/auth/jwt/JWTMaker.kt
+++ b/src/main/kotlin/fr/dcproject/component/auth/jwt/JWTMaker.kt
@@ -7,7 +7,7 @@ import org.koin.core.context.GlobalContext
/**
* Produce a token for this combination of User and Account
*/
-fun UserI.makeToken(): String = GlobalContext.get().koin.get().run {
+fun UserI.makeToken(): String = GlobalContext.get().get().run {
JWT.create()
.withSubject("Authentication")
.withIssuer(issuer)
diff --git a/src/main/kotlin/fr/dcproject/component/workgroup/routes/EditWorkgroup.kt b/src/main/kotlin/fr/dcproject/component/workgroup/routes/EditWorkgroup.kt
index b116b7d..7a80327 100644
--- a/src/main/kotlin/fr/dcproject/component/workgroup/routes/EditWorkgroup.kt
+++ b/src/main/kotlin/fr/dcproject/component/workgroup/routes/EditWorkgroup.kt
@@ -20,13 +20,12 @@ import io.ktor.locations.Location
import io.ktor.locations.put
import io.ktor.response.respond
import io.ktor.routing.Route
-import org.koin.core.KoinComponent
import java.util.UUID
@KtorExperimentalLocationsAPI
object EditWorkgroup {
@Location("/workgroups/{workgroupId}")
- class PutWorkgroupRequest(val workgroupId: UUID) : KoinComponent {
+ class PutWorkgroupRequest(val workgroupId: UUID) {
class Input(
val name: String?,
val description: String?,
diff --git a/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/AddMemberToWorkgroup.kt b/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/AddMemberToWorkgroup.kt
index add4574..b52cc14 100644
--- a/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/AddMemberToWorkgroup.kt
+++ b/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/AddMemberToWorkgroup.kt
@@ -17,13 +17,12 @@ import io.ktor.locations.Location
import io.ktor.locations.post
import io.ktor.response.respond
import io.ktor.routing.Route
-import org.koin.core.KoinComponent
import java.util.UUID
@KtorExperimentalLocationsAPI
object AddMemberToWorkgroup {
@Location("/workgroups/{workgroupId}/members")
- class WorkgroupsMembersRequest(val workgroupId: UUID) : KoinComponent {
+ class WorkgroupsMembersRequest(val workgroupId: UUID) {
class Input : MutableList by mutableListOf() {
class Member(val citizen: CitizenRef, roles: List = emptyList()) {
val roles: List = roles.map {
diff --git a/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/DeleteMembersOfWorkgroup.kt b/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/DeleteMembersOfWorkgroup.kt
index daf93b1..0e65328 100644
--- a/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/DeleteMembersOfWorkgroup.kt
+++ b/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/DeleteMembersOfWorkgroup.kt
@@ -17,14 +17,13 @@ import io.ktor.locations.Location
import io.ktor.locations.delete
import io.ktor.response.respond
import io.ktor.routing.Route
-import org.koin.core.KoinComponent
import java.util.UUID
import fr.dcproject.component.workgroup.routes.members.DeleteMembersOfWorkgroup.WorkgroupsMembersRequest.Input as Input
@KtorExperimentalLocationsAPI
object DeleteMembersOfWorkgroup {
@Location("/workgroups/{workgroupId}/members")
- class WorkgroupsMembersRequest(val workgroupId: UUID) : KoinComponent {
+ class WorkgroupsMembersRequest(val workgroupId: UUID) {
class Input : MutableList by mutableListOf() {
class Member(val citizen: CitizenRef)
}
diff --git a/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/UpdateMemberOfWorkgroup.kt b/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/UpdateMemberOfWorkgroup.kt
index 885a789..a4bc6ea 100644
--- a/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/UpdateMemberOfWorkgroup.kt
+++ b/src/main/kotlin/fr/dcproject/component/workgroup/routes/members/UpdateMemberOfWorkgroup.kt
@@ -17,13 +17,12 @@ import io.ktor.locations.Location
import io.ktor.locations.put
import io.ktor.response.respond
import io.ktor.routing.Route
-import org.koin.core.KoinComponent
import java.util.UUID
@KtorExperimentalLocationsAPI
object UpdateMemberOfWorkgroup {
@Location("/workgroups/{workgroupId}/members")
- class WorkgroupsMembersRequest(val workgroupId: UUID) : KoinComponent {
+ class WorkgroupsMembersRequest(val workgroupId: UUID) {
class Input : MutableList by mutableListOf() {
class Item(val citizen: CitizenRef, roles: List = emptyList()) {
val roles: List = roles.map {
diff --git a/src/test/kotlin/functional/MailerTest.kt b/src/test/kotlin/functional/MailerTest.kt
index b63d6fc..db8af96 100644
--- a/src/test/kotlin/functional/MailerTest.kt
+++ b/src/test/kotlin/functional/MailerTest.kt
@@ -15,7 +15,6 @@ import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Tags
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
-import org.koin.test.AutoCloseKoinTest
import org.koin.test.KoinTest
import org.koin.test.get
@@ -23,7 +22,7 @@ import org.koin.test.get
@KtorExperimentalAPI
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@Tags(Tag("functional"), Tag("mail"))
-class MailerTest : KoinTest, AutoCloseKoinTest() {
+class MailerTest : KoinTest {
@InternalCoroutinesApi
@ExperimentalCoroutinesApi
@Test
diff --git a/src/test/kotlin/integration/steps/given/Article.kt b/src/test/kotlin/integration/steps/given/Article.kt
index b32f431..17f1cb2 100644
--- a/src/test/kotlin/integration/steps/given/Article.kt
+++ b/src/test/kotlin/integration/steps/given/Article.kt
@@ -46,7 +46,7 @@ fun createArticle(
workgroup: WorkgroupRef? = null,
createdBy: CitizenRef = createCitizen()
): ArticleForView {
- val articleRepository: ArticleRepository by lazy { GlobalContext.get().koin.get() }
+ val articleRepository: ArticleRepository by lazy { GlobalContext.get().get() }
val article = ArticleForUpdate(
id = id ?: UUID.randomUUID(),
diff --git a/src/test/kotlin/integration/steps/given/Auth.kt b/src/test/kotlin/integration/steps/given/Auth.kt
index 6c6fb71..7401d3b 100644
--- a/src/test/kotlin/integration/steps/given/Auth.kt
+++ b/src/test/kotlin/integration/steps/given/Auth.kt
@@ -14,9 +14,9 @@ fun TestApplicationRequest.`authenticated as`(
lastName: String,
): Citizen {
val username = "$firstName-$lastName".toLowerCase()
- val repo: CitizenRepository by lazy { GlobalContext.get().koin.get() }
+ val repo: CitizenRepository by lazy { GlobalContext.get().get() }
val citizen = repo.findByUsername(username) ?: error("Citizen not exist with username $username")
- val algorithm = GlobalContext.get().koin.get().algorithm
+ val algorithm = GlobalContext.get().get().algorithm
val jwtAsString: String = JWT.create()
.withIssuer("dc-project.fr")
.withClaim("id", citizen.user.id.toString())
@@ -30,9 +30,9 @@ fun TestApplicationRequest.`authenticated in url as`(
firstName: String,
lastName: String,
): Citizen {
- val repo: CitizenRepository by lazy { GlobalContext.get().koin.get() }
+ val repo: CitizenRepository by lazy { GlobalContext.get().get() }
val citizen = repo.findByName(CitizenI.Name(firstName, lastName)) ?: error("Citizen not exist with name $firstName $lastName")
- val algorithm = GlobalContext.get().koin.get().algorithm
+ val algorithm = GlobalContext.get().get().algorithm
val jwtAsString: String = JWT.create()
.withIssuer("dc-project.fr")
.withClaim("id", citizen.user.id.toString())
diff --git a/src/test/kotlin/integration/steps/given/Citizen.kt b/src/test/kotlin/integration/steps/given/Citizen.kt
index 730ae70..cb763c6 100644
--- a/src/test/kotlin/integration/steps/given/Citizen.kt
+++ b/src/test/kotlin/integration/steps/given/Citizen.kt
@@ -18,7 +18,7 @@ fun TestApplicationEngine.`Given I have citizen`(
id: String = UUID.randomUUID().toString(),
callback: Citizen.() -> Unit = {}
): Citizen? {
- val repo: CitizenRepository by lazy { GlobalContext.get().koin.get() }
+ val repo: CitizenRepository by lazy { GlobalContext.get().get() }
val user = UserForCreate(
id = id.toUUID(),
@@ -37,7 +37,7 @@ fun TestApplicationEngine.`Given I have citizen`(
}
fun createCitizen(name: CitizenI.Name? = null, id: UUID = UUID.randomUUID()): Citizen {
- val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() }
+ val citizenRepository: CitizenRepository by lazy { GlobalContext.get().get() }
return if (name != null) {
citizenRepository.findByName(name) ?: error("Citizen not exist")
diff --git a/src/test/kotlin/integration/steps/given/Comment.kt b/src/test/kotlin/integration/steps/given/Comment.kt
index 6dee80e..18308c0 100644
--- a/src/test/kotlin/integration/steps/given/Comment.kt
+++ b/src/test/kotlin/integration/steps/given/Comment.kt
@@ -43,7 +43,7 @@ fun createComment(
createdBy: Name? = null,
content: String? = null
): CommentForView {
- val articleRepository: ArticleRepository by lazy { GlobalContext.get().koin.get() }
+ val articleRepository: ArticleRepository by lazy { GlobalContext.get().get() }
return createCommentOnTarget(
id,
article?.id?.let { articleRepository.findById(article.id) } ?: createArticle(article?.id),
@@ -67,7 +67,7 @@ fun createComment(
createdBy: Name? = null,
content: String? = null
): CommentForView {
- val constitutionRepository: ConstitutionRepository by lazy { GlobalContext.get().koin.get() }
+ val constitutionRepository: ConstitutionRepository by lazy { GlobalContext.get().get() }
return createCommentOnTarget(
id,
constitution?.id?.let { constitutionRepository.findById(constitution.id) } ?: createConstitution(constitution?.id),
@@ -82,7 +82,7 @@ fun createCommentOnTarget(
createdBy: Name? = null,
content: String? = null
): CommentForView {
- val commentRepository: CommentRepository by lazy { GlobalContext.get().koin.get() }
+ val commentRepository: CommentRepository by lazy { GlobalContext.get().get() }
val creator = createCitizen(createdBy)
val comment = CommentForUpdate(
id = id ?: UUID.randomUUID(),
@@ -114,7 +114,7 @@ fun createCommentOnComment(
content: String? = null
): CommentForView {
val creator = createCitizen(createdBy)
- val commentRepository: CommentRepository by lazy { GlobalContext.get().koin.get() }
+ val commentRepository: CommentRepository by lazy { GlobalContext.get().get() }
val parentComment = if (parent == null) {
createComment()
} else {
diff --git a/src/test/kotlin/integration/steps/given/Constitution.kt b/src/test/kotlin/integration/steps/given/Constitution.kt
index 6227099..c95d1e1 100644
--- a/src/test/kotlin/integration/steps/given/Constitution.kt
+++ b/src/test/kotlin/integration/steps/given/Constitution.kt
@@ -44,7 +44,7 @@ fun createConstitution(
titles: List>? = null,
createdBy: Name? = null
): ConstitutionForView {
- val constitutionRepository: ConstitutionRepository by lazy { GlobalContext.get().koin.get() }
+ val constitutionRepository: ConstitutionRepository by lazy { GlobalContext.get().get() }
val creator: CitizenWithUserI = createCitizen(createdBy)
diff --git a/src/test/kotlin/integration/steps/given/Follow.kt b/src/test/kotlin/integration/steps/given/Follow.kt
index 3e9191f..dfd7a8f 100644
--- a/src/test/kotlin/integration/steps/given/Follow.kt
+++ b/src/test/kotlin/integration/steps/given/Follow.kt
@@ -30,7 +30,7 @@ fun TestApplicationEngine.`Given I have follow on article`(
lastName: String,
article: String,
) {
- val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() }
+ val citizenRepository: CitizenRepository by lazy { GlobalContext.get().get() }
val citizen = citizenRepository.findByName(CitizenI.Name(firstName, lastName)) ?: error("Citizen not exist")
createFollow(citizen, ArticleRef(article.toUUID()))
}
@@ -40,19 +40,19 @@ fun TestApplicationEngine.`Given I have follow on constitution`(
lastName: String,
constitution: String,
) {
- val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() }
+ val citizenRepository: CitizenRepository by lazy { GlobalContext.get().get() }
val citizen = citizenRepository.findByName(CitizenI.Name(firstName, lastName)) ?: error("Citizen not exist")
createFollow(citizen, ArticleRef(constitution.toUUID()))
}
fun createFollow(citizen: CitizenRef, article: ArticleRef) {
- val followArticleRepository: FollowArticleRepository by lazy { GlobalContext.get().koin.get() }
+ val followArticleRepository: FollowArticleRepository by lazy { GlobalContext.get().get() }
val follow = FollowForUpdate(createdBy = citizen, target = article)
followArticleRepository.follow(follow)
}
fun createFollow(citizen: CitizenRef, constitution: ConstitutionRef) {
- val followConstitutionRepository: FollowConstitutionRepository by lazy { GlobalContext.get().koin.get() }
+ val followConstitutionRepository: FollowConstitutionRepository by lazy { GlobalContext.get().get() }
val follow = FollowForUpdate(createdBy = citizen, target = constitution)
followConstitutionRepository.follow(follow)
}
diff --git a/src/test/kotlin/integration/steps/given/Opinion.kt b/src/test/kotlin/integration/steps/given/Opinion.kt
index 20338ba..c4ba3aa 100644
--- a/src/test/kotlin/integration/steps/given/Opinion.kt
+++ b/src/test/kotlin/integration/steps/given/Opinion.kt
@@ -23,7 +23,7 @@ fun createOpinionChoice(
id: UUID? = null,
name: String,
): OpinionChoice {
- val opinionChoiceRepository: OpinionChoiceRepository by lazy { GlobalContext.get().koin.get() }
+ val opinionChoiceRepository: OpinionChoiceRepository by lazy { GlobalContext.get().get() }
val opinionChoice = OpinionChoice(
id = id,
name = name,
@@ -38,9 +38,9 @@ fun `Given I have opinion on article`(
citizenName: Name,
id: String? = null
) {
- val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() }
- val opinionRepositoryArticle: OpinionRepositoryArticle by lazy { GlobalContext.get().koin.get() }
- val opinionChoiceRepository: OpinionChoiceRepository by lazy { GlobalContext.get().koin.get() }
+ val citizenRepository: CitizenRepository by lazy { GlobalContext.get().get() }
+ val opinionRepositoryArticle: OpinionRepositoryArticle by lazy { GlobalContext.get().get() }
+ val opinionChoiceRepository: OpinionChoiceRepository by lazy { GlobalContext.get().get() }
val opinion = OpinionForUpdate(
id = id?.toUUID() ?: UUID.randomUUID(),
choice = opinionChoiceRepository.findOpinionsChoiceByName(name)
diff --git a/src/test/kotlin/integration/steps/given/Vote.kt b/src/test/kotlin/integration/steps/given/Vote.kt
index c3f65a1..658c0e0 100644
--- a/src/test/kotlin/integration/steps/given/Vote.kt
+++ b/src/test/kotlin/integration/steps/given/Vote.kt
@@ -33,9 +33,9 @@ fun createVote(
note: Int,
id: UUID? = null,
): VoteAggregation {
- val voteArticleRepository: VoteArticleRepository by lazy { GlobalContext.get().koin.get() }
- val articleRepository: ArticleRepository by lazy { GlobalContext.get().koin.get() }
- val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() }
+ val voteArticleRepository: VoteArticleRepository by lazy { GlobalContext.get().get() }
+ val articleRepository: ArticleRepository by lazy { GlobalContext.get().get() }
+ val citizenRepository: CitizenRepository by lazy { GlobalContext.get().get() }
val vote = VoteForUpdate(
id = id ?: UUID.randomUUID(),
note = note,
diff --git a/src/test/kotlin/integration/steps/given/Workgroup.kt b/src/test/kotlin/integration/steps/given/Workgroup.kt
index 5871439..b6aac03 100644
--- a/src/test/kotlin/integration/steps/given/Workgroup.kt
+++ b/src/test/kotlin/integration/steps/given/Workgroup.kt
@@ -36,8 +36,8 @@ fun WorkgroupForView.`With members`(
@Suppress("UNCHECKED_CAST")
fun addMemberToWorkgroup(workgroup: WorkgroupForView, vararg membersNames: CitizenI.Name) {
- val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() }
- val workgroupRepository: WorkgroupRepository by lazy { GlobalContext.get().koin.get() }
+ val citizenRepository: CitizenRepository by lazy { GlobalContext.get().get() }
+ val workgroupRepository: WorkgroupRepository by lazy { GlobalContext.get().get() }
val newMembers: List> = membersNames.map { memberName ->
val member: Citizen = citizenRepository.findByName(memberName) ?: error("Citizen not exist")
@@ -56,8 +56,8 @@ private fun createWorkgroup(
anonymous: Boolean? = null,
createdBy: CitizenI.Name? = null,
): WorkgroupForView {
- val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() }
- val workgroupRepository: WorkgroupRepository by lazy { GlobalContext.get().koin.get() }
+ val citizenRepository: CitizenRepository by lazy { GlobalContext.get().get() }
+ val workgroupRepository: WorkgroupRepository by lazy { GlobalContext.get().get() }
val creatorName = createdBy ?: CitizenI.Name("Paul", "Langevin")
val creator = citizenRepository.findByName(creatorName) ?: run {