CatgirlIntelligenceAgency/build.gradle

108 lines
3.0 KiB
Groovy
Raw Normal View History

2022-05-19 17:45:26 +02:00
plugins {
id 'java'
id("org.jetbrains.gradle.plugin.idea-ext") version "1.0"
id "io.freefair.lombok" version "8.3"
id "me.champeau.jmh" version "0.6.6"
2022-05-19 17:45:26 +02:00
}
2023-03-04 13:19:01 +01:00
group 'marginalia'
2022-05-19 17:45:26 +02:00
version 'SNAPSHOT'
2023-03-04 13:19:01 +01:00
2022-05-19 17:45:26 +02:00
compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"
// Enable preview features for the entire project
subprojects.forEach {it ->
it.tasks.withType(JavaCompile).configureEach {
options.compilerArgs += ['--enable-preview']
}
it.tasks.withType(JavaExec).configureEach {
jvmArgs += ['--enable-preview']
}
it.tasks.withType(Test).configureEach {
jvmArgs += ['--enable-preview']
}
}
allprojects {
apply plugin: 'java'
apply plugin: 'io.freefair.lombok'
dependencies {
implementation libs.lombok
testImplementation libs.lombok
annotationProcessor libs.lombok
lombok libs.lombok // prevent plugin from downgrading the version to something incompatible with '19
}
test {
maxHeapSize = "8G"
useJUnitPlatform()
}
tasks.register('fastTests', Test) {
maxHeapSize = "8G"
useJUnitPlatform {
excludeTags "slow"
}
}
}
tasks.register('dist', Copy) {
2023-03-04 13:19:01 +01:00
from subprojects.collect { it.tasks.withType(Tar) }
into "$buildDir/dist"
2022-05-19 17:45:26 +02:00
2023-08-25 16:40:53 +02:00
// For local development, each processes that are to be triggerable
// from the control-service need to go here to end up somewhere the
// control-service can find them
doLast {
copy {
from tarTree("$buildDir/dist/converter-process.tar")
into "$projectDir/run/dist/"
}
copy {
from tarTree("$buildDir/dist/crawler-process.tar")
into "$projectDir/run/dist/"
}
copy {
from tarTree("$buildDir/dist/loader-process.tar")
into "$projectDir/run/dist/"
}
copy {
from tarTree("$buildDir/dist/website-adjacencies-calculator.tar")
into "$projectDir/run/dist/"
}
copy {
from tarTree("$buildDir/dist/index-construction-process.tar")
into "$projectDir/run/dist/"
}
}
}
idea {
module {
2023-08-25 16:40:53 +02:00
// Exclude these directories from being indexed by IntelliJ
// as they tend to bring the IDE to its knees and use up all
// Inotify spots in a hurry
excludeDirs.add(file("$projectDir/run/backup"))
excludeDirs.add(file("$projectDir/run/model"))
excludeDirs.add(file("$projectDir/run/dist"))
excludeDirs.add(file("$projectDir/run/samples"))
excludeDirs.add(file("$projectDir/run/db"))
excludeDirs.add(file("$projectDir/run/logs"))
excludeDirs.add(file("$projectDir/run/install"))
excludeDirs.add(file("$projectDir/run/data"))
excludeDirs.add(file("$projectDir/run/conf"))
excludeDirs.add(file("$projectDir/run/vol"))
excludeDirs.add(file("$projectDir/run/test-data"))
}
}
2022-05-19 17:45:26 +02:00
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
2022-05-19 17:45:26 +02:00
}
}