plugins { // ASSUMES GRADLE 5.6 OR HIGHER. Use plugin version 0.8.10 with earlier gradle versions id 'com.google.protobuf' version '0.8.17' // Generate IntelliJ IDEA's .idea & .iml project files id 'idea' id 'war' } repositories { maven { // The google mirror is less flaky than mavenCentral() url "https://maven-central.storage-download.googleapis.com/maven2/" } mavenLocal() } sourceCompatibility = 1.8 targetCompatibility = 1.8 def grpcVersion = '1.56.1-SNAPSHOT' // CURRENT_GRPC_VERSION def protocVersion = '3.22.3' dependencies { implementation "io.grpc:grpc-protobuf:${grpcVersion}", "io.grpc:grpc-servlet:${grpcVersion}", "io.grpc:grpc-stub:${grpcVersion}" compileOnly "javax.servlet:javax.servlet-api:4.0.1", "org.apache.tomcat:annotations-api:6.0.53" } protobuf { protoc { artifact = "com.google.protobuf:protoc:${protocVersion}" } plugins { grpc { artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}" } } generateProtoTasks { all()*.plugins { grpc {} } } } // Inform IDEs like IntelliJ IDEA, Eclipse or NetBeans about the generated code. sourceSets { main { java { srcDirs 'build/generated/source/proto/main/grpc' srcDirs 'build/generated/source/proto/main/java' } } }