From 2295ef80ade7fb396690358b2e31929679488ef5 Mon Sep 17 00:00:00 2001 From: Pietro Tota Date: Thu, 3 Aug 2023 18:26:55 +0200 Subject: [PATCH 01/14] chore(build): integrate ecommerce commons library --- .gitignore | 1 + Dockerfile | 5 +- README.md | 223 +++++- build.gradle.kts | 16 +- gradle.lockfile | 82 ++- gradle/verification-metadata.xml | 690 ++++++++++++++++++ installCommons.sh | 17 + settings.gradle.kts | 2 + .../helpdesk/services/EcommerceService.kt | 7 +- 9 files changed, 1029 insertions(+), 14 deletions(-) create mode 100644 installCommons.sh diff --git a/.gitignore b/.gitignore index db7f0a1..4d41214 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ hs_err_pid* build /.gradle .env +/checkouts/* diff --git a/Dockerfile b/Dockerfile index 4748e6b..23d8b2e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,15 @@ -FROM amazoncorretto:17-alpine AS build +FROM openjdk:17-jdk as build WORKDIR /workspace/app +RUN microdnf install git + COPY gradlew . COPY gradle gradle COPY build.gradle.kts . COPY settings.gradle.kts . COPY gradle.lockfile . COPY gradle.properties . +COPY installCommons.sh . COPY eclipse-style.xml eclipse-style.xml COPY src src diff --git a/README.md b/README.md index 292dd96..7ded62d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,226 @@ -# PagoPA Ecommerce Helpdesk Service +# PagoPA Help desk service +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=pagopa_pagopa-ecommerce-helpdesk-service&metric=alert_status)](https://sonarcloud.io/dashboard?id=pagopa_pagopa-ecommerce-helpdesk-service) + +This microservice is responsible for ... + +- [PagoPA Help Desk Service](#pagopa-helpdesk-service) + * [Api Documentation ๐Ÿ“–](#api-documentation-) + * [Technology Stack](#technology-stack) + * [Start Project Locally ๐Ÿš€](#start-project-locally-) + + [Prerequisites](#prerequisites) + + [Run docker container](#run-docker-container) + * [Develop Locally ๐Ÿ’ป](#develop-locally-) + + [Prerequisites](#prerequisites-1) + + [Run the project](#run-the-project) + + [Testing ๐Ÿงช](#testing-) + - [Unit testing](#unit-testing) + - [Integration testing](#integration-testing) + - [Performance testing](#performance-testing) + * [Dependency management ๐Ÿ”ง](#dependency-management-) + + [Dependency lock](#dependency-lock) + + [Dependency verification](#dependency-verification) + * [Contributors ๐Ÿ‘ฅ](#contributors-) + + [Maintainers](#maintainers) + +Table of contents generated with +markdown-toc + +--- + +## Api Documentation ๐Ÿ“– + +See +the [OpenAPI 3 here.](https://editor.swagger.io/?url=https://raw.githubusercontent.com/pagopa/pagopa-ecommerce-helpdesk-service/main/api-spec/openapi.yaml) + +--- + +## Technology Stack + +- Kotlin +- Spring Boot + +--- + +## Start Project Locally ๐Ÿš€ + +### Prerequisites + +- docker + +### Populate the environment + +The microservice needs a valid `.env` file in order to be run. + +If you want to start the application without too much hassle, you can just copy `.env.example` with + +```shell +$ cp .env.example .env +``` + +to get a good default configuration. + +If you want to customize the application environment, reference this table: + +| Variable name | Description | type | default | +|--------------------------------|-------------------------------------------------------------------|-------------------|---------| +| MONGO_HOST | Host where MongoDB instance used to persist wallet data | hostname (string) | | +| MONGO_PORT | Port where MongoDB is bound to in MongoDB host | number | | +| MONGO_USERNAME | MongoDB username used to connect to the database | string | | +| MONGO_PASSWORD | MongoDB password used to connect to the database | string | | +| MONGO_SSL_ENABLED | Whether SSL is enabled while connecting to MongoDB | string | | + +### Run docker container + +```shell +$ docker compose up --build +``` + +--- + +## Develop Locally ๐Ÿ’ป + +### Prerequisites + +- git +- gradle +- jdk-17 + +### Run the project + +```shell +$ ./gradlew bootRun +``` + +### Testing ๐Ÿงช + +#### Unit testing + +To run the **Junit** tests: + +```shell +$ ./gradlew test +``` + +#### Integration testing + +TODO + +#### Performance testing + +install [k6](https://k6.io/) and then from `./performance-test/src` + +1. `k6 run --env VARS=local.environment.json --env TEST_TYPE=./test-types/load.json main_scenario.js` + +### Dependency management ๐Ÿ”ง + +For support reproducible build this project has the following gradle feature enabled: + +- [dependency lock](https://docs.gradle.org/8.1/userguide/dependency_locking.html) +- [dependency verification](https://docs.gradle.org/8.1/userguide/dependency_verification.html) + +#### Dependency lock + +This feature use the content of `gradle.lockfile` to check the declared dependencies against the locked one. + +If a transitive dependencies have been upgraded the build will fail because of the locked version mismatch. + +The following command can be used to upgrade dependency lockfile: + +```shell +./gradlew dependencies --write-locks +``` + +Running the above command will cause the `gradle.lockfile` to be updated against the current project dependency +configuration + +#### Dependency verification + +This feature is enabled by adding the gradle `./gradle/verification-metadata.xml` configuration file. + +Perform checksum comparison against dependency artifact (jar files, zip, ...) and metadata (pom.xml, gradle module +metadata, ...) used during build +and the ones stored into `verification-metadata.xml` file raising error during build in case of mismatch. + +The following command can be used to recalculate dependency checksum: + +```shell +./gradlew --write-verification-metadata sha256 clean spotlessApply build +``` + +In the above command the `clean`, `spotlessApply` `build` tasks where chosen to be run +in order to discover all transitive dependencies used during build and also the ones used during +spotless apply task used to format source code. + +The above command will upgrade the `verification-metadata.xml` adding all the newly discovered dependencies' checksum. +Those checksum should be checked against a trusted source to check for corrispondence with the library author published +checksum. + +`/gradlew --write-verification-metadata sha256` command appends all new dependencies to the verification files but does +not remove +entries for unused dependencies. + +This can make this file grow every time a dependency is upgraded. + +To detect and remove old dependencies make the following steps: + +1. Delete, if present, the `gradle/verification-metadata.dryrun.xml` +2. Run the gradle write-verification-metadata in dry-mode (this will generate a verification-metadata-dryrun.xml file + leaving untouched the original verification file) +3. Compare the verification-metadata file and the verification-metadata.dryrun one checking for differences and removing + old unused dependencies + +The 1-2 steps can be performed with the following commands + +```Shell +rm -f ./gradle/verification-metadata.dryrun.xml +./gradlew --write-verification-metadata sha256 clean spotlessApply build --dry-run +``` + +The resulting `verification-metadata.xml` modifications must be reviewed carefully checking the generated +dependencies checksum against official websites or other secure sources. + +If a dependency is not discovered during the above command execution it will lead to build errors. + +You can add those dependencies manually by modifying the `verification-metadata.xml` +file adding the following component: + +```xml + + + + + + + + + + + + + + + +``` + +Add those components at the end of the components list and then run the + +```shell +./gradlew --write-verification-metadata sha256 clean spotlessApply build +``` + +that will reorder the file with the added dependencies checksum in the expected order. + +Finally, you can add new dependencies both to gradle.lockfile writing verification metadata running + +```shell + ./gradlew dependencies --write-locks --write-verification-metadata sha256 +``` + +For more information read the +following [article](https://docs.gradle.org/8.1/userguide/dependency_verification.html#sec:checksum-verification) ## Contributors ๐Ÿ‘ฅ diff --git a/build.gradle.kts b/build.gradle.kts index c13a436..b27cdf5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,11 +20,14 @@ plugins { application } -java.sourceCompatibility = JavaVersion.VERSION_17 +val ecommerceCommonsVersion = "0.19.5" -tasks.withType { kotlinOptions.jvmTarget = "17" } +java.sourceCompatibility = JavaVersion.VERSION_17 -repositories { mavenCentral() } +repositories { + mavenCentral() + mavenLocal() +} dependencyManagement { imports { mavenBom("org.springframework.boot:spring-boot-dependencies:3.0.5") } @@ -63,6 +66,7 @@ dependencies { implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") + implementation("it.pagopa:pagopa-ecommerce-commons:$ecommerceCommonsVersion") // ECS logback encoder implementation("co.elastic.logging:logback-ecs-encoder:$ecsLoggingVersion") @@ -164,8 +168,12 @@ tasks.register( ) } +task("ecommerceCommonsCheckout") { + commandLine("sh", "./installCommons.sh", ecommerceCommonsVersion) +} + tasks.withType { - dependsOn("helpdesk") + dependsOn("helpdesk", "ecommerceCommonsCheckout") kotlinOptions.jvmTarget = "17" } diff --git a/gradle.lockfile b/gradle.lockfile index ebbf6c7..e5db65f 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -5,6 +5,21 @@ ch.qos.logback:logback-classic:1.4.6=compileClasspath,implementationDependencies ch.qos.logback:logback-core:1.4.6=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath co.elastic.logging:ecs-logging-core:1.5.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath co.elastic.logging:logback-ecs-encoder:1.5.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure.spring:spring-cloud-azure-autoconfigure:4.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure.spring:spring-cloud-azure-core:4.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure.spring:spring-cloud-azure-service:4.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure.spring:spring-cloud-azure-starter-data-cosmos:4.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure.spring:spring-cloud-azure-starter:4.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-core-amqp:2.4.1=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-core-http-netty:1.12.3=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-core-management:1.5.3=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-core-serializer-json-jackson:1.2.14=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-core:1.30.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-cosmos:4.27.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-identity:1.4.6=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-spring-data-cosmos:3.19.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-storage-common:12.17.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.azure:azure-storage-queue:12.14.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.diffplug.durian:durian-collect:1.2.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.diffplug.durian:durian-core:1.2.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.diffplug.durian:durian-io:1.2.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath @@ -15,14 +30,17 @@ com.diffplug.spotless:spotless-plugin-gradle:6.18.0=compileClasspath,implementat com.fasterxml.jackson.core:jackson-annotations:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson.core:jackson-core:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson.core:jackson-databind:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.2=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.fasterxml.jackson.datatype:jackson-datatype-guava:2.14.2=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson.datatype:jackson-datatype-joda:2.14.2=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-afterburner:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson.module:jackson-module-kotlin:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson.module:jackson-module-parameter-names:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson:jackson-bom:2.14.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.woodstox:woodstox-core:6.5.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml:classmate:1.5.1=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.github.ben-manes.caffeine:caffeine:3.1.5=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.github.curious-odd-man:rgxgen:1.4=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath @@ -38,6 +56,7 @@ com.github.jknack:handlebars-jackson2:4.2.1=productionRuntimeClasspath,runtimeCl com.github.jknack:handlebars:4.2.1=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.github.joschi.jackson:jackson-datatype-threetenbp:2.12.5=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.github.mifmif:generex:1.0.2=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +com.github.stephenc.jcip:jcip-annotations:1.0-1=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.google.code.findbugs:jsr305:3.0.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.google.errorprone:error_prone_annotations:2.18.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.google.guava:failureaccess:1.0.1=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath @@ -48,6 +67,13 @@ com.googlecode.concurrent-trees:concurrent-trees:2.6.1=productionRuntimeClasspat com.googlecode.javaewah:JavaEWAH:1.1.13=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.googlecode.libphonenumber:libphonenumber:8.11.1=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.jayway.jsonpath:json-path:2.7.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.microsoft.azure:msal4j-persistence-extension:1.1.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.microsoft.azure:msal4j:1.11.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.microsoft.azure:qpid-proton-j-extensions:1.2.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.nimbusds:content-type:2.1=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.nimbusds:lang-tag:1.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.nimbusds:nimbus-jose-jwt:9.9.3=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.nimbusds:oauth2-oidc-sdk:9.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.samskivert:jmustache:1.15=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath com.squareup.okhttp3:mockwebserver:4.11.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.squareup.okhttp3:okhttp:4.10.0=productionRuntimeClasspath,runtimeClasspath @@ -63,8 +89,12 @@ com.vaadin.external.google:android-json:0.0.20131108.vaadin1=testCompileClasspat commons-cli:commons-cli:1.5.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath commons-codec:commons-codec:1.15=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath commons-io:commons-io:2.11.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +commons-lang:commons-lang:2.6=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath dev.equo.ide:solstice:1.0.3=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath dk.brics.automaton:automaton:1.11-8=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +io.dropwizard.metrics:metrics-core:4.2.18=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.github.classgraph:classgraph:4.8.83=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.lettuce:lettuce-core:6.2.3.RELEASE=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.micrometer:micrometer-commons:1.10.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.micrometer:micrometer-core:1.10.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.micrometer:micrometer-observation:1.10.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -83,10 +113,16 @@ io.netty:netty-resolver-dns-classes-macos:4.1.90.Final=compileClasspath,implemen io.netty:netty-resolver-dns-native-macos:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.netty:netty-resolver-dns:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.netty:netty-resolver:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.netty:netty-tcnative-boringssl-static:2.0.59.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.netty:netty-tcnative-classes:2.0.59.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.netty:netty-transport-classes-epoll:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.netty:netty-transport-classes-kqueue:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.netty:netty-transport-native-epoll:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.netty:netty-transport-native-kqueue:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.netty:netty-transport-native-unix-common:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.netty:netty-transport:4.1.90.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.opentelemetry:opentelemetry-api:1.19.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.opentelemetry:opentelemetry-context:1.19.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.projectreactor.kotlin:reactor-kotlin-extensions:1.2.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.projectreactor.netty.incubator:reactor-netty-incubator-quic:0.1.5=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath io.projectreactor.netty:reactor-netty-core:1.1.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -94,6 +130,14 @@ io.projectreactor.netty:reactor-netty-http:1.1.5=compileClasspath,implementation io.projectreactor.netty:reactor-netty:1.1.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.projectreactor:reactor-core:3.5.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.projectreactor:reactor-test:3.5.4=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.springfox:springfox-core:3.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.springfox:springfox-schema:3.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.springfox:springfox-spi:3.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.springfox:springfox-spring-web:3.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.springfox:springfox-spring-webflux:3.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.springfox:springfox-spring-webmvc:3.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.springfox:springfox-swagger-common:3.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.springfox:springfox-swagger2:3.0.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.swagger.core.v3:swagger-annotations:2.2.8=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.swagger.core.v3:swagger-core:2.2.4=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath io.swagger.core.v3:swagger-models:2.2.4=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath @@ -101,11 +145,16 @@ io.swagger.parser.v3:swagger-parser-core:2.1.6=productionRuntimeClasspath,runtim io.swagger.parser.v3:swagger-parser-v2-converter:2.1.6=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath io.swagger.parser.v3:swagger-parser-v3:2.1.6=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath io.swagger.parser.v3:swagger-parser:2.1.6=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +io.swagger:swagger-annotations:1.5.20=compileClasspath,implementationDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata io.swagger:swagger-annotations:1.6.8=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath io.swagger:swagger-compat-spec-parser:1.0.63=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath io.swagger:swagger-core:1.6.8=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +io.swagger:swagger-models:1.5.20=compileClasspath,implementationDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata io.swagger:swagger-models:1.6.8=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath io.swagger:swagger-parser:1.0.63=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +io.vavr:vavr-match:0.10.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.vavr:vavr:0.10.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +it.pagopa:pagopa-ecommerce-commons:0.19.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath jakarta.activation:jakarta.activation-api:2.1.1=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -117,23 +166,26 @@ javax.validation:validation-api:1.1.0.Final=productionRuntimeClasspath,runtimeCl joda-time:joda-time:2.10.8=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath junit:junit:4.13.2=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath net.bytebuddy:byte-buddy-agent:1.12.23=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.12.23=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.12.23=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.6.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath net.java.dev.jna:jna:5.12.1=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna:5.6.0=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath -net.minidev:accessors-smart:2.4.9=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -net.minidev:json-smart:2.4.10=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +net.java.dev.jna:jna:5.6.0=compileClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,testCompileClasspath,testImplementationDependenciesMetadata +net.minidev:accessors-smart:2.4.9=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +net.minidev:json-smart:2.4.10=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath net.sf.jopt-simple:jopt-simple:5.0.4=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath -org.apache.commons:commons-lang3:3.12.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.12.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.apache.commons:commons-text:1.10.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.apache.httpcomponents:httpclient:4.5.14=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.apache.httpcomponents:httpcore:4.4.16=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.apache.logging.log4j:log4j-api:2.19.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.apache.logging.log4j:log4j-to-slf4j:2.19.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.qpid:proton-j:0.33.8=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.apache.tomcat.embed:tomcat-embed-el:10.1.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath,testImplementationDependenciesMetadata org.aspectj:aspectjweaver:1.9.19=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.assertj:assertj-core:3.23.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.checkerframework:checker-qual:3.32.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +org.codehaus.woodstox:stax2-api:4.2.1=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.commonmark:commonmark:0.21.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.eclipse.angus:angus-activation:2.0.0=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.eclipse.jgit:org.eclipse.jgit:6.5.0.202303070854-r=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath @@ -143,12 +195,13 @@ org.glassfish.jaxb:jaxb-runtime:4.0.2=compileClasspath,implementationDependencie org.glassfish.jaxb:txw2:4.0.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.hamcrest:hamcrest-core:2.2=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.hamcrest:hamcrest:2.2=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -org.hdrhistogram:HdrHistogram:2.1.12=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +org.hdrhistogram:HdrHistogram:2.1.12=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.hibernate.validator:hibernate-validator:8.0.0.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jacoco:org.jacoco.agent:0.8.8=jacocoAgent,jacocoAnt org.jacoco:org.jacoco.ant:0.8.8=jacocoAnt org.jacoco:org.jacoco.core:0.8.8=jacocoAnt org.jacoco:org.jacoco.report:0.8.8=jacocoAnt +org.javatuples:javatuples:1.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jboss.logging:jboss-logging:3.5.0.Final=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jetbrains.intellij.deps:trove4j:1.0.20200330=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath org.jetbrains.kotlin:kotlin-allopen:1.8.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest @@ -189,10 +242,15 @@ org.junit.platform:junit-platform-engine:1.9.2=testRuntimeClasspath org.junit:junit-bom:5.9.2=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jvnet.staxex:stax-ex:2.1.0=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.latencyutils:LatencyUtils:2.0.3=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +org.mapstruct:mapstruct:1.3.1.Final=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.mockito.kotlin:mockito-kotlin:4.0.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.mockito:mockito-core:4.8.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.mockito:mockito-inline:4.8.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.mockito:mockito-junit-jupiter:4.8.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.mongodb:bson-record-codec:4.8.2=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +org.mongodb:bson:4.8.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.mongodb:mongodb-driver-core:4.8.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.mongodb:mongodb-driver-reactivestreams:4.8.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.mozilla:rhino:1.7.7.2=productionRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.objenesis:objenesis:3.2=testRuntimeClasspath org.openapitools:jackson-databind-nullable:0.2.6=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -204,7 +262,7 @@ org.ow2.asm:asm-analysis:9.2=jacocoAnt org.ow2.asm:asm-commons:9.2=jacocoAnt org.ow2.asm:asm-tree:9.2=jacocoAnt org.ow2.asm:asm:9.2=jacocoAnt -org.ow2.asm:asm:9.3=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.ow2.asm:asm:9.3=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.projectlombok:lombok:1.18.26=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.reactivestreams:reactive-streams:1.0.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.skyscreamer:jsonassert:1.5.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -217,6 +275,8 @@ org.springframework.boot:spring-boot-autoconfigure:3.0.5=compileClasspath,implem org.springframework.boot:spring-boot-devtools:3.0.5=productionRuntimeClasspath,runtimeClasspath,runtimeOnlyDependenciesMetadata,testRuntimeClasspath,testRuntimeOnlyDependenciesMetadata org.springframework.boot:spring-boot-starter-actuator:3.0.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework.boot:spring-boot-starter-aop:3.0.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.springframework.boot:spring-boot-starter-data-mongodb-reactive:3.0.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.springframework.boot:spring-boot-starter-data-redis:3.0.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework.boot:spring-boot-starter-json:3.0.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework.boot:spring-boot-starter-logging:3.0.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework.boot:spring-boot-starter-reactor-netty:3.0.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -228,16 +288,24 @@ org.springframework.boot:spring-boot-starter:3.0.5=compileClasspath,implementati org.springframework.boot:spring-boot-test-autoconfigure:3.0.5=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework.boot:spring-boot-test:3.0.5=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework.boot:spring-boot:3.0.5=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,runtimeOnlyDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath,testRuntimeOnlyDependenciesMetadata +org.springframework.data:spring-data-commons:3.0.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.springframework.data:spring-data-keyvalue:3.0.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.springframework.data:spring-data-mongodb:4.0.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.springframework.data:spring-data-redis:3.0.4=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.springframework.plugin:spring-plugin-metadata:2.0.0.RELEASE=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework.ws:spring-ws-core:4.0.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework.ws:spring-xml:4.0.2=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework:spring-aop:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,runtimeOnlyDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath,testRuntimeOnlyDependenciesMetadata org.springframework:spring-beans:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,runtimeOnlyDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath,testRuntimeOnlyDependenciesMetadata +org.springframework:spring-context-support:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework:spring-context:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,runtimeOnlyDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath,testRuntimeOnlyDependenciesMetadata org.springframework:spring-core:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,runtimeOnlyDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath,testRuntimeOnlyDependenciesMetadata org.springframework:spring-expression:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,runtimeOnlyDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath,testRuntimeOnlyDependenciesMetadata org.springframework:spring-jcl:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,runtimeOnlyDependenciesMetadata,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath,testRuntimeOnlyDependenciesMetadata org.springframework:spring-oxm:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework:spring-test:6.0.7=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.springframework:spring-tx:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework:spring-web:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework:spring-webflux:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.springframework:spring-webmvc:6.0.7=compileClasspath,implementationDependenciesMetadata,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index b7b6091..709a9fb 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -6,6 +6,7 @@ + @@ -64,6 +65,14 @@ + + + + + + + + @@ -80,6 +89,14 @@ + + + + + + + + @@ -88,6 +105,22 @@ + + + + + + + + + + + + + + + + @@ -106,6 +139,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -143,6 +200,19 @@ + + + + + + + + + + + + + @@ -278,6 +348,11 @@ + + + + + @@ -308,6 +383,11 @@ + + + + + @@ -323,6 +403,11 @@ + + + + + @@ -452,6 +537,14 @@ + + + + + + + + @@ -474,6 +567,11 @@ + + + + + @@ -772,6 +870,14 @@ + + + + + + + + @@ -801,6 +907,22 @@ + + + + + + + + + + + + + + + + @@ -865,6 +987,11 @@ + + + + + @@ -1060,6 +1187,14 @@ + + + + + + + + @@ -1092,16 +1227,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1131,6 +1305,16 @@ + + + + + + + + + + @@ -1338,6 +1522,17 @@ + + + + + + + + + + + @@ -1346,6 +1541,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1419,21 +1649,41 @@ + + + + + + + + + + + + + + + + + + + + @@ -1452,6 +1702,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1476,6 +1798,14 @@ + + + + + + + + @@ -1497,6 +1827,11 @@ + + + + + @@ -1581,6 +1916,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -1591,6 +1947,17 @@ + + + + + + + + + + + @@ -1705,6 +2072,19 @@ + + + + + + + + + + + + + @@ -1845,6 +2225,11 @@ + + + + + @@ -1861,6 +2246,11 @@ + + + + + @@ -1959,6 +2349,11 @@ + + + + + @@ -2085,6 +2480,11 @@ + + + + + @@ -2185,6 +2585,19 @@ + + + + + + + + + + + + + @@ -2193,11 +2606,24 @@ + + + + + + + + + + + + + @@ -2355,6 +2781,11 @@ + + + + + @@ -2397,11 +2828,21 @@ + + + + + + + + + + @@ -2481,11 +2922,29 @@ + + + + + + + + + + + + + + + + + + @@ -2499,6 +2958,11 @@ + + + + + @@ -2509,6 +2973,16 @@ + + + + + + + + + + @@ -2560,6 +3034,11 @@ + + + + + @@ -2870,6 +3349,11 @@ + + + + + @@ -3079,6 +3563,19 @@ + + + + + + + + + + + + + @@ -3121,6 +3618,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3410,6 +3939,9 @@ + + + @@ -3557,6 +4089,11 @@ + + + + + @@ -3600,6 +4137,17 @@ + + + + + + + + + + + @@ -3622,6 +4170,14 @@ + + + + + + + + @@ -3671,6 +4227,17 @@ + + + + + + + + + + + @@ -3766,6 +4333,11 @@ + + + + + @@ -3831,6 +4403,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -3853,6 +4447,11 @@ + + + + + @@ -3946,21 +4545,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3977,6 +4662,11 @@ + + + + + diff --git a/installCommons.sh b/installCommons.sh new file mode 100644 index 0000000..bf9dbd5 --- /dev/null +++ b/installCommons.sh @@ -0,0 +1,17 @@ +#bin/sh +version=$1 +checkoutFolder=checkouts +gitRepo=https://github.com/pagopa/pagopa-ecommerce-commons +rm -rf $checkoutFolder +mkdir $checkoutFolder + +cd $checkoutFolder + +echo "Cloning ecommerce commons repo... $gitRepo" +git clone $gitRepo +cd pagopa-ecommerce-commons +echo "Checking out ecommerce common version $version" +git checkout $version +./mvnw install -DskipTests +cd ../../ +rm -rf $checkoutFolder \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index c37ff10..f47253b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,5 @@ pluginManagement { repositories { gradlePluginPortal() } } rootProject.name = "pagopa-ecommerce-helpdesk-service" + +plugins { id("me.champeau.includegit") version "0.1.6" } diff --git a/src/main/kotlin/it/pagopa/ecommerce/helpdesk/services/EcommerceService.kt b/src/main/kotlin/it/pagopa/ecommerce/helpdesk/services/EcommerceService.kt index 21dc39b..da46231 100644 --- a/src/main/kotlin/it/pagopa/ecommerce/helpdesk/services/EcommerceService.kt +++ b/src/main/kotlin/it/pagopa/ecommerce/helpdesk/services/EcommerceService.kt @@ -1,5 +1,6 @@ package it.pagopa.ecommerce.helpdesk.services +import it.pagopa.ecommerce.commons.documents.v1.TransactionActivatedEvent import it.pagopa.generated.ecommerce.helpdesk.model.* import java.time.OffsetDateTime import org.slf4j.LoggerFactory @@ -18,7 +19,11 @@ class EcommerceService { ): Mono { logger.info("[helpDesk ecommerce service] searchTransaction method") return ecommerceSearchTransactionRequestDto - .doOnNext { logger.info("Search type: ${it.type}") } + .doOnNext { + logger.info("Search type: ${it.type}") + val transactionEvent = TransactionActivatedEvent() + println(transactionEvent) + } .map { SearchTransactionResponseDto() .page(PageInfoDto().current(0).results(3).total(1)) From aea86cded3668efd9a5f74e248b619ca755d1a78 Mon Sep 17 00:00:00 2001 From: Pietro Tota Date: Thu, 3 Aug 2023 19:07:57 +0200 Subject: [PATCH 02/14] chore(build): make commons build skipped by default for local build --- Dockerfile | 4 +-- README.md | 28 +++++++++++++++++++ build.gradle.kts | 10 +++++-- gradle/verification-metadata.xml | 2 +- ... pagopa-ecommerce-commons-maven-install.sh | 0 5 files changed, 38 insertions(+), 6 deletions(-) rename installCommons.sh => pagopa-ecommerce-commons-maven-install.sh (100%) diff --git a/Dockerfile b/Dockerfile index 23d8b2e..5a187dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,12 +9,12 @@ COPY build.gradle.kts . COPY settings.gradle.kts . COPY gradle.lockfile . COPY gradle.properties . -COPY installCommons.sh . +COPY pagopa-ecommerce-commons-maven-install.sh . COPY eclipse-style.xml eclipse-style.xml COPY src src COPY api-spec api-spec -RUN ./gradlew build -x test +RUN ./gradlew build -x test -PbuildCommons RUN mkdir build/extracted && java -Djarmode=layertools -jar build/libs/*.jar extract --destination build/extracted FROM amazoncorretto:17-alpine diff --git a/README.md b/README.md index 7ded62d..24f08c8 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ This microservice is responsible for ... * [Develop Locally ๐Ÿ’ป](#develop-locally-) + [Prerequisites](#prerequisites-1) + [Run the project](#run-the-project) + + [Install ecommerce commons library](#install-ecommerce-commons-library-locally) + [Testing ๐Ÿงช](#testing-) - [Unit testing](#unit-testing) - [Integration testing](#integration-testing) @@ -85,6 +86,7 @@ $ docker compose up --build - git - gradle - jdk-17 +- ecommerce-commons library installed into maven local folder ### Run the project @@ -92,6 +94,32 @@ $ docker compose up --build $ ./gradlew bootRun ``` +### Install ecommerce commons library locally + +Into gradle build file have been added a task that take cares for you of proper ecommerce-commons library build, +performing ecommerce-commons repository clone, checkout to the referred version and build (using maven). + +If you want to re-build ecommerce commons library you can run build command with the `-PbuildCommons` argument + +This two properties maps ecommerce commons version and ref branch: + +```` +val ecommerceCommonsVersion = "x.y.z" -> valued with ecommerce commons wanted pom version +val ecommerceCommonsRef = ecommerceCommonsVersion -> the branch/tag to be checkout. +```` + +`ecommerceCommonsRef` is, by default, valued with the ecommerce commons library version, causing tagged version to be +checkout. + +This value was left as a separate property because, during developing phases can be changed to a feature branch +making the local build use a ref branch other than a tag for developing purpose. + +```Shell +$ ./gradlew build -PbuildCommons +``` + +Running the above command the version above task will run before project compilation building ecommerce commons locally inside maven local repository + ### Testing ๐Ÿงช #### Unit testing diff --git a/build.gradle.kts b/build.gradle.kts index b27cdf5..4c0fe61 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,6 +22,8 @@ plugins { val ecommerceCommonsVersion = "0.19.5" +val ecommerceCommonsRef = ecommerceCommonsVersion + java.sourceCompatibility = JavaVersion.VERSION_17 repositories { @@ -168,12 +170,14 @@ tasks.register( ) } -task("ecommerceCommonsCheckout") { - commandLine("sh", "./installCommons.sh", ecommerceCommonsVersion) +tasks.register("install-commons") { + val buildCommons = providers.gradleProperty("buildCommons") + onlyIf("To build commons library run gradle build -PbuildCommons") { buildCommons.isPresent } + commandLine("sh", "./pagopa-ecommerce-commons-maven-install.sh", ecommerceCommonsRef) } tasks.withType { - dependsOn("helpdesk", "ecommerceCommonsCheckout") + dependsOn("helpdesk", "install-commons") kotlinOptions.jvmTarget = "17" } diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 709a9fb..f021570 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -6,7 +6,7 @@ - + diff --git a/installCommons.sh b/pagopa-ecommerce-commons-maven-install.sh similarity index 100% rename from installCommons.sh rename to pagopa-ecommerce-commons-maven-install.sh From 5ae4ba58b3ebd05eddd6dd4c102d2b7ca250056c Mon Sep 17 00:00:00 2001 From: Pietro Tota Date: Thu, 3 Aug 2023 21:55:47 +0200 Subject: [PATCH 03/14] chore(build): script logging --- pagopa-ecommerce-commons-maven-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pagopa-ecommerce-commons-maven-install.sh b/pagopa-ecommerce-commons-maven-install.sh index bf9dbd5..4fc9db5 100644 --- a/pagopa-ecommerce-commons-maven-install.sh +++ b/pagopa-ecommerce-commons-maven-install.sh @@ -10,7 +10,7 @@ cd $checkoutFolder echo "Cloning ecommerce commons repo... $gitRepo" git clone $gitRepo cd pagopa-ecommerce-commons -echo "Checking out ecommerce common version $version" +echo "Checking out ecommerce common ref $version" git checkout $version ./mvnw install -DskipTests cd ../../ From 379f05fbde8353724eaf03f0d8476907bd88ca33 Mon Sep 17 00:00:00 2001 From: Pietro Tota Date: Fri, 4 Aug 2023 09:22:35 +0200 Subject: [PATCH 04/14] fix: code review --- settings.gradle.kts | 2 -- .../pagopa/ecommerce/helpdesk/services/EcommerceService.kt | 7 +------ 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index f47253b..c37ff10 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,3 @@ pluginManagement { repositories { gradlePluginPortal() } } rootProject.name = "pagopa-ecommerce-helpdesk-service" - -plugins { id("me.champeau.includegit") version "0.1.6" } diff --git a/src/main/kotlin/it/pagopa/ecommerce/helpdesk/services/EcommerceService.kt b/src/main/kotlin/it/pagopa/ecommerce/helpdesk/services/EcommerceService.kt index da46231..21dc39b 100644 --- a/src/main/kotlin/it/pagopa/ecommerce/helpdesk/services/EcommerceService.kt +++ b/src/main/kotlin/it/pagopa/ecommerce/helpdesk/services/EcommerceService.kt @@ -1,6 +1,5 @@ package it.pagopa.ecommerce.helpdesk.services -import it.pagopa.ecommerce.commons.documents.v1.TransactionActivatedEvent import it.pagopa.generated.ecommerce.helpdesk.model.* import java.time.OffsetDateTime import org.slf4j.LoggerFactory @@ -19,11 +18,7 @@ class EcommerceService { ): Mono { logger.info("[helpDesk ecommerce service] searchTransaction method") return ecommerceSearchTransactionRequestDto - .doOnNext { - logger.info("Search type: ${it.type}") - val transactionEvent = TransactionActivatedEvent() - println(transactionEvent) - } + .doOnNext { logger.info("Search type: ${it.type}") } .map { SearchTransactionResponseDto() .page(PageInfoDto().current(0).results(3).total(1)) From cf457d8400e24093f7bc81f1e3819cf75c3ce8ca Mon Sep 17 00:00:00 2001 From: Pietro Tota Date: Fri, 4 Aug 2023 10:25:43 +0200 Subject: [PATCH 05/14] fix(code review): add flag to build commons library --- .devops/code-review-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devops/code-review-pipelines.yml b/.devops/code-review-pipelines.yml index d9e2c48..1a66480 100644 --- a/.devops/code-review-pipelines.yml +++ b/.devops/code-review-pipelines.yml @@ -36,7 +36,7 @@ stages: - task: Gradle@3 inputs: gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew. - tasks: 'build' # string. Required. Tasks. Default: build. + tasks: 'build -PbuildCommons' # string. Required. Tasks. Default: build. publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/TEST-*.xml. codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None. From 8ab97271480315d122e516d4cf02567b96f940ca Mon Sep 17 00:00:00 2001 From: Pietro Tota <115724836+pietro-tota@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:29:53 +0200 Subject: [PATCH 06/14] Update README.md Co-authored-by: Giovanni Berti --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 24f08c8..95ccffe 100644 --- a/README.md +++ b/README.md @@ -96,8 +96,7 @@ $ ./gradlew bootRun ### Install ecommerce commons library locally -Into gradle build file have been added a task that take cares for you of proper ecommerce-commons library build, -performing ecommerce-commons repository clone, checkout to the referred version and build (using maven). +There is a task into the Gradle build file that take cares for you of properly fetching and building `ecommerce-commons`. It does so by performing a repository clone, checking out to the version set into the build file and building the library with Maven. If you want to re-build ecommerce commons library you can run build command with the `-PbuildCommons` argument From 9a423a0a6f4b1a963f88cc318a3c4c2ebf65e6ae Mon Sep 17 00:00:00 2001 From: Pietro Tota <115724836+pietro-tota@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:30:00 +0200 Subject: [PATCH 07/14] Update README.md Co-authored-by: Giovanni Berti --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95ccffe..77deb28 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ $ docker compose up --build $ ./gradlew bootRun ``` -### Install ecommerce commons library locally +### Install eCommerce commons library locally There is a task into the Gradle build file that take cares for you of properly fetching and building `ecommerce-commons`. It does so by performing a repository clone, checking out to the version set into the build file and building the library with Maven. From 6432ab85404315252ffccd9bc8807b1b3d918a82 Mon Sep 17 00:00:00 2001 From: Pietro Tota <115724836+pietro-tota@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:30:32 +0200 Subject: [PATCH 08/14] Update README.md Co-authored-by: Giovanni Berti --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 77deb28..03e2465 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ $ ./gradlew bootRun There is a task into the Gradle build file that take cares for you of properly fetching and building `ecommerce-commons`. It does so by performing a repository clone, checking out to the version set into the build file and building the library with Maven. -If you want to re-build ecommerce commons library you can run build command with the `-PbuildCommons` argument +If you want to re-build `ecommerce-commons` library you can run the build command with a `-PbuildCommons`. This two properties maps ecommerce commons version and ref branch: From 91fbf5b1ee6c8f94d5cc8518ab6a02dad77a0515 Mon Sep 17 00:00:00 2001 From: Pietro Tota <115724836+pietro-tota@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:30:39 +0200 Subject: [PATCH 09/14] Update README.md Co-authored-by: Giovanni Berti --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03e2465..a657b63 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ There is a task into the Gradle build file that take cares for you of properly f If you want to re-build `ecommerce-commons` library you can run the build command with a `-PbuildCommons`. -This two properties maps ecommerce commons version and ref branch: +This two properties maps `ecommerce-commons` version and git ref: ```` val ecommerceCommonsVersion = "x.y.z" -> valued with ecommerce commons wanted pom version From ae715c28a020bd1942f5c05f7eb7772d0f940ae9 Mon Sep 17 00:00:00 2001 From: Pietro Tota <115724836+pietro-tota@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:30:54 +0200 Subject: [PATCH 10/14] Update README.md Co-authored-by: Giovanni Berti --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index a657b63..ca74f79 100644 --- a/README.md +++ b/README.md @@ -107,8 +107,7 @@ val ecommerceCommonsVersion = "x.y.z" -> valued with ecommerce commons wanted po val ecommerceCommonsRef = ecommerceCommonsVersion -> the branch/tag to be checkout. ```` -`ecommerceCommonsRef` is, by default, valued with the ecommerce commons library version, causing tagged version to be -checkout. +`ecommerceCommonsRef` has by default the same value as `ecommerceCommonsVersion`, so that version tagged with `"x.y.z"` will be checked out and installed locally. This value was left as a separate property because, during developing phases can be changed to a feature branch making the local build use a ref branch other than a tag for developing purpose. From 1f7db79cfdf2e9625776dc9e5f815680b81e86e3 Mon Sep 17 00:00:00 2001 From: Pietro Tota <115724836+pietro-tota@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:31:02 +0200 Subject: [PATCH 11/14] Update README.md Co-authored-by: Giovanni Berti --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca74f79..a01d66a 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ making the local build use a ref branch other than a tag for developing purpose. $ ./gradlew build -PbuildCommons ``` -Running the above command the version above task will run before project compilation building ecommerce commons locally inside maven local repository +Running the above command the version above task will run before project compilation building eCommerce commons locally inside maven local repository ### Testing ๐Ÿงช From ec447da1f728f07a0c9aeccef75f657ae892da28 Mon Sep 17 00:00:00 2001 From: Pietro Tota Date: Fri, 4 Aug 2023 14:34:14 +0200 Subject: [PATCH 12/14] fix(suggestions): refactor ecommerce commons git ref variable --- README.md | 26 +++++++++++++++----------- build.gradle.kts | 7 ++++--- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index a01d66a..3701f93 100644 --- a/README.md +++ b/README.md @@ -63,13 +63,13 @@ to get a good default configuration. If you want to customize the application environment, reference this table: -| Variable name | Description | type | default | -|--------------------------------|-------------------------------------------------------------------|-------------------|---------| -| MONGO_HOST | Host where MongoDB instance used to persist wallet data | hostname (string) | | -| MONGO_PORT | Port where MongoDB is bound to in MongoDB host | number | | -| MONGO_USERNAME | MongoDB username used to connect to the database | string | | -| MONGO_PASSWORD | MongoDB password used to connect to the database | string | | -| MONGO_SSL_ENABLED | Whether SSL is enabled while connecting to MongoDB | string | | +| Variable name | Description | type | default | +|-------------------|---------------------------------------------------------|-------------------|---------| +| MONGO_HOST | Host where MongoDB instance used to persist wallet data | hostname (string) | | +| MONGO_PORT | Port where MongoDB is bound to in MongoDB host | number | | +| MONGO_USERNAME | MongoDB username used to connect to the database | string | | +| MONGO_PASSWORD | MongoDB password used to connect to the database | string | | +| MONGO_SSL_ENABLED | Whether SSL is enabled while connecting to MongoDB | string | | ### Run docker container @@ -96,7 +96,9 @@ $ ./gradlew bootRun ### Install eCommerce commons library locally -There is a task into the Gradle build file that take cares for you of properly fetching and building `ecommerce-commons`. It does so by performing a repository clone, checking out to the version set into the build file and building the library with Maven. +There is a task into the Gradle build file that take cares for you of properly fetching and +building `ecommerce-commons`. It does so by performing a repository clone, checking out to the version set into the +build file and building the library with Maven. If you want to re-build `ecommerce-commons` library you can run the build command with a `-PbuildCommons`. @@ -104,10 +106,11 @@ This two properties maps `ecommerce-commons` version and git ref: ```` val ecommerceCommonsVersion = "x.y.z" -> valued with ecommerce commons wanted pom version -val ecommerceCommonsRef = ecommerceCommonsVersion -> the branch/tag to be checkout. +val ecommerceCommonsGitRef = ecommerceCommonsVersion -> the branch/tag to be checkout. ```` -`ecommerceCommonsRef` has by default the same value as `ecommerceCommonsVersion`, so that version tagged with `"x.y.z"` will be checked out and installed locally. +`ecommerceCommonsGitRef` has by default the same value as `ecommerceCommonsVersion`, so that version tagged +with `"x.y.z"` will be checked out and installed locally. This value was left as a separate property because, during developing phases can be changed to a feature branch making the local build use a ref branch other than a tag for developing purpose. @@ -116,7 +119,8 @@ making the local build use a ref branch other than a tag for developing purpose. $ ./gradlew build -PbuildCommons ``` -Running the above command the version above task will run before project compilation building eCommerce commons locally inside maven local repository +Running the above command the version above task will run before project compilation building eCommerce commons locally +inside maven local repository ### Testing ๐Ÿงช diff --git a/build.gradle.kts b/build.gradle.kts index 4c0fe61..7931080 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,10 +19,11 @@ plugins { jacoco application } - +// eCommerce commons library version val ecommerceCommonsVersion = "0.19.5" -val ecommerceCommonsRef = ecommerceCommonsVersion +// eCommerce commons library git ref (by default tag) +val ecommerceCommonsGitRef = ecommerceCommonsVersion java.sourceCompatibility = JavaVersion.VERSION_17 @@ -173,7 +174,7 @@ tasks.register( tasks.register("install-commons") { val buildCommons = providers.gradleProperty("buildCommons") onlyIf("To build commons library run gradle build -PbuildCommons") { buildCommons.isPresent } - commandLine("sh", "./pagopa-ecommerce-commons-maven-install.sh", ecommerceCommonsRef) + commandLine("sh", "./pagopa-ecommerce-commons-maven-install.sh", ecommerceCommonsGitRef) } tasks.withType { From 6a93e679a5b08376f8f644b8c92bff6da8da8c7f Mon Sep 17 00:00:00 2001 From: Pietro Tota <115724836+pietro-tota@users.noreply.github.com> Date: Fri, 4 Aug 2023 18:53:25 +0200 Subject: [PATCH 13/14] Update README.md Co-authored-by: Giovanni Berti --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3701f93..9437825 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# PagoPA Help desk service +# pagoPA Help desk service [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=pagopa_pagopa-ecommerce-helpdesk-service&metric=alert_status)](https://sonarcloud.io/dashboard?id=pagopa_pagopa-ecommerce-helpdesk-service) From 84496a33253f3d2d3819ab5dd2fd5ce7ee197285 Mon Sep 17 00:00:00 2001 From: Pietro Tota <115724836+pietro-tota@users.noreply.github.com> Date: Fri, 4 Aug 2023 18:53:35 +0200 Subject: [PATCH 14/14] Update README.md Co-authored-by: Giovanni Berti --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9437825..39e6fcc 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This microservice is responsible for ... -- [PagoPA Help Desk Service](#pagopa-helpdesk-service) +- [pagoPA Help Desk Service](#pagopa-helpdesk-service) * [Api Documentation ๐Ÿ“–](#api-documentation-) * [Technology Stack](#technology-stack) * [Start Project Locally ๐Ÿš€](#start-project-locally-)