| 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.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 |
| } |