Hello community, here is the log from the commit of package gyp for openSUSE:Factory checked in at 2016-05-19 12:03:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gyp (Old) and /work/SRC/openSUSE:Factory/.gyp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gyp" Changes: -------- --- /work/SRC/openSUSE:Factory/gyp/gyp.changes 2016-04-30 23:28:30.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.gyp.new/gyp.changes 2016-05-19 12:03:29.000000000 +0200 @@ -1,0 +2,21 @@ +Thu May 05 14:11:25 UTC 2016 - [email protected] + +- Update to version 0+git.20160504: + * [GN] Use hard-link if possible when copying to bundle. + +------------------------------------------------------------------- +Tue May 03 20:11:28 UTC 2016 - [email protected] + +- Update to version 0+git.20160426: + * Support DEVELOPER_DIR in gyp-ninja for mac. + * [GN] Use hard-link if possible when copying to bundle. + * Fix mac_tool.py copy-bundle-resource errors. + * [iOS/OS X] Copy file instead of hard-linking them. + * gyp-win-tool: Let LinkWrapper only transmogrify / when the host platform is Windows. + * gyp-win-tool: Fix regression from my last change. + * gyp-win-tool: Don't use shell=True on non-Windows hosts. + * Fix header map nextPowerOf2 method. + * [ios-ninja] Support xctests in devices in release. + * Adds support for a new target spec: 'mac_xcuitest_bundle'. This allows us to create UI testing bundles. + +------------------------------------------------------------------- Old: ---- gyp-0+git.20160413.tar.xz New: ---- gyp-0+git.20160504.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gyp.spec ++++++ --- /var/tmp/diff_new_pack.F5pISy/_old 2016-05-19 12:03:30.000000000 +0200 +++ /var/tmp/diff_new_pack.F5pISy/_new 2016-05-19 12:03:30.000000000 +0200 @@ -17,10 +17,8 @@ # -%define version_unconverted 0+git.20160413 - Name: gyp -Version: 0+git.20160413 +Version: 0+git.20160504 Release: 0 Summary: Generate Your Projects License: BSD-3-Clause ++++++ _service ++++++ --- /var/tmp/diff_new_pack.F5pISy/_old 2016-05-19 12:03:30.000000000 +0200 +++ /var/tmp/diff_new_pack.F5pISy/_new 2016-05-19 12:03:30.000000000 +0200 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="filename">gyp</param> <param name="changesgenerate">enable</param> - <param name="versionformat">0+git.%ad</param> + <param name="versionformat">0+git.%cd</param> </service> <service mode="localonly" name="recompress"> <param name="file">*.tar</param> ++++++ gyp-0+git.20160413.tar.xz -> gyp-0+git.20160504.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/pylib/gyp/MSVSSettings.py new/gyp-0+git.20160504/pylib/gyp/MSVSSettings.py --- old/gyp-0+git.20160413/pylib/gyp/MSVSSettings.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/pylib/gyp/MSVSSettings.py 2016-05-05 16:11:24.000000000 +0200 @@ -592,6 +592,7 @@ _Same(_compile, 'UseFullPaths', _boolean) # /FC _Same(_compile, 'WholeProgramOptimization', _boolean) # /GL _Same(_compile, 'XMLDocumentationFileName', _file_name) +_Same(_compile, 'CompileAsWinRT', _boolean) # /ZW _Same(_compile, 'AssemblerOutput', _Enumeration(['NoListing', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/pylib/gyp/generator/msvs.py new/gyp-0+git.20160504/pylib/gyp/generator/msvs.py --- old/gyp-0+git.20160413/pylib/gyp/generator/msvs.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/pylib/gyp/generator/msvs.py 2016-05-05 16:11:24.000000000 +0200 @@ -257,6 +257,8 @@ if not tools.get(tool_name): tools[tool_name] = dict() tool = tools[tool_name] + if 'CompileAsWinRT' == setting: + return if tool.get(setting): if only_if_unset: return if type(tool[setting]) == list and type(value) == list: @@ -286,6 +288,21 @@ return '%s|%s' % (_ConfigBaseName(config_name, platform_name), platform_name) +def _ConfigWindowsTargetPlatformVersion(config_data): + ver = config_data.get('msvs_windows_sdk_version') + + for key in [r'HKLM\Software\Microsoft\Microsoft SDKs\Windows\%s', + r'HKLM\Software\Wow6432Node\Microsoft\Microsoft SDKs\Windows\%s']: + sdk_dir = MSVSVersion._RegistryGetValue(key % ver, 'InstallationFolder') + if not sdk_dir: + continue + version = MSVSVersion._RegistryGetValue(key % ver, 'ProductVersion') or '' + # Find a matching entry in sdk_dir\include. + names = sorted([x for x in os.listdir(r'%s\include' % sdk_dir) + if x.startswith(version)], reverse=True) + return names[0] + + def _BuildCommandLineForRuleRaw(spec, cmd, cygwin_shell, has_input_path, quote_cmd, do_setup_env): @@ -2676,6 +2693,21 @@ else: properties[0].append(['ApplicationType', 'Windows Store']) + platform_name = None + msvs_windows_sdk_version = None + for configuration in spec['configurations'].itervalues(): + platform_name = platform_name or _ConfigPlatform(configuration) + msvs_windows_sdk_version = (msvs_windows_sdk_version or + _ConfigWindowsTargetPlatformVersion(configuration)) + if platform_name and msvs_windows_sdk_version: + break + + if platform_name == 'ARM': + properties[0].append(['WindowsSDKDesktopARMSupport', 'true']) + if msvs_windows_sdk_version: + properties[0].append(['WindowsTargetPlatformVersion', + str(msvs_windows_sdk_version)]) + return properties def _GetMSBuildConfigurationDetails(spec, build_file): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/pylib/gyp/generator/ninja.py new/gyp-0+git.20160504/pylib/gyp/generator/ninja.py --- old/gyp-0+git.20160413/pylib/gyp/generator/ninja.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/pylib/gyp/generator/ninja.py 2016-05-05 16:11:24.000000000 +0200 @@ -1369,7 +1369,8 @@ is_command_start=not package_framework) if package_framework and not is_empty: if spec['type'] == 'shared_library' and self.xcode_settings.isIOS: - self.ninja.build(output, 'package_ios_framework', mac_bundle_depends) + self.ninja.build(output, 'package_ios_framework', mac_bundle_depends, + variables=variables) else: variables.append(('version', self.xcode_settings.GetFrameworkVersion())) self.ninja.build(output, 'package_framework', mac_bundle_depends, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/pylib/gyp/generator/xcode.py new/gyp-0+git.20160504/pylib/gyp/generator/xcode.py --- old/gyp-0+git.20160413/pylib/gyp/generator/xcode.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/pylib/gyp/generator/xcode.py 2016-05-05 16:11:24.000000000 +0200 @@ -77,6 +77,7 @@ 'mac_framework_headers', 'mac_framework_private_headers', 'mac_xctest_bundle', + 'mac_xcuitest_bundle', 'xcode_create_dependents_test_runner', ] @@ -691,6 +692,7 @@ 'executable+bundle': 'com.apple.product-type.application', 'loadable_module+bundle': 'com.apple.product-type.bundle', 'loadable_module+xctest': 'com.apple.product-type.bundle.unit-test', + 'loadable_module+xcuitest': 'com.apple.product-type.bundle.ui-testing', 'shared_library+bundle': 'com.apple.product-type.framework', 'executable+extension+bundle': 'com.apple.product-type.app-extension', 'executable+watch+extension+bundle': @@ -707,13 +709,19 @@ type = spec['type'] is_xctest = int(spec.get('mac_xctest_bundle', 0)) + is_xcuitest = int(spec.get('mac_xcuitest_bundle', 0)) is_bundle = int(spec.get('mac_bundle', 0)) or is_xctest is_app_extension = int(spec.get('ios_app_extension', 0)) is_watchkit_extension = int(spec.get('ios_watchkit_extension', 0)) is_watch_app = int(spec.get('ios_watch_app', 0)) if type != 'none': type_bundle_key = type - if is_xctest: + if is_xcuitest: + type_bundle_key += '+xcuitest' + assert type == 'loadable_module', ( + 'mac_xcuitest_bundle targets must have type loadable_module ' + '(target %s)' % target_name) + elif is_xctest: type_bundle_key += '+xctest' assert type == 'loadable_module', ( 'mac_xctest_bundle targets must have type loadable_module ' @@ -745,6 +753,9 @@ assert not is_bundle, ( 'mac_bundle targets cannot have type none (target "%s")' % target_name) + assert not is_xcuitest, ( + 'mac_xcuitest_bundle targets cannot have type none (target "%s")' % + target_name) assert not is_xctest, ( 'mac_xctest_bundle targets cannot have type none (target "%s")' % target_name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/pylib/gyp/mac_tool.py new/gyp-0+git.20160504/pylib/gyp/mac_tool.py --- old/gyp-0+git.20160413/pylib/gyp/mac_tool.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/pylib/gyp/mac_tool.py 2016-05-05 16:11:24.000000000 +0200 @@ -405,7 +405,7 @@ self._MergePlist(merged_plist, plist) plistlib.writePlist(merged_plist, output) - def ExecCodeSignBundle(self, key, entitlements, provisioning): + def ExecCodeSignBundle(self, key, entitlements, provisioning, path, preserve): """Code sign a bundle. This function tries to code sign an iOS bundle, following the same @@ -419,11 +419,14 @@ provisioning, self._GetCFBundleIdentifier()) entitlements_path = self._InstallEntitlements( entitlements, substitutions, overrides) - subprocess.check_call([ - 'codesign', '--force', '--sign', key, '--entitlements', - entitlements_path, '--timestamp=none', os.path.join( - os.environ['TARGET_BUILD_DIR'], - os.environ['FULL_PRODUCT_NAME'])]) + + args = ['codesign', '--force', '--sign', key] + if preserve == 'True': + args.extend(['--deep', '--preserve-metadata=identifier,entitlements']) + else: + args.extend(['--entitlements', entitlements_path]) + args.extend(['--timestamp=none', path]) + subprocess.check_call(args) def _InstallProvisioningProfile(self, profile, bundle_identifier): """Installs embedded.mobileprovision into the bundle. @@ -639,7 +642,7 @@ return data def NextGreaterPowerOf2(x): - return 2**(x-1).bit_length() + return 2**(x).bit_length() def WriteHmap(output_name, filelist): """Generates a header map based on |filelist|. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/pylib/gyp/xcode_emulation.py new/gyp-0+git.20160504/pylib/gyp/xcode_emulation.py --- old/gyp-0+git.20160413/pylib/gyp/xcode_emulation.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/pylib/gyp/xcode_emulation.py 2016-05-05 16:11:24.000000000 +0200 @@ -229,11 +229,15 @@ self.isIOS def _IsBundle(self): - return int(self.spec.get('mac_bundle', 0)) != 0 or self._IsXCTest() + return int(self.spec.get('mac_bundle', 0)) != 0 or self._IsXCTest() or \ + self._IsXCUiTest() def _IsXCTest(self): return int(self.spec.get('mac_xctest_bundle', 0)) != 0 + def _IsXCUiTest(self): + return int(self.spec.get('mac_xcuitest_bundle', 0)) != 0 + def _IsIosAppExtension(self): return int(self.spec.get('ios_app_extension', 0)) != 0 @@ -312,7 +316,8 @@ """Returns the qualified path to the bundle's plist file. E.g. Chromium.app/Contents/Info.plist. Only valid for bundles.""" assert self._IsBundle() - if self.spec['type'] in ('executable', 'loadable_module'): + if self.spec['type'] in ('executable', 'loadable_module') or \ + self.IsIosFramework(): return os.path.join(self.GetBundleContentsFolderPath(), 'Info.plist') else: return os.path.join(self.GetBundleContentsFolderPath(), @@ -332,6 +337,10 @@ assert self._IsBundle(), ('ios_watch_app flag requires mac_bundle ' '(target %s)' % self.spec['target_name']) return 'com.apple.product-type.application.watchapp' + if self._IsXCUiTest(): + assert self._IsBundle(), ('mac_xcuitest_bundle flag requires mac_bundle ' + '(target %s)' % self.spec['target_name']) + return 'com.apple.product-type.bundle.ui-testing' if self._IsBundle(): return { 'executable': 'com.apple.product-type.application', @@ -1008,10 +1017,20 @@ self.IsIosFramework()): return [] + postbuilds = [] + product_name = self.GetFullProductName() settings = self.xcode_settings[configname] + + # Xcode expects XCTests to be copied into the TEST_HOST dir. + if self._IsXCTest(): + source = os.path.join("${BUILT_PRODUCTS_DIR}", product_name) + test_host = os.path.dirname(settings.get('TEST_HOST')); + xctest_destination = os.path.join(test_host, 'PlugIns', product_name) + postbuilds.extend(['ditto %s %s' % (source, xctest_destination)]) + key = self._GetIOSCodeSignIdentityKey(settings) if not key: - return [] + return postbuilds # Warn for any unimplemented signing xcode keys. unimpl = ['OTHER_CODE_SIGN_FLAGS'] @@ -1020,11 +1039,41 @@ print 'Warning: Some codesign keys not implemented, ignoring: %s' % ( ', '.join(sorted(unimpl))) - return ['%s code-sign-bundle "%s" "%s" "%s"' % ( + if self._IsXCTest(): + # For device xctests, Xcode copies two extra frameworks into $TEST_HOST. + test_host = os.path.dirname(settings.get('TEST_HOST')); + frameworks_dir = os.path.join(test_host, 'Frameworks') + platform_root = self._XcodePlatformPath(configname) + frameworks = \ + ['Developer/Library/PrivateFrameworks/IDEBundleInjection.framework', + 'Developer/Library/Frameworks/XCTest.framework'] + for framework in frameworks: + source = os.path.join(platform_root, framework) + destination = os.path.join(frameworks_dir, os.path.basename(framework)) + postbuilds.extend(['ditto %s %s' % (source, destination)]) + + # Then re-sign everything with 'preserve=True' + postbuilds.extend(['%s code-sign-bundle "%s" "%s" "%s" "%s" %s' % ( + os.path.join('${TARGET_BUILD_DIR}', 'gyp-mac-tool'), key, + settings.get('CODE_SIGN_ENTITLEMENTS', ''), + settings.get('PROVISIONING_PROFILE', ''), destination, True) + ]) + plugin_dir = os.path.join(test_host, 'PlugIns') + targets = [os.path.join(plugin_dir, product_name), test_host] + for target in targets: + postbuilds.extend(['%s code-sign-bundle "%s" "%s" "%s" "%s" %s' % ( + os.path.join('${TARGET_BUILD_DIR}', 'gyp-mac-tool'), key, + settings.get('CODE_SIGN_ENTITLEMENTS', ''), + settings.get('PROVISIONING_PROFILE', ''), target, True) + ]) + + postbuilds.extend(['%s code-sign-bundle "%s" "%s" "%s" "%s" %s' % ( os.path.join('${TARGET_BUILD_DIR}', 'gyp-mac-tool'), key, settings.get('CODE_SIGN_ENTITLEMENTS', ''), - settings.get('PROVISIONING_PROFILE', '')) - ] + settings.get('PROVISIONING_PROFILE', ''), + os.path.join("${BUILT_PRODUCTS_DIR}", product_name), False) + ]) + return postbuilds def _GetIOSCodeSignIdentityKey(self, settings): identity = settings.get('CODE_SIGN_IDENTITY') @@ -1379,6 +1428,7 @@ just a single file. Bundle rules do not produce a binary but also package resources into that directory.""" is_mac_bundle = int(spec.get('mac_xctest_bundle', 0)) != 0 or \ + int(spec.get('mac_xcuitest_bundle', 0)) != 0 or \ (int(spec.get('mac_bundle', 0)) != 0 and flavor == 'mac') if is_mac_bundle: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/pylib/gyp/xcodeproj_file.py new/gyp-0+git.20160504/pylib/gyp/xcodeproj_file.py --- old/gyp-0+git.20160413/pylib/gyp/xcodeproj_file.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/pylib/gyp/xcodeproj_file.py 2016-05-05 16:11:24.000000000 +0200 @@ -2261,6 +2261,8 @@ '', ''], 'com.apple.product-type.bundle.unit-test': ['wrapper.cfbundle', '', '.xctest'], + 'com.apple.product-type.bundle.ui-testing': ['wrapper.cfbundle', + '', '.xctest'], 'com.googlecode.gyp.xcode.bundle': ['compiled.mach-o.dylib', '', '.so'], 'com.apple.product-type.kernel-extension': ['wrapper.kext', @@ -2317,7 +2319,9 @@ force_extension = suffix[1:] if self._properties['productType'] == \ - 'com.apple.product-type-bundle.unit.test': + 'com.apple.product-type-bundle.unit.test' or \ + self._properties['productType'] == \ + 'com.apple.product-type-bundle.ui-testing': if force_extension is None: force_extension = suffix[1:] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/ios/framework/framework.gyp new/gyp-0+git.20160504/test/ios/framework/framework.gyp --- old/gyp-0+git.20160413/test/ios/framework/framework.gyp 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/test/ios/framework/framework.gyp 2016-05-05 16:11:24.000000000 +0200 @@ -10,6 +10,8 @@ 'mac_bundle': 1, 'sources': [ 'iOSFramework/iOSFramework.h', + 'iOSFramework/Thing.h', + 'iOSFramework/Thing.m', ], 'link_settings': { 'libraries': [ @@ -18,7 +20,9 @@ ], }, 'mac_framework_headers': [ + # Using two headers here tests mac_tool.py NextGreaterPowerOf2. 'iOSFramework/iOSFramework.h', + 'iOSFramework/Thing.h', ], 'mac_framework_dirs': [ '$(SDKROOT)/../../Library/Frameworks', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/ios/framework/iOSFramework/Thing.h new/gyp-0+git.20160504/test/ios/framework/iOSFramework/Thing.h --- old/gyp-0+git.20160413/test/ios/framework/iOSFramework/Thing.h 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/ios/framework/iOSFramework/Thing.h 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,10 @@ +#import <Foundation/Foundation.h> +#import <UIKit/UIKit.h> + +@interface Thing : NSObject + ++ (instancetype)thing; + +- (void)sayHello; + +@end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/ios/framework/iOSFramework/Thing.m new/gyp-0+git.20160504/test/ios/framework/iOSFramework/Thing.m --- old/gyp-0+git.20160413/test/ios/framework/iOSFramework/Thing.m 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/ios/framework/iOSFramework/Thing.m 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,22 @@ +#import "Thing.h" + +@interface Thing () + +@end + +@implementation Thing + ++ (instancetype)thing { + static Thing* thing = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + thing = [[[self class] alloc] init]; + }); + return thing; +} + +- (void)sayHello { + NSLog(@"Hello World"); +} + +@end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/ios/framework/iOSFramework/iOSFramework.h new/gyp-0+git.20160504/test/ios/framework/iOSFramework/iOSFramework.h --- old/gyp-0+git.20160413/test/ios/framework/iOSFramework/iOSFramework.h 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/test/ios/framework/iOSFramework/iOSFramework.h 2016-05-05 16:11:24.000000000 +0200 @@ -5,3 +5,5 @@ //! Project version string for iOSFramework. FOUNDATION_EXPORT const unsigned char iOSFrameworkVersionString[]; + +#import <iOSFramework/Thing.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/ios/gyptest-framework.py new/gyp-0+git.20160504/test/ios/gyptest-framework.py --- old/gyp-0+git.20160413/test/ios/gyptest-framework.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/test/ios/gyptest-framework.py 2016-05-05 16:11:24.000000000 +0200 @@ -27,6 +27,9 @@ 'iOSFramework.framework/Headers/iOSFramework.h', chdir='framework') test.built_file_must_exist( + 'iOSFramework.framework/Headers/Thing.h', + chdir='framework') + test.built_file_must_exist( 'iOSFramework.framework/iOSFramework', chdir='framework') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/lib/TestGyp.py new/gyp-0+git.20160504/test/lib/TestGyp.py --- old/gyp-0+git.20160413/test/lib/TestGyp.py 2016-04-15 16:30:32.000000000 +0200 +++ new/gyp-0+git.20160504/test/lib/TestGyp.py 2016-05-05 16:11:24.000000000 +0200 @@ -706,6 +706,7 @@ for drive in range(ord('C'), ord('Z') + 1) for suffix in ['', ' (x86)']] possible_paths = { + '2015': r'Microsoft Visual Studio 14.0\Common7\IDE\devenv.com', '2013': r'Microsoft Visual Studio 12.0\Common7\IDE\devenv.com', '2012': r'Microsoft Visual Studio 11.0\Common7\IDE\devenv.com', '2010': r'Microsoft Visual Studio 10.0\Common7\IDE\devenv.com', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/mac/gyptest-xcuitest.py new/gyp-0+git.20160504/test/mac/gyptest-xcuitest.py --- old/gyp-0+git.20160413/test/mac/gyptest-xcuitest.py 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/mac/gyptest-xcuitest.py 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +# Copyright (c) 2013 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +Verifies that xcuitest targets are correctly configured. +""" + +import TestGyp + +import sys + +if sys.platform == 'darwin': + test = TestGyp.TestGyp(formats=['xcode']) + + # Ignore this test if Xcode 5 is not installed + import subprocess + job = subprocess.Popen(['xcodebuild', '-version'], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + out, err = job.communicate() + if job.returncode != 0: + raise Exception('Error %d running xcodebuild' % job.returncode) + xcode_version, build_number = out.splitlines() + # Convert the version string from 'Xcode 5.0' to ['5','0']. + xcode_version = xcode_version.split()[-1].split('.') + if xcode_version < ['7']: + test.pass_test() + + CHDIR = 'xcuitest' + test.run_gyp('test.gyp', chdir=CHDIR) + test.build('test.gyp', chdir=CHDIR, arguments=[ + '-target', 'tests', + '-sdk', 'iphonesimulator', + ]) + + test.pass_test() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/mac/xcuitest/Info.plist new/gyp-0+git.20160504/test/mac/xcuitest/Info.plist --- old/gyp-0+git.20160413/test/mac/xcuitest/Info.plist 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/mac/xcuitest/Info.plist 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.yourcompany.${PRODUCT_NAME}</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>BNDL</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1</string> + <key>NSPrincipalClass</key> + <string></string> +</dict> +</plist> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/mac/xcuitest/MyAppDelegate.h new/gyp-0+git.20160504/test/mac/xcuitest/MyAppDelegate.h --- old/gyp-0+git.20160413/test/mac/xcuitest/MyAppDelegate.h 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/mac/xcuitest/MyAppDelegate.h 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,8 @@ +// Copyright (c) 2013 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import <UIKit/UIKit.h> + +@interface MyAppDelegate : NSObject<UIApplicationDelegate> +@end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/mac/xcuitest/MyAppDelegate.m new/gyp-0+git.20160504/test/mac/xcuitest/MyAppDelegate.m --- old/gyp-0+git.20160413/test/mac/xcuitest/MyAppDelegate.m 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/mac/xcuitest/MyAppDelegate.m 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,19 @@ +// Copyright (c) 2013 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "MyAppDelegate.h" + + +@implementation MyAppDelegate +@synthesize window; + +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + self.window = [[UIWindow alloc] init]; + self.window.rootViewController = [[UIViewController alloc] init]; + [self.window makeKeyAndVisible]; + return YES; +} + +@end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/mac/xcuitest/TestCase.m new/gyp-0+git.20160504/test/mac/xcuitest/TestCase.m --- old/gyp-0+git.20160413/test/mac/xcuitest/TestCase.m 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/mac/xcuitest/TestCase.m 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,15 @@ +// Copyright (c) 2013 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import <XCTest/XCTest.h> + +@interface TestCase : XCTestCase +@end + +@implementation TestCase +- (void)testFoo { + XCUIApplication *foo = [[XCUIApplication alloc] init]; + XCTAssertNotNil(foo, @"expected non-nil object"); +} +@end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/mac/xcuitest/main.m new/gyp-0+git.20160504/test/mac/xcuitest/main.m --- old/gyp-0+git.20160413/test/mac/xcuitest/main.m 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/mac/xcuitest/main.m 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,15 @@ +// Copyright (c) 2013 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import <UIKit/UIKit.h> + +#import "MyAppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + UIApplicationMain(argc, argv, + nil, NSStringFromClass([MyAppDelegate class])); + } + return 1; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/mac/xcuitest/resource.txt new/gyp-0+git.20160504/test/mac/xcuitest/resource.txt --- old/gyp-0+git.20160413/test/mac/xcuitest/resource.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/mac/xcuitest/resource.txt 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1 @@ +foo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/mac/xcuitest/test.gyp new/gyp-0+git.20160504/test/mac/xcuitest/test.gyp --- old/gyp-0+git.20160413/test/mac/xcuitest/test.gyp 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/mac/xcuitest/test.gyp 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,69 @@ +# Copyright (c) 2013 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'target_defaults': { + 'xcode_settings': { + 'SDKROOT': 'iphoneos', + 'FRAMEWORK_SEARCH_PATHS': [ + '$(inherited)', + '$(DEVELOPER_FRAMEWORKS_DIR)', + ], + 'OTHER_LDFLAGS': [ + '$(inherited)', + '-ObjC', + ], + 'GCC_PREFIX_HEADER': '', + 'CLANG_ENABLE_OBJC_ARC': 'YES', + 'INFOPLIST_FILE': 'Info.plist', + }, + }, + 'targets': [ + { + 'target_name': 'testApp', + 'type': 'executable', + 'mac_bundle': 1, + 'sources': [ + 'MyAppDelegate.h', + 'MyAppDelegate.m', + 'main.m', + ], + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', + '$(SDKROOT)/System/Library/Frameworks/UIKit.framework', + ], + }, + }, + { + 'target_name': 'tests', + 'type': 'loadable_module', + 'mac_bundle': 1, + 'mac_xcuitest_bundle': 1, + 'sources': [ + 'TestCase.m', + ], + 'dependencies': [ + 'testApp', + ], + 'mac_bundle_resources': [ + 'resource.txt', + ], + 'variables': { + # This must *not* be set for xctest ui tests. + 'xctest_host': '', + }, + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/XCTest.framework', + ] + }, + 'xcode_settings': { + 'WRAPPER_EXTENSION': 'xctest', + 'TEST_TARGET_NAME': 'testApp', + }, + }, + ], +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/win/compiler-flags/compile-as-winrt.cc new/gyp-0+git.20160504/test/win/compiler-flags/compile-as-winrt.cc --- old/gyp-0+git.20160413/test/win/compiler-flags/compile-as-winrt.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/win/compiler-flags/compile-as-winrt.cc 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,12 @@ +// Copyright (c) 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +using namespace Platform; + +int main() { + wchar_t msg[] = L"Test"; + String^ str1 = ref new String(msg); + auto str2 = String::Concat(str1, " Concat"); + return 0; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/win/compiler-flags/compile-as-winrt.gyp new/gyp-0+git.20160504/test/win/compiler-flags/compile-as-winrt.gyp --- old/gyp-0+git.20160413/test/win/compiler-flags/compile-as-winrt.gyp 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/win/compiler-flags/compile-as-winrt.gyp 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,20 @@ +# Copyright (c) 2016 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'targets': [ + { + 'target_name': 'test-compile-as-winrt', + 'type': 'executable', + 'msvs_windows_sdk_version': 'v10.0', + 'msvs_settings': { + 'VCCLCompilerTool': { + 'AdditionalUsingDirectories': ['$(VCInstallDir)vcpackages;$(WindowsSdkDir)UnionMetadata;%(AdditionalUsingDirectories)'], + 'CompileAsWinRT': 'true' + } + }, + 'sources': ['compile-as-winrt.cc'] + } + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gyp-0+git.20160413/test/win/gyptest-cl-compile-as-winrt.py new/gyp-0+git.20160504/test/win/gyptest-cl-compile-as-winrt.py --- old/gyp-0+git.20160413/test/win/gyptest-cl-compile-as-winrt.py 1970-01-01 01:00:00.000000000 +0100 +++ new/gyp-0+git.20160504/test/win/gyptest-cl-compile-as-winrt.py 2016-05-05 16:11:24.000000000 +0200 @@ -0,0 +1,20 @@ +# Copyright (c) 2016 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import TestGyp + +import os +import sys + +if (sys.platform == 'win32' and + int(os.environ.get('GYP_MSVS_VERSION', 0)) >= 2015): + test = TestGyp.TestGyp(formats=['msvs']) + + CHDIR = 'compiler-flags' + + test.run_gyp('compile-as-winrt.gyp', chdir=CHDIR) + + test.build('compile-as-winrt.gyp', 'test-compile-as-winrt', chdir=CHDIR) + + test.pass_test() \ No newline at end of file
