plugins {
    id 'application' // Provide convenience executables for trying out the examples.
    id 'java'

    id "com.google.protobuf" version "0.8.17"
    id 'com.google.cloud.tools.jib' version '3.1.4' // For releasing to Docker Hub
}

repositories {
    maven { // The google mirror is less flaky than mavenCentral()
        url "https://maven-central.storage-download.googleapis.com/maven2/" }
    mavenCentral()
    mavenLocal()
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

// IMPORTANT: You probably want the non-SNAPSHOT version of gRPC. Make sure you
// are looking at a tagged version of the example and not "master"!

// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
def grpcVersion = '1.56.1-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.22.3'

dependencies {
    implementation "io.grpc:grpc-protobuf:${grpcVersion}"
    implementation "io.grpc:grpc-stub:${grpcVersion}"
    implementation "io.grpc:grpc-services:${grpcVersion}"
    compileOnly "org.apache.tomcat:annotations-api:6.0.53"
    runtimeOnly "io.grpc:grpc-netty-shaded:${grpcVersion}"

    testImplementation 'junit:junit:4.13.2'
    testImplementation "io.grpc:grpc-testing:${grpcVersion}"
}

protobuf {
  protoc {
    artifact = "com.google.protobuf:protoc:${protobufVersion}"
  }
  plugins {
    grpc {
      artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
    }
  }
  generateProtoTasks {
    all()*.plugins {
      grpc {}
    }
  }
}

applicationName = 'hostname-server'
mainClassName = 'io.grpc.examples.hostname.HostnameServer'

// For releasing to Docker Hub
jib {
  from.image = "gcr.io/distroless/java:8"
  container.ports = ['50051']
  outputPaths {
    tar = 'build/example-hostname.tar'
    digest = 'build/example-hostname.digest'
    imageId = 'build/example-hostname.id'
  }
}
