Name Description Size
__init__.py Loads one or more specified build files. default_variables and includes will be copied before use. Returns the generator for the specified format and the data returned by loading the specified build files. 22291
common.py Error class representing an error, which is to be presented to the user. The main entry point will catch and display this. 19921
common_test.py Unit tests for the common.py file. 2021
easy_xml.py Writes the XML content to disk, touching the file only if it has changed. Visual Studio files have a lot of pre-defined structures. This function makes it easy to represent these structures as Python data structures, instead of having to create a lot of function calls. Each XML element of the content is represented as a list composed of: 1. The name of the element, a string, 2. The attributes of the element, a dictionary (optional), and 3+. The content of the element, if any. Strings are simple text nodes and lists are child elements. Example 1: <test/> becomes ['test'] Example 2: <myelement a='value1' b='value2'> <childtype>This is</childtype> <childtype>it!</childtype> </myelement> becomes ['myelement', {'a':'value1', 'b':'value2'}, ['childtype', 'This is'], ['childtype', 'it!'], ] Args: content: The structured content to be converted. encoding: The encoding to report on the first XML line. pretty: True if we want pretty printing with indents and new lines. Returns: The XML content as a string. 5182
easy_xml_test.py Unit tests for the easy_xml.py file. 3445
flock_tool.py These functions are executed via gyp-flock-tool when using the Makefile generator. Used on systems that don't have a built-in flock. 1749
generator
input.py Return a list of all build files included into build_file_path. The returned list will contain build_file_path as well as all other files that it included, either directly or indirectly. Note that the list may contain files that were included into a conditional section that evaluated to false and was not merged into build_file_path's dict. aux_data is a dict containing a key for each build file or included build file. Those keys provide access to dicts whose "included" keys contain lists of all other files included by the build file. included should be left at its default None value by external callers. It is used for recursion. The returned list will not contain any duplicate entries. Each build file in the list will be relative to the current directory. 116420
input_test.py Unit tests for the input.py file. 3195
mac_tool.py Utility functions to perform Xcode-style build steps. These functions are executed via gyp-mac-tool when using the Makefile generator. 27190
msvs_emulation.py This module helps emulate Visual Studio 2008 behavior on top of other build systems, primarily ninja. 48848
MSVSNew.py New implementation of Visual Studio project generation. 12400
MSVSProject.py Visual Studio project reader/writer. 6387
MSVSSettings.py Code to validate and convert settings of the Microsoft build tools. This file contains code to validate and convert settings of the Microsoft build tools. The function ConvertToMSBuildSettings(), ValidateMSVSSettings(), and ValidateMSBuildSettings() are the entry points. This file was created by comparing the projects created by Visual Studio 2008 and Visual Studio 2010 for all available settings through the user interface. The MSBuild schemas were also considered. They are typically found in the MSBuild install directory, e.g. c:\Program Files (x86)\MSBuild 45263
MSVSSettings_test.py Unit tests for the MSVSSettings.py file. 65995
MSVSToolFile.py Visual Studio project reader/writer. 1804
MSVSUserFile.py Visual Studio user preferences file writer. 5086
MSVSUtil.py Utility functions shared amongst the Windows generators. 9568
MSVSVersion.py Handle version information related to Visual Stuio. 21116
ninja_syntax.py Python module for generating .ninja files. Note that this is emphatically not a required piece of Ninja; it's just a helpful utility for build-file-generation systems that already use Python. 5709
simple_copy.py A clone of the default copy.deepcopy that doesn't handle cyclic structures or complex types except for dicts and lists. This is because gyp copies so large structure that small copy overhead ends up taking seconds in a project the size of Chromium. 1467
win_tool.py Utility functions for Windows builds. These functions are executed via gyp-win-tool when using the ninja generator. 13627
xcode_emulation.py This module contains classes that help to emulate xcodebuild behavior on top of other build systems, such as make and ninja. 73019
xcode_ninja.py Xcode-ninja wrapper project file generator. This updates the data structures passed to the Xcode gyp generator to build with ninja instead. The Xcode project itself is transformed into a list of executable targets, each with a build step to build with ninja, and a target with every source and resource file. This appears to sidestep some of the major performance headaches experienced using complex projects and large number of targets within Xcode. 11304
xcodeproj_file.py 124706
xml_fix.py Applies a fix to CR LF TAB handling in xml.dom. Fixes this: http://code.google.com/p/chromium/issues/detail?id=76293 Working around this: http://bugs.python.org/issue5752 TODO(bradnelson): Consider dropping this when we drop XP support. 2165