xref: /aosp_15_r20/external/angle/build/ios/presubmit_support.py (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors
2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
4*8975f5c5SAndroid Build Coastguard Worker"""Presubmit helpers for ios
5*8975f5c5SAndroid Build Coastguard Worker
6*8975f5c5SAndroid Build Coastguard WorkerSee https://www.chromium.org/developers/how-tos/depottools/presubmit-scripts
7*8975f5c5SAndroid Build Coastguard Workerfor more details about the presubmit API built into depot_tools.
8*8975f5c5SAndroid Build Coastguard Worker"""
9*8975f5c5SAndroid Build Coastguard Worker
10*8975f5c5SAndroid Build Coastguard Workerfrom . import update_bundle_filelist
11*8975f5c5SAndroid Build Coastguard Worker
12*8975f5c5SAndroid Build Coastguard Worker
13*8975f5c5SAndroid Build Coastguard Workerdef CheckBundleData(input_api, output_api, base, globroot='//'):
14*8975f5c5SAndroid Build Coastguard Worker  root = input_api.change.RepositoryRoot()
15*8975f5c5SAndroid Build Coastguard Worker  filelist = input_api.os_path.join(input_api.PresubmitLocalPath(),
16*8975f5c5SAndroid Build Coastguard Worker                                    base + '.filelist')
17*8975f5c5SAndroid Build Coastguard Worker  globlist = input_api.os_path.join(input_api.PresubmitLocalPath(),
18*8975f5c5SAndroid Build Coastguard Worker                                    base + '.globlist')
19*8975f5c5SAndroid Build Coastguard Worker  if globroot.startswith('//'):
20*8975f5c5SAndroid Build Coastguard Worker    globroot = input_api.os_path.join(input_api.change.RepositoryRoot(),
21*8975f5c5SAndroid Build Coastguard Worker                                      globroot[2:])
22*8975f5c5SAndroid Build Coastguard Worker  else:
23*8975f5c5SAndroid Build Coastguard Worker    globroot = input_api.os_path.join(input_api.PresubmitLocalPath(), globroot)
24*8975f5c5SAndroid Build Coastguard Worker  if update_bundle_filelist.process_filelist(filelist,
25*8975f5c5SAndroid Build Coastguard Worker                                             globlist,
26*8975f5c5SAndroid Build Coastguard Worker                                             globroot,
27*8975f5c5SAndroid Build Coastguard Worker                                             check=True,
28*8975f5c5SAndroid Build Coastguard Worker                                             verbose=input_api.verbose) == 0:
29*8975f5c5SAndroid Build Coastguard Worker    return []
30*8975f5c5SAndroid Build Coastguard Worker  else:
31*8975f5c5SAndroid Build Coastguard Worker    script = input_api.os_path.join(input_api.change.RepositoryRoot(), 'build',
32*8975f5c5SAndroid Build Coastguard Worker                                    'ios', 'update_bundle_filelist.py')
33*8975f5c5SAndroid Build Coastguard Worker
34*8975f5c5SAndroid Build Coastguard Worker    return [
35*8975f5c5SAndroid Build Coastguard Worker        output_api.PresubmitError(
36*8975f5c5SAndroid Build Coastguard Worker            'Filelist needs to be re-generated. Please run \'python3 %s %s %s '
37*8975f5c5SAndroid Build Coastguard Worker            '%s\' and include the changes in this CL' %
38*8975f5c5SAndroid Build Coastguard Worker            (script, filelist, globlist, globroot))
39*8975f5c5SAndroid Build Coastguard Worker    ]
40