plugins { id 'org.springframework.boot' version '2.7.18' id 'io.spring.dependency-management' version '1.1.4' id 'java' } java { group = 'eu.openaire.urls_worker' version = '2.1.9-SNAPSHOT' sourceCompatibility = JavaVersion.VERSION_1_8 } repositories { mavenCentral() maven { name "d4science" url "https://maven.d4science.org/nexus/content/repositories/dnet45-snapshots/" } // Enable the following, in case you want to test temporal-jars. /*flatDir { dirs 'libs' }*/ } dependencies { runtimeOnly "org.springframework.boot:spring-boot-devtools" implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-configuration-processor") implementation("org.springframework.security:spring-security-core") implementation("org.springframework.security:spring-security-web") implementation("org.springframework.security:spring-security-config") //implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5' // Use this in case we use auth-tokens later on. // Enable the validation annotations. //implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: '3.0.2' implementation ("eu.openaire:publications_retriever:1.2-SNAPSHOT") { exclude group: 'ch.qos.logback', module: 'logback-core' exclude group: 'ch.qos.logback', module: 'logback-classic' exclude group: 'org.slf4j', module: 'slf4j-api' exclude group: 'io.minio' // This is not used in the Worker, since it's the Controller which uploads the full-texts to S3. It also includes an older "commons-compress" version which causes problems. } implementation group: 'com.google.guava', name: 'guava', version: '33.1.0-jre' // https://mvnrepository.com/artifact/com.google.code.gson/gson implementation 'com.google.code.gson:gson:2.10.1' implementation("org.apache.commons:commons-compress:1.26.1") { exclude group: 'com.github.luben', module: 'zstd-jni' } implementation 'com.github.luben:zstd-jni:1.5.6-3' // Even though this is part of the above dependency, the Apache commons rarely updates it, while the zstd team makes improvements very often. // Also, for compressing, we strangely need it to be explicitly declared independently, otherwise it does not work. testImplementation 'org.springframework.security:spring-security-test' testImplementation "org.springframework.boot:spring-boot-starter-test" } configurations { // Eliminates logback from other dependencies. all*.exclude group: 'ch.qos.logback' } // Set increased lower and upper limits for the java-execution. tasks.withType(JavaExec).configureEach { jvmArgs = ['-Xms512m', '-Xmx8g'] } test { useJUnitPlatform() }