MarginaliaSearch/code/services-application/search-service/build.gradle

131 lines
4.0 KiB
Groovy
Raw Normal View History

2023-03-04 12:19:01 +00:00
plugins {
id 'java'
id 'application'
id 'jvm-test-suite'
id 'gg.jte.gradle' version '3.1.15'
2024-07-31 08:39:50 +00:00
id 'com.google.cloud.tools.jib' version '3.4.3'
}
2023-03-04 12:19:01 +00:00
application {
mainClass = 'nu.marginalia.search.SearchMain'
applicationName = 'search-service'
}
tasks.distZip.enabled = false
jte {
2024-12-13 14:22:01 +00:00
sourceDirectory = file('resources/jte').toPath()
targetDirectory = file('build/classes/jte-precompiled').toPath()
generate()
}
2023-03-04 12:19:01 +00:00
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(rootProject.ext.jvmVersion))
2023-03-04 12:19:01 +00:00
}
}
apply from: "$rootProject.projectDir/srcsets.gradle"
apply from: "$rootProject.projectDir/docker.gradle"
2023-03-04 12:19:01 +00:00
dependencies {
implementation project(':code:common:db')
2023-03-07 16:14:32 +00:00
implementation project(':code:common:model')
implementation project(':code:common:service')
implementation project(':code:common:config')
2024-02-22 17:01:35 +00:00
implementation project(':code:index:query')
2023-03-04 12:19:01 +00:00
2023-03-07 16:14:32 +00:00
implementation project(':code:libraries:easy-lsh')
implementation project(':code:libraries:language-processing')
implementation project(':code:libraries:braille-block-punch-cards')
2023-03-13 22:40:26 +00:00
implementation project(':code:libraries:term-frequency-dict')
2023-03-04 12:19:01 +00:00
implementation project(':code:functions:live-capture:api')
implementation project(':code:functions:math:api')
implementation project(':code:functions:domain-info:api')
2024-02-22 14:27:39 +00:00
implementation project(':code:functions:search-query:api')
2024-02-22 17:01:35 +00:00
implementation project(':code:index:api')
2023-03-04 12:19:01 +00:00
implementation project(':code:features-search:screenshots')
implementation project(':code:features-search:random-websites')
2023-03-04 12:19:01 +00:00
implementation libs.bundles.slf4j
implementation libs.roaringbitmap
2023-03-04 12:19:01 +00:00
implementation libs.prometheus
implementation libs.notnull
2024-05-23 12:20:01 +00:00
implementation libs.guava
implementation dependencies.create(libs.guice.get()) {
exclude group: 'com.google.guava'
}
implementation libs.handlebars
2023-03-04 12:19:01 +00:00
implementation libs.opencsv
implementation libs.trove
implementation libs.jte
libs.bundles.jooby.get().each {
implementation dependencies.create(it) {
// Jooby pulls in an incompatible slf4j version that breaks all logs
exclude group: 'org.slf4j'
}
}
2023-03-04 12:19:01 +00:00
implementation libs.fastutil
implementation libs.bundles.gson
implementation libs.bundles.mariadb
implementation libs.bundles.nlp
annotationProcessor libs.jooby.apt
2023-03-04 12:19:01 +00:00
testImplementation libs.bundles.slf4j.test
testImplementation libs.bundles.junit
testImplementation libs.mockito
testImplementation platform('org.testcontainers:testcontainers-bom:1.17.4')
testImplementation libs.commons.codec
testImplementation 'org.testcontainers:mariadb:1.17.4'
testImplementation 'org.testcontainers:junit-jupiter:1.17.4'
testImplementation project(':code:libraries:test-helpers')
testImplementation dependencies.create(libs.spark.get())
2023-03-04 12:19:01 +00:00
}
task compileTailwind {
def inputFile = file('tailwind/globals.css')
def configFile = file('tailwind/tailwind.config.js')
def outputFile = file('resources/static/css/style.css')
def jteDir = file('resources/jte')
inputs.file inputFile
inputs.file configFile
inputs.files fileTree(jteDir).include('**/*.jte')
outputs.file outputFile
doLast {
exec {
workingDir projectDir
if (System.getProperty('os.name').toLowerCase().contains('windows')) {
commandLine 'cmd', '/c', 'npx', 'tailwindcss',
'-i', inputFile.toString(),
'-o', outputFile.toString(),
'-c', configFile.toString()
} else {
commandLine 'npx', 'tailwindcss',
'-i', inputFile.toString(),
'-o', outputFile.toString(),
'-c', configFile.toString()
}
}
}
}
processResources.dependsOn(compileTailwind)
tasks.register('paperDoll', Test) {
useJUnitPlatform {
includeTags "paperdoll"
}
jvmArgs = [ '-DrunPaperDoll=true', '--enable-preview' ]
}