xref: /aosp_15_r20/external/vulkan-validation-layers/build-gn/remove_files.py (revision b7893ccf7851cd6a48cc5a1e965257d8a5cdcc70)
1*b7893ccfSSadaf Ebrahimi#!/usr/bin/python2
2*b7893ccfSSadaf Ebrahimi
3*b7893ccfSSadaf Ebrahimi# Copyright (C) 2019 The ANGLE Project Authors.
4*b7893ccfSSadaf Ebrahimi#
5*b7893ccfSSadaf Ebrahimi# Licensed under the Apache License, Version 2.0 (the "License");
6*b7893ccfSSadaf Ebrahimi# you may not use this file except in compliance with the License.
7*b7893ccfSSadaf Ebrahimi# You may obtain a copy of the License at
8*b7893ccfSSadaf Ebrahimi#
9*b7893ccfSSadaf Ebrahimi#     https://www.apache.org/licenses/LICENSE-2.0
10*b7893ccfSSadaf Ebrahimi#
11*b7893ccfSSadaf Ebrahimi# Unless required by applicable law or agreed to in writing, software
12*b7893ccfSSadaf Ebrahimi# distributed under the License is distributed on an "AS IS" BASIS,
13*b7893ccfSSadaf Ebrahimi# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*b7893ccfSSadaf Ebrahimi# See the License for the specific language governing permissions and
15*b7893ccfSSadaf Ebrahimi# limitations under the License.
16*b7893ccfSSadaf Ebrahimi
17*b7893ccfSSadaf Ebrahimi# remove_files.py:
18*b7893ccfSSadaf Ebrahimi#   This special action is used to cleanup old files from the build directory.
19*b7893ccfSSadaf Ebrahimi#   Otherwise ANGLE will pick up the old file(s), causing build or runtime errors.
20*b7893ccfSSadaf Ebrahimi#
21*b7893ccfSSadaf Ebrahimi
22*b7893ccfSSadaf Ebrahimiimport glob
23*b7893ccfSSadaf Ebrahimiimport os
24*b7893ccfSSadaf Ebrahimiimport sys
25*b7893ccfSSadaf Ebrahimi
26*b7893ccfSSadaf Ebrahimiif len(sys.argv) < 3:
27*b7893ccfSSadaf Ebrahimi    print("Usage: " + sys.argv[0] + " <stamp_file> <remove_patterns>")
28*b7893ccfSSadaf Ebrahimi
29*b7893ccfSSadaf Ebrahimistamp_file = sys.argv[1]
30*b7893ccfSSadaf Ebrahimi
31*b7893ccfSSadaf Ebrahimifor i in range(2, len(sys.argv)):
32*b7893ccfSSadaf Ebrahimi    remove_pattern = sys.argv[i]
33*b7893ccfSSadaf Ebrahimi    remove_files = glob.glob(remove_pattern)
34*b7893ccfSSadaf Ebrahimi    for f in remove_files:
35*b7893ccfSSadaf Ebrahimi        if os.path.isfile(f):
36*b7893ccfSSadaf Ebrahimi            os.remove(f)
37*b7893ccfSSadaf Ebrahimi
38*b7893ccfSSadaf Ebrahimi# touch a dummy file to keep a timestamp
39*b7893ccfSSadaf Ebrahimiwith open(stamp_file, "w") as f:
40*b7893ccfSSadaf Ebrahimi    f.write("blah")
41*b7893ccfSSadaf Ebrahimi    f.close()
42