diff options
Diffstat (limited to 'app/build.gradle')
-rw-r--r-- | app/build.gradle | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..1551d9e --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,109 @@ +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" + } + } +} |