plugins { id 'java' id 'idea' id 'application' id 'io.spring.dependency-management' id 'org.springframework.boot' id 'jacoco' id 'org.sonarqube' id 'com.gorylenko.gradle-git-properties' } group = 'org.onap' version = '0.1.1' sourceCompatibility = '17' targetCompatibility = '17' application { mainClass = 'org.onap.portal.prefs.PortalPrefsApplication' } configurations { compileOnly { extendsFrom annotationProcessor } // avoid "LoggerFactory is not a Logback LoggerContext but Logback is on the classpath" error all*.exclude module : 'logback-classic' } repositories { mavenCentral() maven { url "https://plugins.gradle.org/m2/" } } ext { vavrVersion = '0.10.4' problemVersion = '0.27.1' logstashLogbackVersion = '7.2' embedMongoVersion = '3.2.8' embedMongoIntegrationVersion = '1.1.0-spring27x' springCloudWiremockVersion = '3.1.0' } dependencies { implementation project(':openapi') implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive' implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-webflux' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation "io.vavr:vavr:$vavrVersion" implementation "org.zalando:problem:$problemVersion" implementation "net.logstash.logback:logstash-logback-encoder:$logstashLogbackVersion" compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'io.projectreactor:reactor-test' testImplementation 'io.rest-assured:rest-assured' testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock:$springCloudWiremockVersion" testImplementation "de.flapdoodle.embed:de.flapdoodle.embed.mongo:$embedMongoVersion" testImplementation "de.flapdoodle.embed:de.flapdoodle.embed.mongo.spring:$embedMongoIntegrationVersion" testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' } test { useJUnitPlatform() finalizedBy(jacocoTestReport) } jacocoTestReport { reports { xml.enabled true } } sonarqube { properties { property "sonar.projectKey", "tnap.SONAR.portal.portal-prefs" property "sonar.projectName", "portal-prefs" } } configurations.implementation.setCanBeResolved(true) // avoid generating X.X.X-plain.jar jar { enabled = false } springBoot { buildInfo { properties { artifact = "onap-portal-prefs" version = rootProject.file('version').text.trim() group = "org.onap" name = "Portal user preferences service" } } }