summaryrefslogtreecommitdiff
path: root/javaSE/build.gradle
blob: 9e9b5596ac09fe27da71267ca3e0c3ed9ada033f (plain)
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
apply plugin: 'java-library'

group 'com.smartdevicelink'
version new File(projectDir.path, ('/../VERSION')).text.trim()

sourceCompatibility = 1.7


buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
    }
}

repositories {
    google()
    jcenter()
}

// This extraLibs solution is explained here: https://discuss.gradle.org/t/how-to-include-dependencies-in-jar/19571/5
configurations {
    // configuration that holds jars to include in the jar
    extraLibs
}

dependencies {
    extraLibs fileTree(dir: 'libs', include: ['*.jar'])
    extraLibs 'org.mongodb:bson:3.10.1'
    extraLibs 'androidx.annotation:annotation:1.0.0'
    extraLibs 'org.java-websocket:Java-WebSocket:1.3.9'
    extraLibs 'com.livio.taskmaster:taskmaster:0.3.0'
    configurations.api.extendsFrom(configurations.extraLibs)
}

sourceSets {
    main.java.srcDirs += '../base/src/main/java'
}

jar {
    dependsOn 'generateSources'
    from {
        configurations.extraLibs.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

task generateSources {
    outputs.upToDateWhen { false }
    File outputDir = file("$buildDir/../src/main/java/com/smartdevicelink/")
    outputs.dir outputDir
    doFirst {
        println "Generating BuildConfig.java ..."
        def srcFile = new File(outputDir, "BuildConfig.java")
        srcFile.parentFile.mkdirs()
        File license = new File("$buildDir/../../LICENSE")
        if (license.exists()) {
            srcFile.write("/*\n")
            def lines = license.readLines()
            for (line in lines) {
                srcFile.append("* ")
                srcFile.append(line)
                srcFile.append("\n")
            }
            srcFile.append("*/\n")
        }else{
            srcFile.write("\n")
        }
        srcFile.append(
"""package com.smartdevicelink;

// THIS FILE IS AUTO GENERATED, DO NOT MODIFY!!
public final class BuildConfig {
    public static final String VERSION_NAME = "$project.version";
}""")
    }
}

apply from: 'bintray.gradle'