templated_file.gni 1020 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. template("templated_file") {
  2. assert(defined(invoker.template), "Need template file to run")
  3. assert(defined(invoker.output), "Need output file to run")
  4. if (defined(invoker.values)) {
  5. args_path = "$target_gen_dir/$target_name.args"
  6. write_file(args_path, invoker.values, "json")
  7. }
  8. action(target_name) {
  9. forward_variables_from(invoker,
  10. [
  11. "deps",
  12. "public_deps",
  13. "inputs",
  14. "outputs",
  15. ])
  16. inputs = [
  17. invoker.template,
  18. ]
  19. outputs = [
  20. invoker.output,
  21. ]
  22. script = "//electron/build/generate-template.py"
  23. args = [
  24. rebase_path(invoker.template),
  25. rebase_path(invoker.output),
  26. ]
  27. if (defined(invoker.values)) {
  28. args += rebase_path(args_path)
  29. }
  30. if (defined(invoker.args_files)) {
  31. args += rebase_path(invoker.args_files)
  32. inputs += invoker.args_files
  33. }
  34. }
  35. }