summaryrefslogtreecommitdiff
path: root/nouveau/build.gradle
blob: 0b495768936c1a54875d86a2fbe818e3bdbead19 (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
plugins {
    id 'application'
    id 'com.diffplug.spotless' version '6.18.0'
    id 'com.github.johnrengelman.shadow' version '8.1.1'
    id 'jacoco'
}

application {
    mainClass = 'org.apache.couchdb.nouveau.NouveauApplication'
}

repositories {
    mavenLocal()
    maven {
        url = uri('https://repo.maven.apache.org/maven2/')
    }
}

dependencies {
    implementation platform('io.dropwizard:dropwizard-dependencies:4.0.0')
    implementation 'io.dropwizard:dropwizard-core'
    implementation 'io.dropwizard:dropwizard-http2'
    implementation 'io.dropwizard.metrics:metrics-core'
    implementation 'io.dropwizard.metrics:metrics-caffeine'
    implementation 'io.dropwizard.metrics:metrics-jersey2'
    testImplementation 'io.dropwizard:dropwizard-testing'

    def luceneVersion = '9.6.0'
    implementation group: 'org.apache.lucene', name: 'lucene-core', version: luceneVersion
    implementation group: 'org.apache.lucene', name: 'lucene-queryparser', version: luceneVersion
    implementation group: 'org.apache.lucene', name: 'lucene-analysis-common', version: luceneVersion
    implementation group: 'org.apache.lucene', name: 'lucene-analysis-stempel', version: luceneVersion
    implementation group: 'org.apache.lucene', name: 'lucene-analysis-smartcn', version: luceneVersion
    implementation group: 'org.apache.lucene', name: 'lucene-analysis-kuromoji', version: luceneVersion
    implementation group: 'org.apache.lucene', name: 'lucene-facet', version: luceneVersion
    implementation group: 'org.apache.lucene', name: 'lucene-misc', version: luceneVersion

    def swaggerVersion = '2.2.8'
    implementation group: 'io.swagger.core.v3', name: 'swagger-jaxrs2-jakarta', version: swaggerVersion
    implementation group: 'io.swagger.core.v3', name: 'swagger-jaxrs2-servlet-initializer-v2', version: swaggerVersion

    testImplementation platform('org.junit:junit-bom:5.8.2')
    testImplementation 'org.junit.jupiter:junit-jupiter-api'
    testRuntimeOnly    'org.junit.jupiter:junit-jupiter-engine'
    testImplementation 'org.assertj:assertj-core'
    testImplementation 'org.mockito:mockito-core'
}

group = 'org.apache.couchdb.nouveau'
version = '1.0-SNAPSHOT'
description = 'server'

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(11)
    }
}

jar {
    manifest.attributes('Multi-Release': 'true')
}

spotless {
  java {
    importOrder()
    removeUnusedImports()
    cleanthat()
    palantirJavaFormat()
  }
}

test {
    useJUnitPlatform()
}

shadowJar {
    archiveClassifier.set('dist')
    mergeServiceFiles()
}

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
    options.deprecation = true
}

tasks.withType(Javadoc) {
    options.encoding = 'UTF-8'
}

tasks.withType(AbstractArchiveTask) {
    preserveFileTimestamps = false
    reproducibleFileOrder = true
}