templated_file.gni 998 B

1234567891011121314151617181920212223242526272829303132333435
  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 = [ invoker.template ]
  17. outputs = [ invoker.output ]
  18. script = "//electron/build/generate-template.py"
  19. args = [
  20. rebase_path(invoker.template),
  21. rebase_path(invoker.output),
  22. ]
  23. if (defined(invoker.values)) {
  24. args += rebase_path(args_path)
  25. }
  26. if (defined(invoker.args_files)) {
  27. args += rebase_path(invoker.args_files)
  28. inputs += invoker.args_files
  29. }
  30. }
  31. }