plugins { id 'application' id 'distribution' id 'org.jetbrains.kotlin.jvm' version '1.3.71' id 'com.gitlab.morality.grit' version '2.0.2' id 'org.jlleitschuh.gradle.ktlint' version '9.2.1' } group 'org.memobase' mainClassName = 'org.memobase.App' jar { manifest { attributes 'Main-Class': 'org.memobase.App' } } sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { mavenCentral() maven { url "https://gitlab.switch.ch/api/v4/projects/1324/packages/maven" } } ext { kafkaV = '2.7.0' log4jV = '2.11.2' } dependencies { implementation 'org.memobase:memobase-service-utilities:3.0.1' implementation group: 'org.apache.kafka', name: 'kafka-clients', version: kafkaV // JSON Parser implementation 'com.beust:klaxon:5.5' // Logging Framework implementation "org.apache.logging.log4j:log4j-core:${log4jV}" implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' implementation "org.jetbrains.kotlin:kotlin-script-runtime:1.3.71" implementation "org.jetbrains.kotlin:kotlin-reflect:1.3.71" testCompile("org.junit.jupiter:junit-jupiter:5.4.2") testImplementation 'org.assertj:assertj-core:3.15.0' } compileKotlin { kotlinOptions.jvmTarget = "1.8" } compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } test { useJUnitPlatform() testLogging { events "passed", "skipped", "failed" } } sourceSets { main.kotlin.srcDirs += 'src/main/kotlin' main.resources.srcDirs = [ "src/main/resources" ] main.resources.includes = [ "**/*.yml", "**/*.xml", "**/*.tsv", "**/*.csv"] test.kotlin.srcDirs += 'src/test/kotlin' test.resources.srcDirs = [ "src/test/resources" ] test.resources.includes = [ "**/*.yml", "**/*.xml", "**/*.tsv", "**/*.csv"] } plugins.withType(DistributionPlugin) { distTar { archiveFileName = 'app.tar' } }