summaryrefslogtreecommitdiffstats
path: root/app/build.gradle
blob: d8aff4d76acdf4993715737ef8ae3a8f839ddbfa (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
plugins {
	id 'java'
	id 'idea'
	id 'application'
	id 'io.spring.dependency-management'
	id 'org.springframework.boot'
	id 'jacoco'
	id 'com.gorylenko.gradle-git-properties'
}

group = 'org.onap'
version = '0.1.1'
sourceCompatibility = '17'
targetCompatibility = '17'

application {
    mainClass = 'org.onap.portalng.preferences.PreferencesApplication'
}

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 {
    problemVersion = '0.27.1'
    logstashLogbackVersion = '7.2'
    embedMongoVersion = '4.7.0'
    embedMongoIntegrationVersion = '4.7.0'
    springCloudWiremockVersion = '4.0.3'
		micrometerVersion = '1.0.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 "org.zalando:problem:$problemVersion"
	implementation "net.logstash.logback:logstash-logback-encoder:$logstashLogbackVersion"

	implementation(platform("io.micrometer:micrometer-tracing-bom:$micrometerVersion"))
	implementation("io.micrometer:micrometer-tracing")
	implementation("io.micrometer:micrometer-tracing-bridge-otel")
	implementation("io.opentelemetry:opentelemetry-exporter-zipkin")

	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.spring30x:$embedMongoIntegrationVersion"
	testCompileOnly 'org.projectlombok:lombok'
	testAnnotationProcessor 'org.projectlombok:lombok'
}

test {
	useJUnitPlatform()
	finalizedBy(jacocoTestReport)
}

jacocoTestReport {
	reports {
		xml.required = true
	}
}

configurations.implementation.setCanBeResolved(true)

// avoid generating X.X.X-plain.jar
jar {
    enabled = false
}

springBoot {
	buildInfo {
		properties {
			artifact = "onap-portal-ng-preferences"
			version = rootProject.file('version').text.trim()
			group = "org.onap.portalng"
			name = "Portal-ng user preferences service"
		}
	}
}