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() }