build.gradle 3.24 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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://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 files("/home/jonas/Documents/work/membase/utilities/service-utilities/build/repo/org/memobase/memobase-service-utilities/1.0.0/memobase-service-utilities-1.0.0.jar")


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

    implementation 'org.apache.jena:jena:3.14.0'

    // https://mvnrepository.com/artifact/org.apache.kafka/kafka-streams-test-utils
    //testCompile group: 'org.apache.kafka', name: 'kafka-streams-test-utils', version: kafkaV

    // SFTP Client
    implementation 'com.hierynomus:sshj:0.27.0'
    // YAML Parser
    implementation 'org.snakeyaml:snakeyaml-engine:2.1'
    // CSV Reader
    implementation("com.github.doyaaaaaken:kotlin-csv-jvm:0.7.3")
    // JSON Parser
    implementation 'com.beust:klaxon:5.2'
    // Compression
    //implementation "org.apache.commons:commons-compress:1.19"

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

    // https://mvnrepository.com/artifact/org.apache.kafka/kafka-streams-test-utils
    testCompile group: 'org.apache.kafka', name: 'kafka-streams-test-utils', version: kafkaV
    testImplementation "org.apache.kafka:kafka-clients:$kafkaV:test"
    testImplementation "org.apache.kafka:kafka_2.11:$kafkaV"
    testImplementation "org.apache.kafka:kafka_2.11:$kafkaV:test"
}

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