plugins { id 'application' id 'distribution' id 'org.jetbrains.kotlin.jvm' version '1.3.71' id 'com.palantir.git-version' version '0.11.0' id 'org.jlleitschuh.gradle.ktlint' version '9.2.1' } group 'org.memobase' version = gitVersion() mainClassName = 'org.memobase.App' jar { manifest { attributes 'Main-Class': 'org.memobase.App' } } sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { jcenter() maven { url "https://dl.bintray.com/memoriav/memobase" } } ext { kafkaV = '2.3.1' log4jV = '2.11.2' } dependencies { implementation 'ch.memobase:memobase-kafka-utils:0.2.3' implementation 'org.memobase:memobase-service-utilities:1.12.2' implementation 'ch.memobase:mapper-service-configuration:0.3.4' // Logging Framework implementation "org.apache.logging.log4j:log4j-api:${log4jV}" implementation "org.apache.logging.log4j:log4j-core:${log4jV}" // Kafka Imports //implementation group: 'org.apache.kafka', name: 'kafka-clients', version: kafkaV implementation "org.apache.kafka:kafka-streams:${kafkaV}" // YAML Parser implementation 'org.snakeyaml:snakeyaml-engine:2.1' implementation 'org.apache.jena:apache-jena:3.14.0' // JSON Parser implementation 'com.beust:klaxon:5.2' 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' // https://mvnrepository.com/artifact/org.apache.kafka/kafka-streams-test-utils testCompile group: 'org.apache.kafka', name: 'kafka-streams-test-utils', version: kafkaV } 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"] test.kotlin.srcDirs += 'src/test/kotlin' test.resources.srcDirs = [ "src/test/resources" ] test.resources.includes = [ "**/*.yml", "**/*.xml"] } plugins.withType(DistributionPlugin) { distTar { archiveFileName = 'app.tar' } }