plugins { id 'java' id 'application' id 'jvm-test-suite' id 'com.google.cloud.tools.jib' version '3.4.2' } application { mainClass = 'nu.marginalia.executor.ExecutorMain' applicationName = 'executor-service' } tasks.distZip.enabled = false java { toolchain { languageVersion.set(JavaLanguageVersion.of(rootProject.ext.jvmVersion)) } } apply from: "$rootProject.projectDir/srcsets.gradle" apply from: "$rootProject.projectDir/docker.gradle" dependencies { // These look weird but they're needed to be able to spawn the processes // from the executor service implementation project(':code:processes:website-adjacencies-calculator') implementation project(':code:processes:crawling-process') implementation project(':code:processes:loading-process') implementation project(':code:processes:converting-process') implementation project(':code:processes:index-constructor-process') implementation project(':code:common:config') implementation project(':code:common:model') implementation project(':code:common:process') implementation project(':code:common:db') implementation project(':code:common:linkdb') implementation project(':code:common:service') implementation project(':third-party:commons-codec') implementation project(':code:libraries:message-queue') implementation project(':code:functions:link-graph:api') implementation project(':code:processes:crawling-process:model') implementation project(':code:processes:crawling-process:model') implementation project(':code:processes:crawling-process:ft-link-parser') implementation project(':code:execution:data-extractors') implementation project(':code:index:index-journal') implementation project(':code:index:api') implementation project(':code:processes:process-mq-api') implementation project(':code:execution') implementation project(':code:execution:api') implementation project(':third-party:encyclopedia-marginalia-nu') implementation libs.bundles.slf4j implementation dependencies.create(libs.spark.get()) { exclude group: 'org.eclipse.jetty' } implementation libs.bundles.jetty implementation libs.guava libs.bundles.grpc.get().each { implementation dependencies.create(it) { exclude group: 'com.google.guava' } } implementation libs.gson implementation libs.prometheus implementation libs.notnull implementation libs.guava implementation dependencies.create(libs.guice.get()) { exclude group: 'com.google.guava' } implementation libs.trove implementation libs.zstd implementation libs.jsoup implementation libs.commons.io implementation libs.commons.compress implementation libs.commons.lang3 implementation libs.bundles.mariadb testImplementation libs.bundles.slf4j.test testImplementation libs.bundles.junit testImplementation libs.mockito testImplementation platform('org.testcontainers:testcontainers-bom:1.17.4') testImplementation 'org.testcontainers:mariadb:1.17.4' testImplementation 'org.testcontainers:junit-jupiter:1.17.4' testImplementation project(':code:libraries:test-helpers') }