Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(376)

Side by Side Diff: build/rmdir_and_stamp.py

Issue 2101243005: Add a snapshot of flutter/engine/src/build to our sdk (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: add README.dart Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/repack_action.gypi ('k') | build/sanitize-mac-build-log.sed » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5
6 """Wipes out a directory recursively and then touches a stamp file.
7
8 This odd pairing of operations is used to support build scripts which
9 slurp up entire directories (e.g. build/android/javac.py when handling
10 generated sources) as inputs.
11
12 The general pattern of use is:
13
14 - Add a target which generates |gen_sources| into |out_path| from |inputs|.
15 - Include |stamp_file| as an input for that target or any of its rules which
16 generate files in |out_path|.
17 - Add an action which depends on |inputs| and which outputs |stamp_file|;
18 the action should run this script and pass |out_path| and |stamp_file| as
19 its arguments.
20
21 The net result is that you will force |out_path| to be wiped and all
22 |gen_sources| to be regenerated any time any file in |inputs| changes.
23
24 See //third_party/mojo/mojom_bindings_generator.gypi for an example use case.
25
26 """
27
28 import errno
29 import os
30 import shutil
31 import sys
32
33
34 def Main(dst_dir, stamp_file):
35 try:
36 shutil.rmtree(os.path.normpath(dst_dir))
37 except OSError as e:
38 # Ignore only "not found" errors.
39 if e.errno != errno.ENOENT:
40 raise e
41 with open(stamp_file, 'a'):
42 os.utime(stamp_file, None)
43
44 if __name__ == '__main__':
45 sys.exit(Main(sys.argv[1], sys.argv[2]))
OLDNEW
« no previous file with comments | « build/repack_action.gypi ('k') | build/sanitize-mac-build-log.sed » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698