diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 597eb90567..fba9992525 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -23,6 +23,7 @@ jobs:
GITHUB_ACTOR: ${{ secrets.ATALA_GITHUB_ACTOR }}
GITHUB_TOKEN: ${{ secrets.ATALA_GITHUB_TOKEN }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
+ _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -31,9 +32,9 @@ jobs:
ref: ${{ github.event.inputs.release-branch }}
fetch-depth: 0
- name: Setup Java and Scala
- uses: olafurpg/setup-scala@v13
+ uses: olafurpg/setup-scala@v14
with:
- java-version: openjdk@1.11
+ java-version: openjdk@1.17
- name: Setup Node.js
uses: actions/setup-node@v3
with:
@@ -41,7 +42,7 @@ jobs:
- name: Setup Helm
uses: azure/setup-helm@v3
with:
- version: '3.12.2' # default is latest (stable)
+ version: "3.12.2" # default is latest (stable)
id: install
- name: Setup yq - portable yaml processor
uses: mikefarah/yq@v4.34.2
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2855d4fca..e485581170 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,24 @@
+# [1.19.0-snapshot.1](https://github.com/hyperledger-labs/open-enterprise-agent/compare/prism-agent-v1.18.0...prism-agent-v1.19.0-snapshot.1) (2023-11-16)
+
+
+### Bug Fixes
+
+* check for active RLS on db application user ([#775](https://github.com/hyperledger-labs/open-enterprise-agent/issues/775)) ([a792f43](https://github.com/hyperledger-labs/open-enterprise-agent/commit/a792f43eaae0ec2cd30db2ea3308deded7a1a935))
+* explicitly define transitive dependencies of resteasyclient ([99a8aaa](https://github.com/hyperledger-labs/open-enterprise-agent/commit/99a8aaa2ab38d9dcc5621f9e875cab14b050a1ad))
+* make sure test libs dont leak to runnable ([704e49e](https://github.com/hyperledger-labs/open-enterprise-agent/commit/704e49ebe1edd4458d8b73073b4e7dbef21918ae))
+* **pollux:** V16 migration is failing to add FK constraint because of type mismatch ([#782](https://github.com/hyperledger-labs/open-enterprise-agent/issues/782)) ([c87beb0](https://github.com/hyperledger-labs/open-enterprise-agent/commit/c87beb0478d4b3d54709e09597c42c23878d101e))
+* **prism-agent:** more descriptive error response for validateDID in issue flow ([#783](https://github.com/hyperledger-labs/open-enterprise-agent/issues/783)) ([b99a737](https://github.com/hyperledger-labs/open-enterprise-agent/commit/b99a73718a06f4b97d933ba2e3220593f8d4e825))
+* **prism-agent:** perform percent encoding on auth header for token introspection request ([#780](https://github.com/hyperledger-labs/open-enterprise-agent/issues/780)) ([03d43c9](https://github.com/hyperledger-labs/open-enterprise-agent/commit/03d43c98d8ab64e5b47830d95a6356f9d6dd1b82))
+
+
+### Features
+
+* Accept goal and goalCode to create connection invitation ([#785](https://github.com/hyperledger-labs/open-enterprise-agent/issues/785)) ([71c776b](https://github.com/hyperledger-labs/open-enterprise-agent/commit/71c776baa2caf3ca610508dba805f037fd7d6e29))
+* **docs:** ADR for revocation status list expansion strategy ([#773](https://github.com/hyperledger-labs/open-enterprise-agent/issues/773)) ([7ad6427](https://github.com/hyperledger-labs/open-enterprise-agent/commit/7ad64277acb2bffe12524c4bfb68f687689b5b2e))
+* Keycloak container support with clients and PermissionManagement service ([#755](https://github.com/hyperledger-labs/open-enterprise-agent/issues/755)) ([a1846aa](https://github.com/hyperledger-labs/open-enterprise-agent/commit/a1846aaa84202b55d48ea8556aad8cbbb8260f4d))
+* **pollux:** Add migrations needed for JWT revocation ([#778](https://github.com/hyperledger-labs/open-enterprise-agent/issues/778)) ([471956e](https://github.com/hyperledger-labs/open-enterprise-agent/commit/471956e92893a7237cabca2fb065adb417678d37))
+* **prism-agent:** add multi-tenant wallet self-service capability ([#779](https://github.com/hyperledger-labs/open-enterprise-agent/issues/779)) ([f2e74cd](https://github.com/hyperledger-labs/open-enterprise-agent/commit/f2e74cd1957e7d76f6dccadd02b1ca5b794d02b1))
+
# [1.18.0](https://github.com/hyperledger-labs/open-enterprise-agent/compare/prism-agent-v1.17.0...prism-agent-v1.18.0) (2023-10-24)
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 98a7c20683..b37c40cfa3 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -2,6 +2,7 @@
Category | License | Dependency | Notes
--- | --- | --- | ---
+Apache | [APL2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [net.reactivecore # circe-json-schema_2.13 # 0.3.0](https://github.com/reactivecore/rc-circe-json-schema) |
Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.thesamet.scalapb # lenses_3 # 0.11.13](https://github.com/scalapb/ScalaPB) |
Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.thesamet.scalapb # scalapb-runtime-grpc_3 # 0.11.13](https://github.com/scalapb/ScalaPB) |
Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.thesamet.scalapb # scalapb-runtime_3 # 0.11.13](https://github.com/scalapb/ScalaPB) |
@@ -72,13 +73,20 @@ Apache | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [io.
Apache | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [io.getquill # quill-sql_3 # 4.7.3](https://zio.dev/zio-protoquill) |
Apache | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [io.getquill # quill-util_3 # 4.7.3](https://zio.dev/zio-quill) |
Apache | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [io.getquill # quill-zio_3 # 4.7.3](https://zio.dev/zio-protoquill) |
+Apache | [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [jakarta.validation # jakarta.validation-api # 3.0.2](https://beanvalidation.org) |
Apache | [Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt) | [org.jboss.logging # jboss-logging # 3.5.1.Final](http://www.jboss.org) |
+Apache | [Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt) | org.jboss.resteasy # resteasy-client # 6.2.4.Final |
+Apache | [Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt) | org.jboss.resteasy # resteasy-client-api # 6.2.4.Final |
+Apache | [Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt) | org.jboss.resteasy # resteasy-core # 6.2.4.Final |
+Apache | [Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt) | org.jboss.resteasy # resteasy-core-spi # 6.2.4.Final |
+Apache | [Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt) | org.jboss.resteasy # resteasy-jackson2-provider # 6.2.4.Final |
Apache | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | [com.networknt # json-schema-validator # 1.0.86](https://github.com/networknt/json-schema-validator) |
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.ethlo.time # itu # 1.7.0](https://github.com/ethlo/itu) |
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.github.stephenc.jcip # jcip-annotations # 1.0-1](http://stephenc.github.com/jcip-annotations) |
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.crypto.tink # tink # 1.6.1](http://github.com/google/tink) |
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.guava # guava # 31.0.1-android](https://github.com/google/guava) |
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [commons-codec # commons-codec # 1.11](http://commons.apache.org/proper/commons-codec/) |
+Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [commons-codec # commons-codec # 1.15](https://commons.apache.org/proper/commons-codec/) |
Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-common-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) |
Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-crypto-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) |
Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-identity-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) |
@@ -104,17 +112,28 @@ Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.apache.httpcomponents # httpclient # 4.5.14](http://hc.apache.org/httpcomponents-client-ga) |
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.apache.httpcomponents # httpcore # 4.4.16](http://hc.apache.org/httpcomponents-core-ga) |
Apache | [Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-community) | org.flywaydb # flyway-core # 9.8.3 |
+Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.jboss # jandex # 2.4.3.Final |
+Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.jboss.shrinkwrap # shrinkwrap-api # 1.2.6 |
+Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.jboss.shrinkwrap # shrinkwrap-impl-base # 1.2.6 |
+Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.jboss.shrinkwrap # shrinkwrap-spi # 1.2.6 |
+Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | org.keycloak # keycloak-admin-client # 22.0.4 |
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | org.keycloak # keycloak-authz-client # 22.0.4 |
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | org.keycloak # keycloak-common # 22.0.4 |
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | org.keycloak # keycloak-core # 22.0.4 |
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.log4s # log4s_3 # 1.10.0](http://log4s.org/) |
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.objenesis # objenesis # 3.3 |
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.yaml # snakeyaml # 2.0](https://bitbucket.org/snakeyaml/snakeyaml) |
+Apache | [Apache License, version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jboss.logging # jboss-logging # 3.5.0.Final](http://www.jboss.org) |
+Apache | [Apache Software License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.java-json-tools # btf # 1.3](https://github.com/java-json-tools/btf) |
+Apache | [Apache Software License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.java-json-tools # jackson-coreutils # 2.0](https://github.com/java-json-tools/jackson-coreutils) |
+Apache | [Apache Software License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.java-json-tools # json-patch # 1.13](https://github.com/java-json-tools/json-patch) |
+Apache | [Apache Software License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.java-json-tools # msg-simple # 1.2](https://github.com/java-json-tools/msg-simple) |
Apache | [Apache-2.0](http://www.apache.org/licenses/) | [com.comcast # ip4s-core_3 # 3.1.2](https://github.com/comcast/ip4s) |
Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.comcast # ip4s-core_3 # 3.3.0](https://github.com/Comcast/ip4s) |
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.geirsson # metaconfig-core_2.13 # 0.11.1](https://github.com/olafurpg/metaconfig) |
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.geirsson # metaconfig-pprint_2.13 # 0.11.1](https://github.com/olafurpg/metaconfig) |
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.geirsson # metaconfig-typesafe-config_2.13 # 0.11.1](https://github.com/olafurpg/metaconfig) |
+Apache | [Apache-2.0](https://opensource.org/licenses/Apache-2.0) | [com.github.dasniko # testcontainers-keycloak # 3.0.0](https://github.com/dasniko/testcontainers-keycloak) |
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-circe_3 # 9.1.2](https://jwt-scala.github.io/jwt-scala/) |
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-core_3 # 9.1.2](https://jwt-scala.github.io/jwt-scala/) |
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-json-common_3 # 9.1.2](https://jwt-scala.github.io/jwt-scala/) |
@@ -223,13 +242,19 @@ Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENS
Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlinx # kotlinx-datetime-jvm # 0.2.1](https://github.com/Kotlin/kotlinx-datetime) |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.10.3](http://github.com/FasterXML/jackson) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.14.0](https://github.com/FasterXML/jackson) |
+Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.14.3](https://github.com/FasterXML/jackson) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.15.2](https://github.com/FasterXML/jackson) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-core # 2.14.0](https://github.com/FasterXML/jackson-core) |
+Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-core # 2.14.3](https://github.com/FasterXML/jackson-core) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-core # 2.15.2](https://github.com/FasterXML/jackson-core) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-databind # 2.14.0](https://github.com/FasterXML/jackson) |
+Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-databind # 2.14.3](https://github.com/FasterXML/jackson) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-databind # 2.15.2](https://github.com/FasterXML/jackson) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.dataformat # jackson-dataformat-toml # 2.14.0](https://github.com/FasterXML/jackson-dataformats-text) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.dataformat # jackson-dataformat-yaml # 2.15.2](https://github.com/FasterXML/jackson-dataformats-text) |
+Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | com.fasterxml.jackson.jakarta.rs # jackson-jakarta-rs-base # 2.14.3 |
+Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | com.fasterxml.jackson.jakarta.rs # jackson-jakarta-rs-json-provider # 2.14.3 |
+Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.module # jackson-module-jakarta-xmlbind-annotations # 2.14.3](https://github.com/FasterXML/jackson-modules-base) |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.github.docker-java # docker-java-api # 3.3.3](https://github.com/docker-java/docker-java) |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.github.docker-java # docker-java-transport # 3.3.3](https://github.com/docker-java/docker-java) |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.github.docker-java # docker-java-transport-zerodep # 3.3.3](https://github.com/docker-java/docker-java) |
@@ -238,8 +263,10 @@ Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licens
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.guava # listenablefuture # 9999.0-empty-to-avoid-conflict-with-guava |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.j2objc # j2objc-annotations # 1.3](https://github.com/google/j2objc/) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.zxing # core # 3.5.0 |
+Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.ibm.async # asyncutil # 0.1.0](http://github.com/ibm/java-async-util) |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.twitter # hpack # 1.0.2 |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.zaxxer # HikariCP # 4.0.3](https://github.com/brettwooldridge/HikariCP) |
+Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [commons-logging # commons-logging # 1.2](http://commons.apache.org/proper/commons-logging/) |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.github.java-diff-utils # java-diff-utils # 4.12 |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.iohk.atala # nimbus-jose-jwt # 10.0.0](https://bitbucket.org/connect2id/nimbus-jose-jwt) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.ktor # ktor-io-jvm # 1.6.5](https://github.com/ktorio/ktor) |
@@ -252,6 +279,7 @@ Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licens
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.prometheus # simpleclient_tracer_common # 0.16.0 |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.prometheus # simpleclient_tracer_otel # 0.16.0 |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.prometheus # simpleclient_tracer_otel_agent # 0.16.0 |
+Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | io.quarkus # quarkus-junit4-mock # 3.2.0.Final |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.bitcoinj # bitcoinj-core # 0.15.10](https://bitcoinj.github.io) |
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains # annotations # 13.0](http://www.jetbrains.org) |
Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains # annotations # 17.0.0](https://github.com/JetBrains/java-annotations) |
@@ -303,6 +331,10 @@ BSD | [BSD New](https://github.com/portable-scala/portable-scala-reflect/blob/ma
BSD | [BSD-2-Clause](https://jdbc.postgresql.org/about/license.html) | [org.postgresql # postgresql # 42.3.1](https://jdbc.postgresql.org) |
BSD | [BSD-3-Clause](https://github.com/scodec/scodec-bits/blob/main/LICENSE) | [org.scodec # scodec-bits_3 # 1.1.30](https://github.com/scodec/scodec-bits) |
BSD | [BSD-3-Clause](https://github.com/scodec/scodec-bits/blob/main/LICENSE) | [org.scodec # scodec-bits_3 # 1.1.37](https://github.com/scodec/scodec-bits) |
+BSD | [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) | com.sun.activation # jakarta.activation # 2.0.1 |
+BSD | [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) | [jakarta.activation # jakarta.activation-api # 2.1.2](https://github.com/jakartaee/jaf-api) |
+BSD | [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) | org.eclipse.angus # angus-activation # 1.0.0 |
+BSD | [Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php) | jakarta.xml.bind # jakarta.xml.bind-api # 3.0.1 |
BSD | [New BSD License](http://www.opensource.org/licenses/bsd-license.php) | org.hamcrest # hamcrest-core # 1.3 |
BSD | [The BSD License](https://opensource.org/licenses/BSD-3-Clause) | org.jline # jline # 3.22.0 |
Bouncy Castle License | [Bouncy Castle Licence](https://www.bouncycastle.org/licence.html) | [org.bouncycastle # bcpkix-jdk15on # 1.70](https://www.bouncycastle.org/java.html) |
@@ -312,7 +344,9 @@ Bouncy Castle License | [Bouncy Castle Licence](http://www.bouncycastle.org/lice
Bouncy Castle License | [Bouncy Castle Licence](https://www.bouncycastle.org/licence.html) | [org.bouncycastle # bcutil-jdk15on # 1.70](https://www.bouncycastle.org/java.html) |
EPL | [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) | [junit # junit # 4.13.1](http://junit.org) |
EPL | [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) | [junit # junit # 4.13.2](http://junit.org) |
+GPL | [GPL2 w/ CPE](https://www.gnu.org/software/classpath/license.html) | [jakarta.annotation # jakarta.annotation-api # 2.1.1](https://projects.eclipse.org/projects/ee4j.ca) |
GPL with Classpath Extension | [CDDL + GPLv2 with classpath exception](https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html) | [javax.annotation # javax.annotation-api # 1.2](http://jcp.org/en/jsr/detail?id=250) |
+GPL with Classpath Extension | [GPL-2.0-with-classpath-exception](https://www.gnu.org/software/classpath/license.html) | [jakarta.ws.rs # jakarta.ws.rs-api # 3.1.0](https://github.com/eclipse-ee4j/jaxrs-api) |
LGPL | [GNU Lesser General Public License](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) | ch.qos.logback # logback-classic # 1.4.8 |
LGPL | [GNU Lesser General Public License](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) | ch.qos.logback # logback-core # 1.4.8 |
MIT | [MIT](http://opensource.org/licenses/MIT) | [co.fs2 # fs2-core_3 # 3.2.4](https://github.com/typelevel/fs2) |
@@ -350,10 +384,11 @@ MIT | [MIT](http://opensource.org/licenses/MIT) | [org.typelevel # vault_3 # 3.5
MIT | [MIT License](https://raw.githubusercontent.com/korlibs/krypto/master/LICENSE) | [com.soywiz.korlibs.krypto # krypto-jvm # 2.4.12](https://github.com/korlibs/krypto) |
MIT | [MIT License](https://opensource.org/licenses/MIT) | [io.iohk # pbandk-protos # 0.20.7](https://github.com/input-output-hk/pbandk) |
MIT | [MIT License](https://opensource.org/licenses/MIT) | [io.iohk # pbandk-runtime-jvm # 0.20.7](https://github.com/input-output-hk/pbandk) |
-MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-api # 1.7.36](http://www.slf4j.org) |
+MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-api # 1.7.32](http://www.slf4j.org) |
MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-api # 2.0.7](http://www.slf4j.org) |
MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-simple # 2.0.7](http://www.slf4j.org) |
MIT | [MIT license](http://www.opensource.org/licenses/mit-license.php) | org.codehaus.mojo # animal-sniffer-annotations # 1.19 |
+MIT | [MIT-0](https://spdx.org/licenses/MIT-0.html) | [org.reactivestreams # reactive-streams # 1.0.4](http://www.reactive-streams.org/) |
MIT | [The MIT License](http://opensource.org/licenses/MIT) | [org.checkerframework # checker-compat-qual # 2.5.5](https://checkerframework.org) |
MIT | [The MIT License](http://opensource.org/licenses/MIT) | [org.checkerframework # checker-qual # 3.12.0](https://checkerframework.org) |
MIT | [The MIT License](https://github.com/mockito/mockito/blob/main/LICENSE) | [org.mockito # mockito-core # 4.11.0](https://github.com/mockito/mockito) |
@@ -363,34 +398,32 @@ MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafe
MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-vault_3 # 0.41.0](https://github.com/testcontainers/testcontainers-scala) |
Public Domain | [Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/) | [org.hdrhistogram # HdrHistogram # 2.1.12](http://hdrhistogram.github.io/HdrHistogram/) |
Public Domain | [Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/) | [org.latencyutils # LatencyUtils # 2.0.3](http://latencyutils.github.io/LatencyUtils/) |
-unrecognized | [APL2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [net.reactivecore # circe-json-schema_2.13 # 0.3.0](https://github.com/reactivecore/rc-circe-json-schema) |
-unrecognized | [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) | [jakarta.activation # jakarta.activation-api # 2.1.2](https://github.com/jakartaee/jaf-api) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # castor-core_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # connect-core_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # connect-sql-doobie_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # event-notification_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # iris-client_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-agent-core_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-agent-didcommx_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-data-models_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-connection_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-coordinate-mediation_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-invitation_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-issue-credential_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-mailbox_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-outofband-login_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-present-proof_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-report-problem_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-routing-2-0_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-trust-ping_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-resolver_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-verifiable-credentials_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # pollux-anoncreds_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # pollux-core_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # pollux-sql-doobie_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # pollux-vc-jwt_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # prism-agent-wallet-api_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # prism-node-client_3 # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
-unrecognized | [none specified](none specified) | [io.iohk.atala # shared # 1.17.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # castor-core_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # connect-core_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # connect-sql-doobie_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # event-notification_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-agent-core_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-agent-didcommx_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-data-models_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-connection_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-coordinate-mediation_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-invitation_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-issue-credential_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-mailbox_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-outofband-login_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-present-proof_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-report-problem_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-routing-2-0_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-protocol-trust-ping_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-resolver_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # mercury-verifiable-credentials_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # pollux-anoncreds_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # pollux-core_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # pollux-sql-doobie_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # pollux-vc-jwt_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # prism-agent-wallet-api_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # prism-node-client_3 # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # shared # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
+unrecognized | [none specified](none specified) | [io.iohk.atala # sharedtest # 1.18.0-SNAPSHOT](https://github.com/input-output-hk/atala-prism-building-blocks) |
unrecognized | [none specified](none specified) | [net.jcip # jcip-annotations # 1.0](http://jcip.net/) |
diff --git a/build.sbt b/build.sbt
index 69304ca23d..da9731b184 100644
--- a/build.sbt
+++ b/build.sbt
@@ -56,6 +56,7 @@ lazy val V = new {
// https://mvnrepository.com/artifact/io.circe/circe-core
val circe = "0.14.6"
+ val jackson = "2.14.3"
val tapir = "1.6.4"
@@ -125,10 +126,12 @@ lazy val D = new {
val scalaPbRuntime: ModuleID =
"com.thesamet.scalapb" %% "scalapb-runtime" % scalapb.compiler.Version.scalapbVersion % "protobuf"
val scalaPbGrpc: ModuleID = "com.thesamet.scalapb" %% "scalapb-runtime-grpc" % scalapb.compiler.Version.scalapbVersion
- // TODO we are adding test stuff to the main dependencies
- val testcontainersPostgres: ModuleID = "com.dimafeng" %% "testcontainers-scala-postgresql" % V.testContainersScala
- val testcontainersVault: ModuleID = "com.dimafeng" %% "testcontainers-scala-vault" % V.testContainersScala
- val testcontainersKeycloak: ModuleID = "com.github.dasniko" % "testcontainers-keycloak" % V.testContainersJavaKeycloak
+
+ val testcontainersPostgres: ModuleID =
+ "com.dimafeng" %% "testcontainers-scala-postgresql" % V.testContainersScala % Test
+ val testcontainersVault: ModuleID = "com.dimafeng" %% "testcontainers-scala-vault" % V.testContainersScala % Test
+ val testcontainersKeycloak: ModuleID =
+ "com.github.dasniko" % "testcontainers-keycloak" % V.testContainersJavaKeycloak % Test exclude ("org.keycloak", "keycloak-admin-client")
val doobiePostgres: ModuleID = "org.tpolecat" %% "doobie-postgres" % V.doobie
val doobieHikari: ModuleID = "org.tpolecat" %% "doobie-hikari" % V.doobie
@@ -155,9 +158,6 @@ lazy val D_Shared = new {
Seq(
D.typesafeConfig,
D.scalaPbGrpc,
- D.testcontainersPostgres,
- D.testcontainersVault,
- D.testcontainersKeycloak,
D.zio,
// FIXME: split shared DB stuff as subproject?
D.doobieHikari,
@@ -167,15 +167,58 @@ lazy val D_Shared = new {
}
lazy val D_SharedTest = new {
- lazy val dependencies: Seq[ModuleID] =
+ // https://github.com/sbt/sbt-license-report/issues/87
+ // https://stackoverflow.com/questions/48771768/sbt-error-importing-resteasy-client
+ //
+ // 'sbt-license' plugin is using ivy to resolve dependencies where other tasks are using coursier.
+ // 'org.jboss.resteasy:resteasy-*' which is the transitive dependencies of 'keycloak-admin-client'
+ // has this issue where 'relativePath' is used in the 'parent' section.
+ // - https://github.com/resteasy/resteasy/blob/6.2.4.Final/resteasy-client-api/pom.xml#L9
+ // - https://www.scala-sbt.org/1.x/docs/Library-Management.html#Known+limitations
+ //
+ // This workaround provides those dependencies explicitly, but it will be a nightmare to maintain.
+ // for version reference: https://github.com/resteasy/resteasy/blob/6.2.4.Final/resteasy-dependencies-bom/pom.xml
+ // FIXME: solve this with a long-term solution
+ lazy val keycloakAdminExplicitDependencies: Seq[ModuleID] =
Seq(
- D.typesafeConfig,
+ "org.keycloak" % "keycloak-admin-client" % V.keycloak excludeAll (
+ ExclusionRule("org.jboss.resteasy", "resteasy-core"),
+ ExclusionRule("org.jboss.resteasy", "resteasy-multipart-provider"),
+ ExclusionRule("org.jboss.resteasy", "resteasy-jackson2-provider"),
+ ExclusionRule("org.jboss.resteasy", "resteasy-jaxb-provider"),
+ ),
+ "org.jboss.resteasy" % "resteasy-core" % "6.2.4.Final" excludeAll (
+ ExclusionRule("jakarta.servlet", "jakarta.servlet-api"),
+ ),
+ "org.jboss.resteasy" % "resteasy-jackson2-provider" % "6.2.4.Final" excludeAll (
+ ExclusionRule("jakarta.servlet", "jakarta.servlet-api"),
+ ),
+ "org.jboss.logging" % "jboss-logging" % "3.5.0.Final",
+ "commons-codec" % "commons-codec" % "1.15",
+ "jakarta.ws.rs" % "jakarta.ws.rs-api" % "3.1.0",
+ "jakarta.annotation" % "jakarta.annotation-api" % "2.1.1",
+ "jakarta.xml.bind" % "jakarta.xml.bind-api" % "3.0.1",
+ "org.reactivestreams" % "reactive-streams" % "1.0.4",
+ "jakarta.validation" % "jakarta.validation-api" % "3.0.2",
+ "org.jboss" % "jandex" % "2.4.3.Final",
+ "jakarta.activation" % "jakarta.activation-api" % "2.1.2",
+ "org.eclipse.angus" % "angus-activation" % "1.0.0",
+ "com.ibm.async" % "asyncutil" % "0.1.0",
+ "org.apache.httpcomponents" % "httpclient" % "4.5.14",
+ "com.github.java-json-tools" % "json-patch" % "1.13",
+ "com.fasterxml.jackson.core" % "jackson-core" % V.jackson,
+ "com.fasterxml.jackson.core" % "jackson-databind" % V.jackson,
+ "com.fasterxml.jackson.core" % "jackson-annotations" % V.jackson,
+ "com.fasterxml.jackson.jakarta.rs" % "jackson-jakarta-rs-base" % V.jackson,
+ "com.fasterxml.jackson.jakarta.rs" % "jackson-jakarta-rs-json-provider" % V.jackson,
+ "com.fasterxml.jackson.module" % "jackson-module-jakarta-xmlbind-annotations" % V.jackson,
+ ).map(_ % Test)
+
+ lazy val dependencies: Seq[ModuleID] =
+ D_Shared.dependencies ++ keycloakAdminExplicitDependencies ++ Seq(
D.testcontainersPostgres,
D.testcontainersVault,
D.testcontainersKeycloak,
- D.zio,
- D.doobieHikari,
- D.doobiePostgres,
D.zioCatsInterop,
D.zioJson,
D.zioHttp,
@@ -711,7 +754,7 @@ lazy val polluxDoobie = project
)
.dependsOn(polluxCore % "compile->compile;test->test")
.dependsOn(shared)
- .dependsOn(sharedTest % Test)
+ .dependsOn(sharedTest % "test->test")
// ########################
// ### Pollux Anoncreds ###
@@ -761,7 +804,7 @@ lazy val connectDoobie = project
libraryDependencies ++= D_Connect.sqlDoobieDependencies
)
.dependsOn(shared)
- .dependsOn(sharedTest % Test)
+ .dependsOn(sharedTest % "test->test")
.dependsOn(connectCore % "compile->compile;test->test")
// ############################
@@ -797,7 +840,7 @@ lazy val prismAgentWalletAPI = project
castorCore,
eventNotification
)
- .dependsOn(sharedTest % Test)
+ .dependsOn(sharedTest % "test->test")
lazy val prismAgentServer = project
.in(file("prism-agent/service/server"))
@@ -830,7 +873,7 @@ lazy val prismAgentServer = project
castorCore,
eventNotification
)
- .dependsOn(sharedTest % Test)
+ .dependsOn(sharedTest % "test->test")
// ############################
// #### Release process #####
diff --git a/infrastructure/charts/agent/Chart.yaml b/infrastructure/charts/agent/Chart.yaml
index 1f8628ced1..d9df08d3ad 100644
--- a/infrastructure/charts/agent/Chart.yaml
+++ b/infrastructure/charts/agent/Chart.yaml
@@ -13,12 +13,12 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 1.18.0
+version: 1.19.0-snapshot.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
-appVersion: 1.18.0
+appVersion: 1.19.0-snapshot.1
dependencies:
- name: vault
version: 0.24.1
diff --git a/infrastructure/charts/index.yaml b/infrastructure/charts/index.yaml
index f0f89a23e8..5038ea8bdc 100644
--- a/infrastructure/charts/index.yaml
+++ b/infrastructure/charts/index.yaml
@@ -1,9 +1,23 @@
apiVersion: v1
entries:
prism-agent:
+ - apiVersion: v2
+ appVersion: 1.19.0-snapshot.1
+ created: "2023-11-16T08:27:09.334790111Z"
+ dependencies:
+ - name: vault
+ repository: https://helm.releases.hashicorp.com
+ version: 0.24.1
+ description: A Helm chart for deploying prism-agent
+ digest: a1f8f9ea0d21dda6a41177a353ca6047240c7958e9f9710435a33b6593579790
+ name: prism-agent
+ type: application
+ urls:
+ - https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/infrastructure/charts/prism-agent-1.19.0-snapshot.1.tgz
+ version: 1.19.0-snapshot.1
- apiVersion: v2
appVersion: 1.18.0
- created: "2023-10-24T11:07:35.004549218Z"
+ created: "2023-11-16T08:27:09.331988025Z"
dependencies:
- name: vault
repository: https://helm.releases.hashicorp.com
@@ -17,7 +31,7 @@ entries:
version: 1.18.0
- apiVersion: v2
appVersion: 1.17.0
- created: "2023-10-24T11:07:35.000795657Z"
+ created: "2023-11-16T08:27:09.328294153Z"
dependencies:
- name: vault
repository: https://helm.releases.hashicorp.com
@@ -31,7 +45,7 @@ entries:
version: 1.17.0
- apiVersion: v2
appVersion: 1.16.4
- created: "2023-10-24T11:07:34.99668489Z"
+ created: "2023-11-16T08:27:09.325453135Z"
dependencies:
- name: vault
repository: https://helm.releases.hashicorp.com
@@ -45,7 +59,7 @@ entries:
version: 1.16.4
- apiVersion: v2
appVersion: 1.16.3
- created: "2023-10-24T11:07:34.991583906Z"
+ created: "2023-11-16T08:27:09.322070956Z"
dependencies:
- name: vault
repository: https://helm.releases.hashicorp.com
@@ -59,7 +73,7 @@ entries:
version: 1.16.3
- apiVersion: v2
appVersion: 1.16.2
- created: "2023-10-24T11:07:34.987422338Z"
+ created: "2023-11-16T08:27:09.319230178Z"
dependencies:
- name: vault
repository: https://helm.releases.hashicorp.com
@@ -71,4 +85,4 @@ entries:
urls:
- https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/infrastructure/charts/prism-agent-1.16.2.tgz
version: 1.16.2
-generated: "2023-10-24T11:07:34.982721561Z"
+generated: "2023-11-16T08:27:09.316193045Z"
diff --git a/infrastructure/charts/prism-agent-1.19.0-snapshot.1.tgz b/infrastructure/charts/prism-agent-1.19.0-snapshot.1.tgz
new file mode 100644
index 0000000000..6733f86986
Binary files /dev/null and b/infrastructure/charts/prism-agent-1.19.0-snapshot.1.tgz differ
diff --git a/infrastructure/local/.env b/infrastructure/local/.env
index a40f9fe1cb..313c11fc47 100644
--- a/infrastructure/local/.env
+++ b/infrastructure/local/.env
@@ -1,3 +1,3 @@
-PRISM_AGENT_VERSION=1.17.0
+PRISM_AGENT_VERSION=1.19.0-snapshot.1
PRISM_NODE_VERSION=2.2.1
VAULT_DEV_ROOT_TOKEN_ID=root
diff --git a/package-lock.json b/package-lock.json
index adf9c14b3a..9d6d1a75fe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "atala-prism-building-blocks",
- "version": "1.18.0",
+ "version": "1.19.0-snapshot.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "atala-prism-building-blocks",
- "version": "1.18.0",
+ "version": "1.19.0-snapshot.1",
"devDependencies": {
"@commitlint/cli": "^17.0.3",
"@commitlint/config-conventional": "^17.0.3",
diff --git a/package.json b/package.json
index 69524e2af8..e5ba95dc43 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "atala-prism-building-blocks",
- "version": "1.18.0",
+ "version": "1.19.0-snapshot.1",
"engines": {
"node": ">=16.13.0"
},
diff --git a/prism-agent/service/api/http/prism-agent-openapi-spec.yaml b/prism-agent/service/api/http/prism-agent-openapi-spec.yaml
index 42a2ceff59..3cf658d497 100644
--- a/prism-agent/service/api/http/prism-agent-openapi-spec.yaml
+++ b/prism-agent/service/api/http/prism-agent-openapi-spec.yaml
@@ -1,7 +1,7 @@
openapi: 3.1.0
info:
title: Prism Agent
- version: 1.18.0
+ version: 1.19.0-snapshot.1
paths:
/credential-definition-registry/definitions:
get:
@@ -1884,12 +1884,6 @@ paths:
description: 'Get all entities with the pagination by `offset` and `limit` parameters '
operationId: getAllEntities
parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
- name: offset
in: query
required: false
@@ -1927,6 +1921,9 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - {}
+ - adminApiKeyAuth: []
post:
tags:
- Identity and Access Management
@@ -1934,13 +1931,6 @@ paths:
description: Create the new entity record. The entity record is a representation
of the account in the system.
operationId: createEntity
- parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
requestBody:
description: JSON object required for the entity creation
content:
@@ -1979,6 +1969,9 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - {}
+ - adminApiKeyAuth: []
/iam/entities/{id}/name:
put:
tags:
@@ -1987,12 +1980,6 @@ paths:
description: Update the entity record name by `id`
operationId: updateEntityName
parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
- name: id
in: path
required: true
@@ -2037,6 +2024,9 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - {}
+ - adminApiKeyAuth: []
/iam/entities/{id}/walletId:
put:
tags:
@@ -2045,12 +2035,6 @@ paths:
description: Update the entity record `walletId` field by `id`
operationId: updateEntityWalletId
parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
- name: id
in: path
required: true
@@ -2095,6 +2079,9 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - {}
+ - adminApiKeyAuth: []
/iam/entities/{id}:
get:
tags:
@@ -2103,12 +2090,6 @@ paths:
description: Get the entity by the unique identifier
operationId: getEntityById
parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
- name: id
in: path
description: Identifier of the entity
@@ -2147,6 +2128,9 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - {}
+ - adminApiKeyAuth: []
delete:
tags:
- Identity and Access Management
@@ -2154,12 +2138,6 @@ paths:
description: Delete the entity by the unique identifier
operationId: deleteEntityById
parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
- name: id
in: path
description: Identifier of the entity
@@ -2194,6 +2172,9 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - {}
+ - adminApiKeyAuth: []
/iam/apikey-authentication:
post:
tags:
@@ -2201,13 +2182,6 @@ paths:
summary: Register the `apikey` for the entity
description: Register the `apikey` for the entity.
operationId: addEntityApiKeyAuthentication
- parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
requestBody:
description: JSON object required for the registering the entity and `apikey`
content:
@@ -2242,19 +2216,15 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - {}
+ - adminApiKeyAuth: []
delete:
tags:
- Identity and Access Management
summary: Unregister the `apikey` for the entity
description: Unregister the `apikey` for the entity.
operationId: deleteEntityApiKeyAuthentication
- parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
requestBody:
description: JSON object required for the unregistering the entity and `apikey`
content:
@@ -2289,6 +2259,9 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - {}
+ - adminApiKeyAuth: []
/wallets:
get:
tags:
@@ -2296,12 +2269,6 @@ paths:
summary: List all wallets
operationId: getWallets
parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
- name: offset
in: query
required: false
@@ -2339,6 +2306,10 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - adminApiKeyAuth: []
+ - apiKeyAuth: []
+ - jwtAuth: []
post:
tags:
- Wallet Management
@@ -2347,13 +2318,6 @@ paths:
Create a new wallet with optional to use provided seed.
The seed will be used for DID key derivation inside the wallet.
operationId: createWallet
- parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
requestBody:
content:
application/json:
@@ -2385,6 +2349,10 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - adminApiKeyAuth: []
+ - apiKeyAuth: []
+ - jwtAuth: []
/wallets/{walletId}:
get:
tags:
@@ -2392,12 +2360,6 @@ paths:
summary: Get the wallet by ID
operationId: getWalletsWalletid
parameters:
- - name: x-admin-api-key
- in: header
- description: Admin API Key
- required: true
- schema:
- type: string
- name: walletId
in: path
required: true
@@ -2435,6 +2397,99 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
+ security:
+ - adminApiKeyAuth: []
+ - apiKeyAuth: []
+ - jwtAuth: []
+ /wallets/{walletId}/uma-permissions:
+ post:
+ tags:
+ - Wallet Management
+ summary: Create a UMA resource permission on an authorization server for the
+ wallet.
+ operationId: createWalletUmaPermission
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ type: string
+ format: uuid
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateWalletUmaPermissionRequest'
+ required: true
+ responses:
+ '200':
+ description: UMA resource permission is created on an authorization server.
+ '400':
+ description: Invalid request parameters
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ '500':
+ description: Internal server error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ security:
+ - adminApiKeyAuth: []
+ - apiKeyAuth: []
+ - jwtAuth: []
+ delete:
+ tags:
+ - Wallet Management
+ summary: Delete a UMA resource permission on an authorization server for the
+ wallet.
+ operationId: deleteWalletUmaPermission
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ type: string
+ format: uuid
+ - name: subject
+ in: query
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '200':
+ description: UMA resource permission is removed from an authorization server.
+ '400':
+ description: Invalid request parameters
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ '500':
+ description: Internal server error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ security:
+ - adminApiKeyAuth: []
+ - apiKeyAuth: []
+ - jwtAuth: []
/events/webhooks:
get:
tags:
@@ -2644,6 +2699,17 @@ components:
type: string
description: A human readable alias for the connection.
example: Peter
+ goalCode:
+ type: string
+ description: A self-attested code the receiver may want to display to the
+ user or use in automatically deciding what to do with the out-of-band
+ message.
+ example: issue-vc
+ goal:
+ type: string
+ description: A self-attested string that the receiver may want to display
+ to the user about the context-specific goal of the out-of-band message.
+ example: To issue a Peter College Graduate credential
myDid:
type: string
description: The DID representing me as the inviter or invitee in this specific
@@ -2774,6 +2840,17 @@ components:
type: string
description: A human readable alias for the connection.
example: Peter
+ goalCode:
+ type: string
+ description: A self-attested code the receiver may want to display to the
+ user or use in automatically deciding what to do with the out-of-band
+ message.
+ example: issue-vc
+ goal:
+ type: string
+ description: A self-attested string that the receiver may want to display
+ to the user about the context-specific goal of the out-of-band message.
+ example: To issue a Peter College Graduate credential
CreateEntityRequest:
required:
- name
@@ -2900,6 +2977,17 @@ components:
description: The unique `id` of the wallet. Randomly generated if not specified.
format: uuid
example: 00000000-0000-0000-0000-000000000000
+ CreateWalletUmaPermissionRequest:
+ required:
+ - subject
+ type: object
+ properties:
+ subject:
+ type: string
+ description: The subject ID that should be granted the permission to the
+ wallet. This can be found in the `sub` claim of a JWT token.
+ format: uuid
+ example: 00000000-0000-0000-0000-000000000000
CreateWebhookNotification:
required:
- url
@@ -3665,7 +3753,7 @@ components:
type: string
description: The date and time when the issue credential record was created.
format: date-time
- example: '2023-10-24T10:50:45.871298Z'
+ example: '2023-11-16T08:09:01.625751794Z'
updatedAt:
type: string
description: The date and time when the issue credential record was last
@@ -4478,6 +4566,10 @@ components:
items:
$ref: '#/components/schemas/WebhookNotification'
securitySchemes:
+ adminApiKeyAuth:
+ type: apiKey
+ name: x-admin-api-key
+ in: header
apiKeyAuth:
type: apiKey
name: apikey
diff --git a/prism-agent/service/server/src/main/scala/io/iohk/atala/iam/authentication/oidc/KeycloakClient.scala b/prism-agent/service/server/src/main/scala/io/iohk/atala/iam/authentication/oidc/KeycloakClient.scala
index d912abf741..85a823b78d 100644
--- a/prism-agent/service/server/src/main/scala/io/iohk/atala/iam/authentication/oidc/KeycloakClient.scala
+++ b/prism-agent/service/server/src/main/scala/io/iohk/atala/iam/authentication/oidc/KeycloakClient.scala
@@ -110,7 +110,8 @@ class KeycloakClientImpl(client: AuthzClient, httpClient: Client, keycloakConfig
)
)
)
- .logError("Fail to get the accessToken on keyclaok.")
+ .logError("Fail to get the accessToken on keycloak.")
+ .tapError(_ => ZIO.succeed(keycloakConfig).debug("keycloakConfig"))
.mapError(e => KeycloakClientError.UnexpectedError("Fail to get the accessToken on keyclaok."))
.provide(ZLayer.succeed(httpClient))
body <- response.body.asString
diff --git a/prism-agent/service/server/src/main/scala/io/iohk/atala/iam/authorization/keycloak/admin/KeycloakAdmin.scala b/prism-agent/service/server/src/test/scala/io/iohk/atala/iam/authorization/keycloak/admin/KeycloakAdmin.scala
similarity index 100%
rename from prism-agent/service/server/src/main/scala/io/iohk/atala/iam/authorization/keycloak/admin/KeycloakAdmin.scala
rename to prism-agent/service/server/src/test/scala/io/iohk/atala/iam/authorization/keycloak/admin/KeycloakAdmin.scala
diff --git a/prism-agent/service/server/src/test/scala/io/iohk/atala/iam/authorization/keycloak/admin/KeycloakPermissionManagementServiceSpec.scala b/prism-agent/service/server/src/test/scala/io/iohk/atala/iam/authorization/keycloak/admin/KeycloakPermissionManagementServiceSpec.scala
index 8b71fda85a..3219338acc 100644
--- a/prism-agent/service/server/src/test/scala/io/iohk/atala/iam/authorization/keycloak/admin/KeycloakPermissionManagementServiceSpec.scala
+++ b/prism-agent/service/server/src/test/scala/io/iohk/atala/iam/authorization/keycloak/admin/KeycloakPermissionManagementServiceSpec.scala
@@ -60,7 +60,7 @@ object KeycloakPermissionManagementServiceSpec
contextAwareTransactorLayer,
pgContainerLayer,
apolloLayer
- ).provide(Runtime.removeDefaultLoggers)
+ )
}
private val successfulCasesSuite = suite("Successful Cases")(
diff --git a/project/plugins.sbt b/project/plugins.sbt
index cf9014c180..40fc8bb023 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -6,7 +6,7 @@ addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "1.9.11")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.6")
addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "1.9.11")
addSbtPlugin("org.scoverage" % "sbt-coveralls" % "1.3.9")
-addSbtPlugin("com.github.sbt" % "sbt-license-report" % "1.5.0")
+addSbtPlugin("com.github.sbt" % "sbt-license-report" % "1.6.1")
addSbtPlugin("com.thesamet" % "sbt-protoc" % "1.0.6")
// In order to import proper version of com.google.protobuf.ByteString we need to add this dependency
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/KeycloakContainerCustom.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/KeycloakContainerCustom.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/KeycloakContainerCustom.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/KeycloakContainerCustom.scala
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/KeycloakTestContainer.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/KeycloakTestContainer.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/KeycloakTestContainer.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/KeycloakTestContainer.scala
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/KeycloakTestContainerSupport.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/KeycloakTestContainerSupport.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/KeycloakTestContainerSupport.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/KeycloakTestContainerSupport.scala
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/PostgreSQLContainerCustom.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/PostgreSQLContainerCustom.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/PostgreSQLContainerCustom.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/PostgreSQLContainerCustom.scala
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/PostgresLayer.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/PostgresLayer.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/PostgresLayer.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/PostgresLayer.scala
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/PostgresTestContainer.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/PostgresTestContainer.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/PostgresTestContainer.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/PostgresTestContainer.scala
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/PostgresTestContainerSupport.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/PostgresTestContainerSupport.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/PostgresTestContainerSupport.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/PostgresTestContainerSupport.scala
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/VaultContainerCustom.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/VaultContainerCustom.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/VaultContainerCustom.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/VaultContainerCustom.scala
diff --git a/shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/VaultTestContainer.scala b/shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/VaultTestContainer.scala
similarity index 100%
rename from shared-test/src/main/scala/io/iohk/atala/sharedtest/containers/VaultTestContainer.scala
rename to shared-test/src/test/scala/io/iohk/atala/sharedtest/containers/VaultTestContainer.scala
diff --git a/version.sbt b/version.sbt
index bc21f09057..edc47d8a40 100644
--- a/version.sbt
+++ b/version.sbt
@@ -1 +1 @@
-ThisBuild / version := "1.18.0-SNAPSHOT"
+ThisBuild / version := "1.19.0-snapshot.1-SNAPSHOT"