16e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#!/usr/bin/python 26e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved. 36e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 46e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)# found in the LICENSE file. 56e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 66e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)import argparse 76e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)import os 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)import sys 96e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 106e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) 126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)import processor 136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 146e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 156e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)def GetInputs(args): 166e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) parser = argparse.ArgumentParser() 176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) parser.add_argument("sources", nargs=argparse.ONE_OR_MORE) 186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) parser.add_argument("-d", "--depends", nargs=argparse.ZERO_OR_MORE, 196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) default=[]) 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) parser.add_argument("-e", "--externs", nargs=argparse.ZERO_OR_MORE, 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) default=[]) 226e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) opts = parser.parse_args(args) 236e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 246e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) files = set() 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) for file in opts.sources + opts.depends + opts.externs: 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) files.add(file) 276e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) files.update(processor.Processor(file).included_files) 286e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 296e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) return files 306e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)if __name__ == "__main__": 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) print "\n".join(GetInputs(sys.argv[1:])) 34