summaryrefslogtreecommitdiffstats
path: root/app/build.gradle
blob: 6fa8258ae03e98001e317ff132221bb701fea010 (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
97
98
99
100
101
102
103
104
105
106
107
108
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"
		}
	}
}