xref: /aosp_15_r20/external/cronet/build/android/gyp/validate_inputs.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker#!/usr/bin/env python3
2*6777b538SAndroid Build Coastguard Worker#
3*6777b538SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors
4*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
5*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
6*6777b538SAndroid Build Coastguard Worker"""Ensures inputs exist and writes a stamp file."""
7*6777b538SAndroid Build Coastguard Worker
8*6777b538SAndroid Build Coastguard Workerimport argparse
9*6777b538SAndroid Build Coastguard Workerimport pathlib
10*6777b538SAndroid Build Coastguard Workerimport sys
11*6777b538SAndroid Build Coastguard Worker
12*6777b538SAndroid Build Coastguard Worker
13*6777b538SAndroid Build Coastguard Workerdef main():
14*6777b538SAndroid Build Coastguard Worker  parser = argparse.ArgumentParser()
15*6777b538SAndroid Build Coastguard Worker  parser.add_argument('--stamp', help='Path to touch on success.')
16*6777b538SAndroid Build Coastguard Worker  parser.add_argument('inputs', nargs='+', help='Files to check.')
17*6777b538SAndroid Build Coastguard Worker
18*6777b538SAndroid Build Coastguard Worker  args = parser.parse_args()
19*6777b538SAndroid Build Coastguard Worker
20*6777b538SAndroid Build Coastguard Worker  for path in args.inputs:
21*6777b538SAndroid Build Coastguard Worker    path_obj = pathlib.Path(path)
22*6777b538SAndroid Build Coastguard Worker    if not path_obj.is_file():
23*6777b538SAndroid Build Coastguard Worker      if not path_obj.exists():
24*6777b538SAndroid Build Coastguard Worker        sys.stderr.write(f'File not found: {path}\n')
25*6777b538SAndroid Build Coastguard Worker      else:
26*6777b538SAndroid Build Coastguard Worker        sys.stderr.write(f'Not a file: {path}\n')
27*6777b538SAndroid Build Coastguard Worker      sys.exit(1)
28*6777b538SAndroid Build Coastguard Worker
29*6777b538SAndroid Build Coastguard Worker  if args.stamp:
30*6777b538SAndroid Build Coastguard Worker    pathlib.Path(args.stamp).touch()
31*6777b538SAndroid Build Coastguard Worker
32*6777b538SAndroid Build Coastguard Worker
33*6777b538SAndroid Build Coastguard Workerif __name__ == '__main__':
34*6777b538SAndroid Build Coastguard Worker  main()
35