# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file.
from __future__ import print_function
import argparse import doctest import itertools import os import plistlib import re import subprocess import sys
# This script prints information about the build system, the operating # system and the iOS or Mac SDK (depending on the platform "iphonesimulator", # "iphoneos" or "macosx" generally).
def LoadPList(path): """Loads Plist at |path| and returns it as a dictionary.""" # Cloned from //build/apple/plist_util.py. if sys.version_info.major == 2: return plistlib.readPlist(path) with open(path, 'rb') as f: return plistlib.load(f)
def SplitVersion(version): """Splits the Xcode version to 3 values.
# Update the symlink only if it is different from the current destination. if os.path.islink(dst):
current_src = os.readlink(dst) if current_src == src: return updated_value
os.unlink(dst)
sys.stderr.write('existing symlink %s points %s; want %s. Removed.' %
(dst, current_src, src))
os.symlink(src, dst) return updated_value
if __name__ == '__main__':
doctest.testmod()
parser = argparse.ArgumentParser()
parser.add_argument("--developer_dir", dest="developer_dir", required=False)
parser.add_argument("--get_sdk_info",
action="store_true",
dest="get_sdk_info",
default=False,
help="Returns SDK info in addition to xcode info.")
parser.add_argument("--get_machine_info",
action="store_true",
dest="get_machine_info",
default=False,
help="Returns machine info in addition to xcode info.")
parser.add_argument("--create_symlink_at",
action="store",
dest="create_symlink_at",
help="Create symlink of SDK at given location and " "returns the symlinked paths as SDK info instead " "of the original location.")
args, unknownargs = parser.parse_known_args() if args.developer_dir:
os.environ['DEVELOPER_DIR'] = args.developer_dir
if len(unknownargs) != 1:
sys.stderr.write('usage: %s [iphoneos|iphonesimulator|macosx]\n' %
os.path.basename(sys.argv[0]))
sys.exit(1)
settings = {} if args.get_machine_info:
FillMachineOSBuild(settings)
FillXcodeVersion(settings, args.developer_dir) if args.get_sdk_info:
FillSDKPathAndVersion(settings, unknownargs[0], settings['xcode_version'])
for key in sorted(settings):
value = settings[key] if args.create_symlink_at and'_path'in key:
value = CreateXcodeSymlinkAt(value, args.create_symlink_at) if isinstance(value, basestring_compat):
value = '"%s"' % value
print('%s=%s' % (key, value))
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.