blob: aa63dc9ba62d223973bc317867a2ae9295e24aa2 [file] [log] [blame]
plugins {
id 'application'
id 'com.diffplug.spotless' version '6.18.0'
id 'com.github.johnrengelman.shadow' version '8.1.1'
id 'jacoco'
id 'com.netflix.nebula.ospackage' version '11.5.0'
}
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.4')
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.8.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 'org.assertj:assertj-core'
testImplementation 'org.mockito:mockito-core'
}
group = 'org.apache.couchdb.nouveau'
version = '1.0-SNAPSHOT'
description = 'server'
java {
sourceCompatibility = "11"
}
jar {
manifest.attributes('Multi-Release': 'true')
}
spotless {
java {
importOrder()
removeUnusedImports()
cleanthat()
palantirJavaFormat()
}
}
testing {
suites {
test {
useJUnitJupiter()
}
}
}
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
}
apply plugin: 'com.netflix.nebula.deb'
apply plugin: 'com.netflix.nebula.rpm'
apply plugin: 'com.netflix.nebula.ospackage-daemon'
ospackage {
packageName = 'nouveau'
into '/opt/nouveau'
from(jar.outputs.files) {
into 'lib'
}
from(configurations.runtimeClasspath) {
into 'lib'
}
}
daemon {
command = "java -server -cp /opt/nouveau/lib/*.jar server /opt/nouveau/etc/nouveau.yaml"
}
task nouveauDeb(type: Deb) {
packageName 'nouveau'
release '1'
configurationFile('/etc/defaults/nouveau')
}