proto_prepare.jinja 957 B

1234567891011121314151617181920212223242526272829303132
  1. {#- empty string #}
  2. val prepareMainProtos = tasks.register<Copy>("prepareMainProtos") {
  3. from("$project_root") {
  4. {#- list of all current project proto files -#}
  5. {%- for proto in target.proto_files %}
  6. include("{{ proto }}")
  7. {%- endfor %}
  8. }
  9. into(mainProtosDir)
  10. }
  11. {% if libraries|length -%}
  12. val extractMainLibrariesProtos = tasks.register<Copy>("extractMainLibrariesProtos") {
  13. from("$project_root") {
  14. {#- list of all library directories -#}
  15. {%- for library in libraries -%}
  16. {%- set path_and_jar = rsplit(library.jar, '/', 2) %}
  17. include("{{ path_and_jar[0] }}/**/*.proto")
  18. {%- endfor %}
  19. }
  20. into(mainExtractedIncludeProtosDir)
  21. }
  22. {% endif -%}
  23. afterEvaluate {
  24. tasks.getByName("extractProto").dependsOn(prepareMainProtos)
  25. {%- if libraries|length %}
  26. tasks.getByName("extractProto").dependsOn(extractMainLibrariesProtos)
  27. {%- endif %}
  28. }
  29. tasks.getByName("sourcesJar").dependsOn("generateProto")