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

Unified Diff: build/android/gyp/util/build_utils.py

Issue 341823003: Add depfile support to android build scripts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/gyp/javac.py ('k') | build/config/android/internal_rules.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/gyp/util/build_utils.py
diff --git a/build/android/gyp/util/build_utils.py b/build/android/gyp/util/build_utils.py
index 0b4466d440ea2283340fdeec9d63aa973e801c14..ff836279a75ffb3972f7e2b6ae00b9ec14c25266 100644
--- a/build/android/gyp/util/build_utils.py
+++ b/build/android/gyp/util/build_utils.py
@@ -82,6 +82,7 @@ def CheckOptions(options, parser, required=None):
if getattr(options, option_name) is None:
parser.error('--%s is required' % option_name.replace('_', '-'))
+
def WriteJson(obj, path, only_if_changed=False):
old_dump = None
if os.path.exists(path):
@@ -94,6 +95,7 @@ def WriteJson(obj, path, only_if_changed=False):
with open(path, 'w') as outfile:
outfile.write(new_dump)
+
def ReadJson(path):
with open(path, 'r') as jsonfile:
return json.load(jsonfile)
@@ -212,3 +214,40 @@ def PrintBigWarning(message):
print '***** ' * 8
PrintWarning(message)
print '***** ' * 8
+
+
+def GetPythonDependencies():
+ """Gets the paths of imported non-system python modules.
+
+ A path is assumed to be a "system" import if it is outside of chromium's
+ src/. The paths will be relative to the current directory.
+ """
+ module_paths = (m.__file__ for m in sys.modules.itervalues()
+ if m is not None and hasattr(m, '__file__'))
+
+ abs_module_paths = map(os.path.abspath, module_paths)
+
+ non_system_module_paths = [
+ p for p in abs_module_paths if p.startswith(CHROMIUM_SRC)]
+ def ConvertPycToPy(s):
+ if s.endswith('.pyc'):
+ return s[:-1]
+ return s
+
+ non_system_module_paths = map(ConvertPycToPy, non_system_module_paths)
+ non_system_module_paths = map(os.path.relpath, non_system_module_paths)
+ return sorted(set(non_system_module_paths))
+
+
+def AddDepfileOption(parser):
+ parser.add_option('--depfile',
+ help='Path to depfile. This should be specified as the '
nyquist 2014/06/23 18:41:57 Should 'should' be 'must'?
cjhopman 2014/06/24 18:12:53 Done. I read this as "'Should' should be 'must'."
+ 'action\'s first output.')
+
+
+def WriteDepfile(path, dependencies):
+ with open(path, 'w') as depfile:
+ depfile.write(path)
+ depfile.write(': ')
+ depfile.write(' '.join(dependencies))
+ depfile.write('\n')
« no previous file with comments | « build/android/gyp/javac.py ('k') | build/config/android/internal_rules.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698