MarginaliaSearch/build.gradle
2024-04-16 15:25:23 +02:00

73 lines
2.3 KiB
Groovy

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"
// This is a workaround for a bug in the Jib plugin that causes it to stall randomly
// https://github.com/GoogleContainerTools/jib/issues/3347
id 'com.google.cloud.tools.jib' version '3.4.2' apply(false)
}
group 'marginalia'
version 'SNAPSHOT'
compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"
subprojects.forEach {it ->
// Enable preview features for the entire project
if (it.path.contains(':code:')) {
sourceSets.main.java.srcDirs += file('java')
sourceSets.main.resources.srcDirs += file('resources')
sourceSets.test.java.srcDirs += file('test')
sourceSets.test.resources.srcDirs += file('test-resources')
}
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']
}
// Enable reproducible builds for the entire project
it.tasks.withType(AbstractArchiveTask).configureEach {
preserveFileTimestamps = false
reproducibleFileOrder = true
}
}
ext {
dockerImageBase='container-registry.oracle.com/graalvm/jdk:22@sha256:22d2ca0d4fb378f50306ec2fda3178cce4523c4fe64e869108571c3c6e7026c8\n'
dockerImageTag='latest'
dockerImageRegistry='marginalia'
}
idea {
module {
// 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/node-1"))
excludeDirs.add(file("$projectDir/run/node-2"))
excludeDirs.add(file("$projectDir/run/model"))
excludeDirs.add(file("$projectDir/run/dist"))
excludeDirs.add(file("$projectDir/run/db"))
excludeDirs.add(file("$projectDir/run/logs"))
excludeDirs.add(file("$projectDir/run/data"))
excludeDirs.add(file("$projectDir/run/conf"))
excludeDirs.add(file("$projectDir/run/test-data"))
}
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(22))
}
}