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

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

repositories {
    mavenCentral()
    mavenLocal()
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_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.74.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.25.5'

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}"
    testImplementation "io.grpc:grpc-inprocess:${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/java17-debian12"
  container.ports = ['50051']
  outputPaths {
    tar = 'build/example-hostname.tar'
    digest = 'build/example-hostname.digest'
    imageId = 'build/example-hostname.id'
  }
}
