blob: e1cc92b9fb3a370886b7f41276203083f561f529 [file] [log] [blame]
#!/usr/bin/env python
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import sys
import package_version_interval
if len(sys.argv) < 3:
print ('Usage: %s output_deps_file input1_deps_file input2_deps_file ...' %
sys.argv[0])
sys.exit(1)
output_filename = sys.argv[1]
input_filenames = sys.argv[2:]
package_interval_sets = []
for input_filename in input_filenames:
for line in open(input_filename):
# Ignore blank lines
if not line.strip():
continue
# Allow comments starting with '#'
if line.startswith('#'):
continue
line = line.rstrip('\n')
interval_set = package_version_interval.parse_interval_set(line)
should_append_interval_set = True
for i in range(len(package_interval_sets)):
if package_interval_sets[i].implies(interval_set):
should_append_interval_set = False
break
if interval_set.implies(package_interval_sets[i]):
should_append_interval_set = False
package_interval_sets[i] = interval_set
break
if should_append_interval_set:
package_interval_sets.append(interval_set)
with open(output_filename, 'w') as output_file:
lines = [interval_set.formatted() + '\n'
for interval_set in package_interval_sets]
output_file.write(''.join(sorted(lines)))