build.gradle 3.27 KB
Newer Older
Michele Fiori's avatar
Michele Fiori 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
plugins {
    id "com.google.protobuf" version "0.8.10" // for GRPC
    id "java"
    id "war" // for REST
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'

    // GRPC Dependencies
    // https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java
    compile group: 'com.google.protobuf', name: 'protobuf-java', version: '3.13.0'

    // https://mvnrepository.com/artifact/io.grpc/grpc-all
    compile group: 'io.grpc', name: 'grpc-all', version: '1.25.0'

    implementation 'javax.annotation:javax.annotation-api:1.3.2'

    compile 'com.google.code.gson:gson:2.7'

    // REST Dependencies
    // https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl
    compile group: 'org.codehaus.jackson', name: 'jackson-core-asl', version: '1.9.2'
    // https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-jaxrs
    compile group: 'org.codehaus.jackson', name: 'jackson-jaxrs', version: '1.9.2'
    // https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl
    compile group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.2'
    // https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-xc
    compile group: 'org.codehaus.jackson', name: 'jackson-xc', version: '1.9.2'
    // https://mvnrepository.com/artifact/com.sun.jersey/jersey-client
    compile group: 'com.sun.jersey', name: 'jersey-client', version: '1.19.1'
    // https://mvnrepository.com/artifact/com.sun.jersey/jersey-core
    compile group: 'com.sun.jersey', name: 'jersey-core', version: '1.19.1'
    // https://mvnrepository.com/artifact/com.sun.jersey/jersey-json
    compile group: 'com.sun.jersey', name: 'jersey-json', version: '1.19.1'
    // https://mvnrepository.com/artifact/com.sun.jersey/jersey-server
    compile group: 'com.sun.jersey', name: 'jersey-server', version: '1.19.1'
    // https://mvnrepository.com/artifact/com.sun.jersey/jersey-servlet
    compile group: 'com.sun.jersey', name: 'jersey-servlet', version: '1.19.1'
    // https://mvnrepository.com/artifact/org.codehaus.jettison/jettison
    compile group: 'org.codehaus.jettison', name: 'jettison', version: '1.1'
    // https://mvnrepository.com/artifact/javax.ws.rs/jsr311-api
    compile group: 'javax.ws.rs', name: 'jsr311-api', version: '1.1.1'
    // https://mvnrepository.com/artifact/com.sun.jersey/jersey-server
    compile group: 'com.sun.jersey', name: 'jersey-server', version: '1.2'



    // MQTT Dependencies
    // https://mvnrepository.com/artifact/org.eclipse.paho/org.eclipse.paho.client.mqttv3
    compile group: 'org.eclipse.paho', name: 'org.eclipse.paho.client.mqttv3', version: '1.2.5'
}


// GRPC
sourceSets {
    main {
        java {
            srcDirs 'build/generated/source/proto/main/grpc'
            srcDirs 'build/generated/source/proto/main/java'
        }
    }
}

protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:3.13.0:osx-x86_64'
    }

    plugins {
        grpc {
            artifact = 'io.grpc:protoc-gen-grpc-java:1.25.0:osx-x86_64'
        }
    }

    generateProtoTasks {
        all()*.plugins {
            grpc {}
        }
    }
}


test {
    useJUnitPlatform()
}