aboutsummaryrefslogtreecommitdiffstats
path: root/lib/build.gradle
blob: 9248ce3ac0e20452314407e2b20c5dc583a0fb0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
apply plugin: 'com.gorylenko.gradle-git-properties'
apply plugin: 'jacoco'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'maven-publish'
apply plugin: 'java-library'
apply plugin: 'com.diffplug.spotless'
apply plugin: 'com.github.spotbugs'
apply plugin: 'org.sonarqube'

group 'org.onap'
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('portal-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 {
        myLibrary(MavenPublication) {
            artifactId = rootProject.name
            groupId = group
            version = version
            artifacts = ["build/libs/portal-bff-$version-all.jar"]
            pom {
                name = rootProject.name
                description = 'ONAP community edition of portal-bff'
            }
        }
    }
    repositories{
        mavenCentral()
    }
}

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")
}

sonarqube {
    properties {
        property "sonar.projectKey", "tnap.SONAR.portal.portal-bff-ce"
        property "sonar.projectName", "portal-bff-ce"
        property "sonar.projectDescription", "Community edition of the the ONAP portal"
        property "sonar.exclusions", "**/build**"
    }
}