plugins { id 'com.gorylenko.gradle-git-properties' id 'jacoco' id 'com.github.johnrengelman.shadow' id 'maven-publish' id 'java-library' id 'com.diffplug.spotless' id 'com.github.spotbugs' } group 'org.onap.portalng' version rootProject.file('version').text.trim() dependencies { implementation project(':openapi:server') implementation project(':openapi:client-portal-prefs') implementation project(':openapi:client-portal-history') implementation project(':openapi:client-portal-keycloak') implementation 'org.springframework.boot:spring-boot-starter-webflux' implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server' implementation "org.zalando:problem:$problemVersion" implementation "org.zalando:jackson-datatype-problem:$problemVersion" implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml' implementation "org.zalando:problem-spring-webflux:$problemSpringVersion" implementation "org.mapstruct:mapstruct:$mapStructVersion" implementation "org.mapstruct.extensions.spring:mapstruct-spring-annotations:$mapStructExtensionsVersion" implementation "org.mapstruct.extensions.spring:mapstruct-spring-extensions:$mapStructExtensionsVersion" annotationProcessor "org.mapstruct:mapstruct-processor:$mapStructVersion" annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' } shadowJar { archiveBaseName.set('bff') dependencies { include(project(':openapi:server')) include(project(':openapi:client-portal-history')) include(project(':openapi:client-portal-prefs')) include(project(':openapi:client-portal-keycloak')) } } publishing { publications { bffLibrary(MavenPublication) { artifactId = rootProject.name groupId = group version = version artifacts = ["build/libs/bff-$version-all.jar"] pom { name = rootProject.name description = 'portal-ng backend-for-frontend service' } } } // https://gitlab.devops.telekom.de/tnap/development/tesla-team/portal-community/bff/-/blob/pipeline/lib/build.gradle#L60 repositories{ mavenCentral() // maven { // url "${maven_central_url}" // credentials { // username = "${artifactory_user}" // password = "${artifactory_password}" // } // } } } spotless { java { target project.fileTree(project.projectDir) { include '**/*.java' exclude '**/build/**' exclude '**/generated-sources/**' } removeUnusedImports() trimTrailingWhitespace() googleJavaFormat('1.15.0') } } tasks.withType(JavaCompile) { dependsOn 'spotlessApply' } spotbugs { ignoreFailures = false effort = "max" reportLevel = "high" excludeFilter = file("$rootProject.projectDir/spotbugs-exclude.xml") }