build.gradle 2.28 KB
Newer Older
Jonas Waeber's avatar
Jonas Waeber committed
1
2
3
plugins {
    id 'application'
    id 'distribution'
Jonas Waeber's avatar
Jonas Waeber committed
4
    id 'org.jetbrains.kotlin.jvm' version '1.3.71'
Jonas Waeber's avatar
Jonas Waeber committed
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
    id 'com.palantir.git-version' version '0.11.0'
}

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://gitlab.com/api/v4/projects/11507450/packages/maven' }
    maven { url 'https://jitpack.io' }
}

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

dependencies {
    // https://mvnrepository.com/artifact/org.elasticsearch.client/elasticsearch-rest-high-level-client
    //compile group: 'org.elasticsearch.client', name: 'elasticsearch-rest-high-level-client', version: '7.1.0'

    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}"

Jonas Waeber's avatar
Jonas Waeber committed
40
41
42
    //implementation "org.apache.kafka:kafka-streams:${kafkaV}"
    implementation "org.apache.commons:commons-compress:1.19"
    compile group: 'org.apache.kafka', name: 'kafka-clients', version: kafkaV
Jonas Waeber's avatar
Jonas Waeber committed
43
44

    // https://mvnrepository.com/artifact/org.apache.kafka/kafka-streams-test-utils
Jonas Waeber's avatar
Jonas Waeber committed
45
    //testCompile group: 'org.apache.kafka', name: 'kafka-streams-test-utils', version: kafkaV
Jonas Waeber's avatar
Jonas Waeber committed
46

Jonas Waeber's avatar
Jonas Waeber committed
47
48
49
50
    // SFTP Client
    implementation 'com.hierynomus:sshj:0.27.0'
    // YAML Parser
    implementation 'org.snakeyaml:snakeyaml-engine:2.1'
Jonas Waeber's avatar
Jonas Waeber committed
51
52

    compile 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
Jonas Waeber's avatar
Jonas Waeber committed
53
54
55
    compile "org.jetbrains.kotlin:kotlin-script-runtime:1.3.71"
    compile "org.jetbrains.kotlin:kotlin-reflect:1.3.71"
    //compile 'com.beust:klaxon:5.0.5'
Jonas Waeber's avatar
Jonas Waeber committed
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
    testCompile("org.junit.jupiter:junit-jupiter:5.4.2")
}

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" ]
Jonas Waeber's avatar
Jonas Waeber committed
77
    main.resources.includes = [ "**/*.yml", "**/*.xml"]
Jonas Waeber's avatar
Jonas Waeber committed
78
79
80
81
82
83
84
85
86
    test.kotlin.srcDirs += 'src/test'
}

plugins.withType(DistributionPlugin) {
    distTar {
        archiveFileName = 'app.tar'
    }
}