diff --git a/.github/workflows/code_review_functions.yml b/.github/workflows/code_review_functions.yml index f6bdfeb5a..de18c8e07 100644 --- a/.github/workflows/code_review_functions.yml +++ b/.github/workflows/code_review_functions.yml @@ -1,6 +1,5 @@ -name: Code Review Functions +name: Code Review onboarding-functions -# Controls when the workflow will run on: pull_request: branches: @@ -11,7 +10,7 @@ on: - synchronize - reopened paths: - - 'onboarding-functions/**' + - 'apps/onboarding-functions/**' workflow_dispatch: @@ -21,8 +20,14 @@ jobs: runs-on: ubuntu-latest permissions: packages: read + id-token: write steps: - uses: actions/checkout@v4 + with: + sparse-checkout: | + apps/onboarding-functions + libs/ + test-coverage/ - name: Set up JDK 17 uses: actions/setup-java@v3 @@ -30,33 +35,15 @@ jobs: java-version: 17 distribution: 'temurin' - - name: Cache Maven packages - uses: actions/cache@v1 - with: - path: ~/.m2 - key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} - restore-keys: ${{ runner.os }}-m2 - - - name: Cache SonarCloud packages - uses: actions/cache@v1 - with: - path: ~/.sonar-project.properties/cache - key: ${{ runner.os }}-sonar-project.properties - restore-keys: ${{ runner.os }}-sonar-project.properties - - name: Build and analyze on Pull Requests shell: bash - run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar + run: mvn --projects :test-coverage --also-make verify -Ponboarding-functions,report,coverage -Dsonar.organization=pagopa -Dsonar.projectKey=pagopa_selfcare-onboarding - -Dsonar.coverage.jacoco.xmlReportPaths=./target/jacoco-report/jacoco.xml - -Dsonar.host.url=https://sonarcloud.io -Dsonar.token=${{ secrets.SONAR_TOKEN }} - -Dsonar.coverage.exclusions='**/exception/**, **/response/**, **/request/**, **/entity/**, **/utils/**, **/*Constant*, **/*Config.java, **/src/test/**' -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} -Dsonar.pullrequest.branch=${{ github.head_ref }} -Dsonar.pullrequest.base=${{ github.base_ref }} - --file onboarding-functions/pom.xml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/code_review_libs.yml b/.github/workflows/code_review_libs.yml new file mode 100644 index 000000000..cd6d61a87 --- /dev/null +++ b/.github/workflows/code_review_libs.yml @@ -0,0 +1,44 @@ +name: Code Review Libs + +on: + pull_request: + branches: + - main + - develop + types: + - opened + - synchronize + - reopened + paths: + - 'libs/**' + + workflow_dispatch: + +jobs: + + code-review: + runs-on: ubuntu-latest + permissions: + packages: read + id-token: write + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'temurin' + + - name: Build and analyze on Pull Requests + shell: bash + run: mvn --projects :test-coverage --also-make verify -Ponboarding-sdk,report,coverage + -Dsonar.organization=pagopa + -Dsonar.projectKey=pagopa_selfcare-onboarding + -Dsonar.token=${{ secrets.SONAR_TOKEN }} + -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} + -Dsonar.pullrequest.branch=${{ github.head_ref }} + -Dsonar.pullrequest.base=${{ github.base_ref }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/code_review_ms.yml b/.github/workflows/code_review_ms.yml index a541e077d..cd3a1a62e 100644 --- a/.github/workflows/code_review_ms.yml +++ b/.github/workflows/code_review_ms.yml @@ -1,4 +1,4 @@ -name: Code Review MS +name: Code Review onboarding-ms # Controls when the workflow will run on: @@ -28,6 +28,7 @@ jobs: sparse-checkout: | apps/onboarding-ms libs/ + test-coverage/ - name: Set up JDK 17 uses: actions/setup-java@v3 @@ -37,13 +38,10 @@ jobs: - name: Build and analyze on Pull Requests shell: bash - run: mvn --projects :onboarding-ms --also-make verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar + run: mvn --projects :test-coverage --also-make verify -Ponboarding-ms,report,coverage -Dsonar.organization=pagopa -Dsonar.projectKey=pagopa_selfcare-onboarding - -Dsonar.coverage.jacoco.xmlReportPaths=./target/jacoco-report/jacoco.xml - -Dsonar.host.url=https://sonarcloud.io -Dsonar.token=${{ secrets.SONAR_TOKEN }} - -Dsonar.coverage.exclusions='**/exception/**, **/response/**, **/request/**, **/entity/**, **/utils/**, **/*Constant*, **/*Config.java, **/src/test/**' -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} -Dsonar.pullrequest.branch=${{ github.head_ref }} -Dsonar.pullrequest.base=${{ github.base_ref }} diff --git a/.gitignore b/.gitignore index 69447bd60..75f60bd17 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ override.tf.json # example: *tfplan* **/.tfsec/* +pagopa_selfcare-onboarding diff --git a/README.md b/README.md index 49fd58200..4a07449ca 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This repo structure and build monorepo with Apache Maven for selfcare onboarding domain. -Applications under apps/ depend on shared code under libs/. +Applications under apps/ depend on shared code under libs/. test-coverage/ is used to assess the test coverage of the entire project. ``` @@ -12,7 +12,11 @@ Applications under apps/ depend on shared code under libs/. │   ├── onboarding-functions │   └── onboarding-ms └── libs -    ├── onboarding-sdk +    ├── onboarding-sdk-pom +    ├── onboarding-sdk-common +    ├── onboarding-sdk-azure-storage +    ├── onboarding-sdk-product +└── test-coverage ``` Look at single README module for more information. @@ -36,11 +40,11 @@ and usage of a couple of lesser known command line switches. | Action | in working directory | with Maven | |:---------------------------------------------------------------------------------------------------|:----------------------:|:-----------------------------------------------------------------------------------| | Build the world | `.` | `mvn clean package -DskipTests` | -| Run `onboarding-ms` | `.` | `java -jar apps/onboarding-ms/target/onboarding-ms-0.0.1-SNAPSHOT.jar` | +| Run `onboarding-ms` | `.` | `java -jar apps/onboarding-ms/target/onboarding-ms-1.0.0-SNAPSHOT.jar` | | Build and test the world | `.` | `mvn clean package` | | Build the world | `./apps/onboarding-ms` | `mvn --file ../.. clean package -DskipTests` | | Build `onboarding-ms` and its dependencies | `.` | `mvn --projects :onboarding-ms --also-make clean package -DskipTests` | | Build `onboarding-ms` and its dependencies | `./apps/onboarding-ms` | `mvn --file ../.. --projects :onboarding-ms --also-make clean package -DskipTests` | -| Build `onboarding-sdk` and its dependents (aka. reverse dependencies or *rdeps* in Bazel parlance) | `.` | `mvn --projects :onboarding-sdk --also-make-dependents clean package -DskipTests` | +| Build `onboarding-sdk` and its dependents (aka. reverse dependencies or *rdeps* in Bazel parlance) | `.` | `mvn --projects :onboarding-sdk-pom --also-make-dependents clean package -DskipTests` | | Print dependencies of `onboarding-sdk` | `./apps/onboarding-ms` | `mvn dependency:list` | diff --git a/apps/onboarding-ms/Dockerfile b/apps/onboarding-ms/Dockerfile index a180a31c6..773d4ca01 100644 --- a/apps/onboarding-ms/Dockerfile +++ b/apps/onboarding-ms/Dockerfile @@ -5,10 +5,7 @@ WORKDIR /src COPY --link ./pom.xml . WORKDIR /src/libs -COPY --link ./libs/pom.xml . - -WORKDIR /src/libs/onboarding-sdk -COPY ./libs/onboarding-sdk/ . +COPY --link ./libs/ . WORKDIR /src/apps COPY --link ./apps/pom.xml . diff --git a/apps/onboarding-ms/src/main/resources/application.properties b/apps/onboarding-ms/src/main/resources/application.properties index 5f4d957e7..1106f0e52 100644 --- a/apps/onboarding-ms/src/main/resources/application.properties +++ b/apps/onboarding-ms/src/main/resources/application.properties @@ -51,4 +51,5 @@ onboarding-ms.blob-storage.filepath-product = products.json onboarding-ms.blob-storage.connection-string-product = ${BLOB-STORAGE-PRODUCT-CONNECTION-STRING:UseDevelopmentStorage=true;} ## Jacoco -quarkus.jacoco.includes=it/pagopa/selfcare/controller/*,it/pagopa/selfcare/service/**,it/pagopa/selfcare/repository/** \ No newline at end of file +quarkus.jacoco.includes=it/pagopa/selfcare/onboarding/controller/*,it/pagopa/selfcare/onboarding/service/**,it/pagopa/selfcare/onboarding/repository/** +quarkus.jacoco.data-file=target/jacoco.exec \ No newline at end of file diff --git a/libs/onboarding-sdk/.gitignore b/libs/onboarding-sdk-azure-storage/.gitignore similarity index 100% rename from libs/onboarding-sdk/.gitignore rename to libs/onboarding-sdk-azure-storage/.gitignore diff --git a/libs/onboarding-sdk/onboarding-sdk-azure-storage/README.md b/libs/onboarding-sdk-azure-storage/README.md similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-azure-storage/README.md rename to libs/onboarding-sdk-azure-storage/README.md diff --git a/libs/onboarding-sdk/onboarding-sdk-azure-storage/pom.xml b/libs/onboarding-sdk-azure-storage/pom.xml similarity index 89% rename from libs/onboarding-sdk/onboarding-sdk-azure-storage/pom.xml rename to libs/onboarding-sdk-azure-storage/pom.xml index ad9715b8b..07289c032 100644 --- a/libs/onboarding-sdk/onboarding-sdk-azure-storage/pom.xml +++ b/libs/onboarding-sdk-azure-storage/pom.xml @@ -5,8 +5,9 @@ 4.0.0 it.pagopa.selfcare - onboarding-sdk + onboarding-sdk-pom 0.1.0 + ../onboarding-sdk-pom onboarding-sdk-azure-storage diff --git a/libs/onboarding-sdk/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/AzureBlobClient.java b/libs/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/AzureBlobClient.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/AzureBlobClient.java rename to libs/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/AzureBlobClient.java diff --git a/libs/onboarding-sdk/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/AzureBlobClientDefault.java b/libs/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/AzureBlobClientDefault.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/AzureBlobClientDefault.java rename to libs/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/AzureBlobClientDefault.java diff --git a/libs/onboarding-sdk/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/error/SelfcareAzureStorageError.java b/libs/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/error/SelfcareAzureStorageError.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/error/SelfcareAzureStorageError.java rename to libs/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/error/SelfcareAzureStorageError.java diff --git a/libs/onboarding-sdk/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/error/SelfcareAzureStorageException.java b/libs/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/error/SelfcareAzureStorageException.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/error/SelfcareAzureStorageException.java rename to libs/onboarding-sdk-azure-storage/src/main/java/it/pagopa/selfcare/azurestorage/error/SelfcareAzureStorageException.java diff --git a/libs/onboarding-sdk/onboarding-sdk-azure-storage/.gitignore b/libs/onboarding-sdk-common/.gitignore similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-azure-storage/.gitignore rename to libs/onboarding-sdk-common/.gitignore diff --git a/libs/onboarding-sdk/onboarding-sdk-common/README.md b/libs/onboarding-sdk-common/README.md similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/README.md rename to libs/onboarding-sdk-common/README.md diff --git a/libs/onboarding-sdk/onboarding-sdk-common/pom.xml b/libs/onboarding-sdk-common/pom.xml similarity index 81% rename from libs/onboarding-sdk/onboarding-sdk-common/pom.xml rename to libs/onboarding-sdk-common/pom.xml index 90dffcbe0..64b0f3915 100644 --- a/libs/onboarding-sdk/onboarding-sdk-common/pom.xml +++ b/libs/onboarding-sdk-common/pom.xml @@ -3,8 +3,9 @@ 4.0.0 it.pagopa.selfcare - onboarding-sdk + onboarding-sdk-pom 0.1.0 + ../onboarding-sdk-pom onboarding-sdk-common onboarding-sdk-common diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/Env.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/Env.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/Env.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/Env.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/InstitutionPaSubunitType.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/InstitutionPaSubunitType.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/InstitutionPaSubunitType.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/InstitutionPaSubunitType.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/InstitutionType.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/InstitutionType.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/InstitutionType.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/InstitutionType.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/OnboardingStatus.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/OnboardingStatus.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/OnboardingStatus.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/OnboardingStatus.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/Origin.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/Origin.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/Origin.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/Origin.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/PartyRole.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/PartyRole.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/PartyRole.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/PartyRole.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/PricingPlan.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/PricingPlan.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/PricingPlan.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/PricingPlan.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/ProductId.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/ProductId.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/ProductId.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/ProductId.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/TokenType.java b/libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/TokenType.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/TokenType.java rename to libs/onboarding-sdk-common/src/main/java/it/pagopa/selfcare/onboarding/common/TokenType.java diff --git a/libs/onboarding-sdk/onboarding-sdk-common/.gitignore b/libs/onboarding-sdk-pom/.gitignore similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-common/.gitignore rename to libs/onboarding-sdk-pom/.gitignore diff --git a/libs/onboarding-sdk-pom/pom.xml b/libs/onboarding-sdk-pom/pom.xml new file mode 100644 index 000000000..9af27883b --- /dev/null +++ b/libs/onboarding-sdk-pom/pom.xml @@ -0,0 +1,64 @@ + + 4.0.0 + + + it.pagopa.selfcare + onboarding-libs + 0.0.1 + + + onboarding-sdk-pom + pom + onboarding-sdk-pom + 0.1.0 + + + 17 + 17 + + + + + selfcare-github + Selfcare Onboarding SDK + https://maven.pkg.github.com/pagopa/selfcare-onboarding + + + + + ../onboarding-sdk-azure-storage + ../onboarding-sdk-common + ../onboarding-sdk-product + + + + + + + org.jacoco + jacoco-maven-plugin + + + default-prepare-agent + + prepare-agent + + + true + + + + + report + test + + report + + + + + + + + + diff --git a/libs/onboarding-sdk/onboarding-sdk-product/.gitignore b/libs/onboarding-sdk-product/.gitignore similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/.gitignore rename to libs/onboarding-sdk-product/.gitignore diff --git a/libs/onboarding-sdk/onboarding-sdk-product/README.md b/libs/onboarding-sdk-product/README.md similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/README.md rename to libs/onboarding-sdk-product/README.md diff --git a/libs/onboarding-sdk/onboarding-sdk-product/pom.xml b/libs/onboarding-sdk-product/pom.xml similarity index 90% rename from libs/onboarding-sdk/onboarding-sdk-product/pom.xml rename to libs/onboarding-sdk-product/pom.xml index 4fec37a42..d65e1c1b7 100644 --- a/libs/onboarding-sdk/onboarding-sdk-product/pom.xml +++ b/libs/onboarding-sdk-product/pom.xml @@ -3,8 +3,9 @@ 4.0.0 it.pagopa.selfcare - onboarding-sdk + onboarding-sdk-pom 0.1.0 + ../onboarding-sdk-pom onboarding-sdk-product onboarding-sdk-product @@ -26,7 +27,7 @@ it.pagopa.selfcare onboarding-sdk-common - ${parent.version} + ${project.version} diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/BackOfficeConfigurations.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/BackOfficeConfigurations.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/BackOfficeConfigurations.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/BackOfficeConfigurations.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ContractStorage.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ContractStorage.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ContractStorage.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ContractStorage.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/Product.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/Product.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/Product.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/Product.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductRole.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductRole.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductRole.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductRole.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductRoleInfo.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductRoleInfo.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductRoleInfo.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductRoleInfo.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductStatus.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductStatus.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductStatus.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/ProductStatus.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/exception/InvalidRoleMappingException.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/exception/InvalidRoleMappingException.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/exception/InvalidRoleMappingException.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/exception/InvalidRoleMappingException.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/exception/ProductNotFoundException.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/exception/ProductNotFoundException.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/exception/ProductNotFoundException.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/exception/ProductNotFoundException.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductService.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductService.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductService.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductService.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductServiceDefault.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductServiceDefault.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductServiceDefault.java rename to libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductServiceDefault.java diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/main/schema/Product_v1.avsc b/libs/onboarding-sdk-product/src/main/schema/Product_v1.avsc similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/main/schema/Product_v1.avsc rename to libs/onboarding-sdk-product/src/main/schema/Product_v1.avsc diff --git a/libs/onboarding-sdk/onboarding-sdk-product/src/test/java/ProductServiceDefaultTest.java b/libs/onboarding-sdk-product/src/test/java/ProductServiceDefaultTest.java similarity index 100% rename from libs/onboarding-sdk/onboarding-sdk-product/src/test/java/ProductServiceDefaultTest.java rename to libs/onboarding-sdk-product/src/test/java/ProductServiceDefaultTest.java diff --git a/libs/onboarding-sdk/pom.xml b/libs/onboarding-sdk/pom.xml deleted file mode 100644 index 709add501..000000000 --- a/libs/onboarding-sdk/pom.xml +++ /dev/null @@ -1,28 +0,0 @@ - - 4.0.0 - - it.pagopa.selfcare - onboarding-sdk - pom - onboarding-sdk - 0.1.0 - - - 17 - 17 - - - onboarding-sdk-product - onboarding-sdk-azure-storage - onboarding-sdk-common - - - - - selfcare-github - Selfcare Onboarding SDK - https://maven.pkg.github.com/pagopa/selfcare-onboarding - - - diff --git a/libs/pom.xml b/libs/pom.xml index f6d077917..5a58db456 100644 --- a/libs/pom.xml +++ b/libs/pom.xml @@ -13,7 +13,31 @@ pom - onboarding-sdk + onboarding-sdk-pom + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.10.0.2594 + + + org.jacoco + jacoco-maven-plugin + 0.8.11 + + + + + + diff --git a/pom.xml b/pom.xml index 1c906f2dc..c6d0a990f 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ apps libs + test-coverage diff --git a/test-coverage/.gitignore b/test-coverage/.gitignore new file mode 100644 index 000000000..5ff6309b7 --- /dev/null +++ b/test-coverage/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/test-coverage/README.md b/test-coverage/README.md new file mode 100644 index 000000000..3a3070567 --- /dev/null +++ b/test-coverage/README.md @@ -0,0 +1,24 @@ +# Test Coverage + +It is a submodule designed to assess the test coverage of the entire project. It contains various configurations to evaluate the coverage of individual modules. Specifically, it leverages the Maven plugin, Jacoco, using the 'report-aggregate' goal to aggregate reports from the individual modules and provide them to Sonarqube for test coverage and code quality verification. It's essential for each module to have the same plugin or library that generates the jacoco.xml file, summarizing the test coverage for that specific module. + +## Usage + +To run coverage on a specific module, dedicated profiles have been configured. For example, to execute it on the `apps/onboarding-ms module`, you can use the following command: + +```shell script +mvn --projects :test-coverage --also-make verify -Ponboarding-ms,report +``` + +* **report** is used for generating reports. +* **onboarding-ms** is used to perform the scan on onboarding-ms module. + +Make sure you have the necessary configurations and dependencies in place for accurate test coverage analysis. + +## Sonarcloud + +To enable performing the scan on Sonarcloud you can add profile `coverage` and some other information: + +```shell script +mvn --projects :test-coverage --also-make verify -Ponboarding-ms,report,coverage -Dsonar.organization=xxx -Dsonar.projectKey=yyy -Dsonar.token=zzzz -Dsonar.pullrequest.key=123 +``` diff --git a/test-coverage/pom.xml b/test-coverage/pom.xml new file mode 100644 index 000000000..72776ef51 --- /dev/null +++ b/test-coverage/pom.xml @@ -0,0 +1,155 @@ + + + 4.0.0 + + + it.pagopa.selfcare + onboarding-root + 0.0.1 + + test-coverage + pom + test-coverage + + + ${project.basedir}/target/site/jacoco-aggregate/jacoco.xml + **/exception/**, **/response/**, **/request/**, **/entity/**, **/common/**, **/utils/**, **/*Constant*, **/*Config.java, **/error/**, org/** + https://sonarcloud.io + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.10.0.2594 + + + org.jacoco + jacoco-maven-plugin + 0.8.11 + + + + + + + + + onboarding-ms + + false + + + + it.pagopa.selfcare + onboarding-ms + 1.0.0-SNAPSHOT + + + + + onboarding-functions + + false + + + + it.pagopa.selfcare + onboarding-functions + 1.0.0-SNAPSHOT + + + + + onboarding-sdk + + false + + + + it.pagopa.selfcare + onboarding-sdk-product + 0.1.0 + + + it.pagopa.selfcare + onboarding-sdk-common + 0.1.0 + + + it.pagopa.selfcare + onboarding-sdk-azure-storage + 0.1.0 + + + + + + report + + + + org.jacoco + jacoco-maven-plugin + + + report + + report-aggregate + + verify + + + + + + + **/config/* + **/exception/** + **/response/** + **/request/** + **/entity/** + **/common/** + **/utils/** + **/error/** + **/*Constant* + org/** + + + + + + + + coverage + + + + org.sonarsource.scanner.maven + sonar-maven-plugin + + + sonar + + sonar + + verify + + + + + + + + + + +