Skip to content

Commit

Permalink
feat: P4ADEV-1725, P4ADEV-2031 invoke workflow api createDebtPosition (
Browse files Browse the repository at this point in the history
  • Loading branch information
RiccardoGiuliani authored Feb 7, 2025
1 parent acac662 commit 5329bba
Show file tree
Hide file tree
Showing 47 changed files with 2,195 additions and 514 deletions.
185 changes: 106 additions & 79 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import org.openapitools.generator.gradle.plugin.tasks.GenerateTask

plugins {
java
id("org.springframework.boot") version "3.4.1"
id("io.spring.dependency-management") version "1.1.7"
jacoco
id("org.sonarqube") version "6.0.1.5171"
id("com.github.ben-manes.versions") version "0.51.0"
id("org.openapi.generator") version "7.10.0"
java
id("org.springframework.boot") version "3.4.1"
id("io.spring.dependency-management") version "1.1.7"
jacoco
id("org.sonarqube") version "6.0.1.5171"
id("com.github.ben-manes.versions") version "0.51.0"
id("org.openapi.generator") version "7.10.0"
id("org.ajoberstar.grgit") version "5.3.0"
}

Expand All @@ -16,19 +16,19 @@ version = "0.0.1"
description = "p4pa-debt-positions"

java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}

configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}

repositories {
mavenCentral()
mavenCentral()
}

