protobuf.jinja 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. {#- empty string #}
  2. protobuf {
  3. generatedFilesBaseDir = "$buildDir/generated/sources/proto"
  4. protoc {
  5. // Download from repositories
  6. artifact = "com.google.protobuf:protoc:{%- if target.proto_compiler_version -%}{{ target.proto_compiler_version }}{%- else -%}3.22.5{%- endif -%}"
  7. }
  8. {%- if target.proto_grpc %}
  9. plugins {
  10. id("grpc") {
  11. artifact = "io.grpc:protoc-gen-grpc-java:{%- if target.proto_grpc_version -%}{{ target.proto_grpc_version }}{%- else -%}1.45.0{%- endif -%}"
  12. }
  13. {%- if target.proto_kotlin_grpc %}
  14. id("grpckt") {
  15. artifact = "io.grpc:protoc-gen-grpc-kotlin:{%- if target.proto_kotlin_grpc_version -%}{{ target.proto_kotlin_grpc_version }}{%- else -%}1.3.1{%- endif -%}:jdk8@jar"
  16. }
  17. {%- endif %}
  18. }
  19. generateProtoTasks {
  20. all().forEach {
  21. it.plugins {
  22. id("grpc")
  23. {%- if target.proto_kotlin_grpc %}
  24. id("grpckt")
  25. {%- endif %}
  26. }
  27. {%- if target.proto_kotlin_grpc %}
  28. it.builtins {
  29. create("kotlin")
  30. }
  31. {%- endif %}
  32. }
  33. }
  34. {%- endif %}
  35. }