%YAML 1.2
--- |
  <%!
  import json
  import os
  
  def proto_headers(src):
  	out = []
  	for f in src:
  		name, ext = os.path.splitext(f)
  		if ext == '.proto':
  			out.extend(fmt % name for fmt in ['%s.grpc.pb.h', '%s.pb.h'])
  	return out
  
  def no_protos(src):
  	out = []
  	for f in src:
  		if os.path.splitext(f)[1] != '.proto':
  			out.append(f)
  	return out
  %>
  
  ${json.dumps([{"name": tgt.name,
                 "language": tgt.language,
                 "src": sorted(
                     no_protos(tgt.src) + 
                     tgt.get('public_headers', []) + 
                     tgt.get('headers', [])),
                 "headers": sorted(
                     tgt.get('public_headers', []) + 
                     tgt.get('headers', []) + 
                     proto_headers(tgt.src)),
                 "deps": sorted(tgt.get('deps', []))}
                for tgt in (targets + libs)
                if not tgt.boringssl and not tgt.zlib],
               sort_keys=True, indent=2)}