dependencyManagement {
Expand Down Expand Up @@ -56,67 +56,59 @@ dependencies {
implementation("org.springframework.cloud:spring-cloud-starter-stream-kafka")
implementation("io.micrometer:micrometer-tracing-bridge-otel:$micrometerVersion")
implementation("io.micrometer:micrometer-registry-prometheus")
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:$springDocOpenApiVersion")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
implementation("org.openapitools:jackson-databind-nullable:$openApiToolsVersion")

implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:$springDocOpenApiVersion")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
implementation("org.openapitools:jackson-databind-nullable:$openApiToolsVersion")
implementation("org.mapstruct:mapstruct:$mapStructVersion")
//security
implementation("org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion")


//postgres jdbc
implementation("org.postgresql:postgresql:$postgresJdbcVersion")

compileOnly("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok")
compileOnly("org.projectlombok:lombok")

/**
* Mapstruct
* https://mapstruct.org/
* mapstruct dependencies must always be placed after the lombok dependency
* or the generated mappers will return an empty object
**/
implementation("org.mapstruct:mapstruct:$mapStructVersion")
annotationProcessor("org.mapstruct:mapstruct-processor:$mapStructVersion")

// Testing
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("org.mockito:mockito-core")
testImplementation ("org.projectlombok:lombok")
testAnnotationProcessor("org.projectlombok:lombok")
// Testing
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("org.mockito:mockito-core")
testImplementation("org.projectlombok:lombok")
testImplementation("com.h2database:h2")
testImplementation("uk.co.jemos.podam:podam:$podamVersion")

testAnnotationProcessor("org.projectlombok:lombok")

annotationProcessor("org.mapstruct:mapstruct-processor:$mapStructVersion")
annotationProcessor("org.projectlombok:lombok")
}

tasks.withType<Test> {
useJUnitPlatform()
finalizedBy(tasks.jacocoTestReport)
useJUnitPlatform()
finalizedBy(tasks.jacocoTestReport)
}

tasks.jacocoTestReport {
dependsOn(tasks.test)
reports {
xml.required = true
}
dependsOn(tasks.test)
reports {
xml.required = true
}
}

val projectInfo = mapOf(
"artifactId" to project.name,
"version" to project.version
"artifactId" to project.name,
"version" to project.version
)

tasks {
val processResources by getting(ProcessResources::class) {
filesMatching("**/application.yml") {
expand(projectInfo)
}
}
val processResources by getting(ProcessResources::class) {
filesMatching("**/application.yml") {
expand(projectInfo)
}
}
}

configurations {
compileClasspath {
resolutionStrategy.activateDependencyLocking()
}
compileClasspath {
resolutionStrategy.activateDependencyLocking()
}
}

tasks.compileJava {
Expand All @@ -130,7 +122,8 @@ tasks.register("dependenciesBuild") {
dependsOn(
"openApiGenerate",
"openApiGenerateORGANIZATION",
"openApiGenerateP4PAAUTH"
"openApiGenerateP4PAAUTH",
"openApiGenerateWORKFLOWHUB"
)
}

Expand All @@ -141,7 +134,7 @@ configure<SourceSetContainer> {
}

springBoot {
mainClass.value("it.gov.pagopa.pu.debtpositions.DebtPositionsApplication")
mainClass.value("it.gov.pagopa.pu.debtpositions.DebtPositionsApplication")
}

openApiGenerate {
Expand Down Expand Up @@ -180,19 +173,21 @@ tasks.register<GenerateTask>("openApiGenerateORGANIZATION") {
invokerPackage.set("it.gov.pagopa.pu.organization.generated")
apiPackage.set("it.gov.pagopa.pu.organization.client.generated")
modelPackage.set("it.gov.pagopa.pu.organization.dto.generated")
configOptions.set(mapOf(
"swaggerAnnotations" to "false",
"openApiNullable" to "false",
"dateLibrary" to "java8",
"serializableModel" to "true",
"useSpringBoot3" to "true",
"useJakartaEe" to "true",
"serializationLibrary" to "jackson",
"generateSupportingFiles" to "true",
"generateConstructorWithAllArgs" to "true",
"generatedConstructorWithRequiredArgs" to "true",
"additionalModelTypeAnnotations" to "@lombok.experimental.SuperBuilder(toBuilder = true)"
))
configOptions.set(
mapOf(
"swaggerAnnotations" to "false",
"openApiNullable" to "false",
"dateLibrary" to "java8",
"serializableModel" to "true",
"useSpringBoot3" to "true",
"useJakartaEe" to "true",
"serializationLibrary" to "jackson",
"generateSupportingFiles" to "true",
"generateConstructorWithAllArgs" to "true",
"generatedConstructorWithRequiredArgs" to "true",
"additionalModelTypeAnnotations" to "@lombok.experimental.SuperBuilder(toBuilder = true)"
)
)
library.set("resttemplate")
}

Expand All @@ -206,19 +201,51 @@ tasks.register<GenerateTask>("openApiGenerateP4PAAUTH") {
invokerPackage.set("it.gov.pagopa.pu.auth.generated")
apiPackage.set("it.gov.pagopa.pu.auth.controller.generated")
modelPackage.set("it.gov.pagopa.pu.auth.dto.generated")
configOptions.set(mapOf(
"swaggerAnnotations" to "false",
"openApiNullable" to "false",
"dateLibrary" to "java8",
"serializableModel" to "true",
"useSpringBoot3" to "true",
"useJakartaEe" to "true",
"serializationLibrary" to "jackson",
"generateSupportingFiles" to "true",
"generateConstructorWithAllArgs" to "true",
"generatedConstructorWithRequiredArgs" to "true",
"additionalModelTypeAnnotations" to "@lombok.experimental.SuperBuilder(toBuilder = true)"
configOptions.set(
mapOf(
"swaggerAnnotations" to "false",
"openApiNullable" to "false",
"dateLibrary" to "java8",
"serializableModel" to "true",
"useSpringBoot3" to "true",
"useJakartaEe" to "true",
"serializationLibrary" to "jackson",
"generateSupportingFiles" to "true",
"generateConstructorWithAllArgs" to "true",
"generatedConstructorWithRequiredArgs" to "true",
"additionalModelTypeAnnotations" to "@lombok.experimental.SuperBuilder(toBuilder = true)"
)
)
library.set("resttemplate")
}

tasks.register<GenerateTask>("openApiGenerateWORKFLOWHUB") {
group = "AutomaticallyGeneratedCode"
description = "openapi"

generatorName.set("java")
remoteInputSpec.set("https://raw.githubusercontent.com/pagopa/p4pa-workflow-hub/refs/heads/$targetEnv/openapi/p4pa-workflow-hub.openapi.yaml")
outputDir.set("$projectDir/build/generated")
invokerPackage.set("it.gov.pagopa.pu.workflowhub.generated")
apiPackage.set("it.gov.pagopa.pu.workflowhub.controller.generated")
modelPackage.set("it.gov.pagopa.pu.workflowhub.dto.generated")
typeMappings.set(mapOf(
"DebtPositionDTO" to "it.gov.pagopa.pu.debtpositions.dto.generated.DebtPositionDTO"
))
configOptions.set(
mapOf(
"swaggerAnnotations" to "false",
"openApiNullable" to "false",
"dateLibrary" to "java8",
"serializableModel" to "true",
"useSpringBoot3" to "true",
"useJakartaEe" to "true",
"serializationLibrary" to "jackson",
"generateSupportingFiles" to "true",
"generateConstructorWithAllArgs" to "true",
"generatedConstructorWithRequiredArgs" to "true",
"additionalModelTypeAnnotations" to "@lombok.experimental.SuperBuilder(toBuilder = true)"
)
)
library.set("resttemplate")
}
Loading

0 comments on commit 5329bba

Please sign in to comment.