build.gradle 2.56 KB
Newer Older
Jonas Waeber's avatar
Jonas Waeber committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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()
Jonas Waeber's avatar
Jonas Waeber committed
24
    maven {
Jonas Waeber's avatar
Jonas Waeber committed
25
        url  "https://dl.bintray.com/memoriav/memobase"
Jonas Waeber's avatar
Jonas Waeber committed
26
    }
Jonas Waeber's avatar
Jonas Waeber committed
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
}

ext {
    kafkaV = '2.3.1'
    log4jV = '2.11.2'
}

dependencies {
    // Logging Framework
    implementation "org.apache.logging.log4j:log4j-api:${log4jV}"
    implementation "org.apache.logging.log4j:log4j-core:${log4jV}"
    implementation "org.apache.logging.log4j:log4j-slf4j-impl:${log4jV}"

    // Kafka Imports
    implementation group: 'org.apache.kafka', name: 'kafka-clients', version: kafkaV
    implementation "org.apache.kafka:kafka-streams:${kafkaV}"

Sebastian Schüpbach's avatar
Sebastian Schüpbach committed
44
    implementation 'org.memobase:memobase-service-utilities:1.12.2'
45
    implementation 'ch.memobase:import-process-effects-registry_2.12:0.2.1'
Jonas Waeber's avatar
Jonas Waeber committed
46
47
    // CSV Reader
    implementation("com.github.doyaaaaaken:kotlin-csv-jvm:0.7.3")
48
49
    // XSLX / XSL Reader
    implementation 'org.apache.poi:poi:4.1.2'
Jonas Waeber's avatar
Jonas Waeber committed
50
    implementation 'org.apache.poi:poi-ooxml:4.1.2'
51
52
53
    // ODS Reader
    implementation 'org.odftoolkit:odftoolkit:1.0.0-BETA1'

Jonas Waeber's avatar
Jonas Waeber committed
54
55
56
    // JSON Parser
    implementation 'com.beust:klaxon:5.2'

Jonas Waeber's avatar
Jonas Waeber committed
57
58
59
    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"
Jonas Waeber's avatar
Jonas Waeber committed
60
61

    testCompile("org.junit.jupiter:junit-jupiter:5.4.2")
62
    testImplementation 'org.assertj:assertj-core:3.15.0'
Jonas Waeber's avatar
Jonas Waeber committed
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

    // 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"]
Jonas Waeber's avatar
Jonas Waeber committed
87
88
89
    test.kotlin.srcDirs += 'src/test/kotlin'
    test.resources.srcDirs = [ "src/test/resources" ]
    test.resources.includes = [ "**/*.yml", "**/*.xml"]
Jonas Waeber's avatar
Jonas Waeber committed
90
91
92
93
94
95
}

plugins.withType(DistributionPlugin) {
    distTar {
        archiveFileName = 'app.tar'
    }
Sebastian Schüpbach's avatar
Sebastian Schüpbach committed
96
}