Title: [222121] trunk/Tools
- Revision
- 222121
- Author
- [email protected]
- Date
- 2017-09-15 17:04:16 -0700 (Fri, 15 Sep 2017)
Log Message
teach build.webkit.org to include run-webkit-archive in the root folder of uploaded macOS archives.
https://bugs.webkit.org/show_bug.cgi?id=176965
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/built-product-archive:
(addLauncherToArchive): Helper function to add the launcher script
(createZip): teach function about addLauncherToArchive
* BuildSlaveSupport/run-webkit-archive: Added.
(check_for_valid_platform): Add logic to ensure platform is Darwin
(find_dyld_framework_path): Find the dyld framework path
(run_safari_for_webkit_development): launch SafariForWebKitDevelopment
(set_dyld_framework_path): export the environment for dydl framework path
Modified Paths
Added Paths
Diff
Modified: trunk/Tools/BuildSlaveSupport/built-product-archive (222120 => 222121)
--- trunk/Tools/BuildSlaveSupport/built-product-archive 2017-09-16 00:02:48 UTC (rev 222120)
+++ trunk/Tools/BuildSlaveSupport/built-product-archive 2017-09-16 00:04:16 UTC (rev 222121)
@@ -36,6 +36,7 @@
_topLevelBuildDirectory = None
_hostBuildDirectory = None
+PATH_TO_LAUNCHER = './Tools/BuildSlaveSupport/run-webkit-archive'
def main():
parser = optparse.OptionParser("usage: %prog [options] [action]")
@@ -136,6 +137,9 @@
archiveZip.close()
+def addLauncherToArchive(archiveFile):
+ command = ['/usr/bin/zip', '-j', archiveFile, PATH_TO_LAUNCHER]
+ return subprocess.call(command)
def createZip(directoryToZip, configuration, embedParentDirectoryNameOnDarwin=False, minify=False):
archiveDir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "WebKitBuild"))
@@ -154,7 +158,7 @@
if embedParentDirectoryNameOnDarwin:
command += ['--keepParent']
command += [directoryToZip, archiveFile]
- return subprocess.call(command)
+ return subprocess.call(command) or addLauncherToArchive(archiveFile)
elif sys.platform == 'cygwin':
return subprocess.call(["zip", "-r", archiveFile, "bin32"], cwd=directoryToZip)
elif sys.platform == 'win32':
Added: trunk/Tools/BuildSlaveSupport/run-webkit-archive (0 => 222121)
--- trunk/Tools/BuildSlaveSupport/run-webkit-archive (rev 0)
+++ trunk/Tools/BuildSlaveSupport/run-webkit-archive 2017-09-16 00:04:16 UTC (rev 222121)
@@ -0,0 +1,69 @@
+#!/usr/bin/env python
+
+# Copyright (C) 2017 Apple Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. Neither the name of Apple Inc. ("Apple") nor the names of
+# its contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import os, platform, subprocess
+
+SAFARI_FOR_WEBKIT_DEVELOPMENT='/Applications/Safari.app/Contents/MacOS/SafariForWebKitDevelopment'
+
+def check_for_valid_platform():
+ if 'Darwin' not in platform.system():
+ print('Unsupported OS, exiting.')
+ exit(1)
+
+def find_dyld_framework_path(script_path):
+ current_directory = os.path.dirname(script_path)
+ sub_directories = [name for name in os.listdir(current_directory) if os.path.isdir(name)]
+ if 'Debug' in sub_directories:
+ return current_directory + '/Debug'
+ elif 'Release' in sub_directories:
+ return current_directory + '/Release'
+ else:
+ print('No Release or Debug framework directories found in the current folder, exiting.')
+ exit(1)
+
+def run_safari_for_webkit_development():
+ subprocess.call(SAFARI_FOR_WEBKIT_DEVELOPMENT)
+
+def set_dyld_framework_path(script_path):
+ dyld_path = find_dyld_framework_path(script_path)
+ print('Setting DYLD FRAMEWORK and LIBRARY paths to {}'.format(dyld_path))
+ os.environ['DYLD_FRAMEWORK_PATH'] = dyld_path
+ os.environ['DYLD_LIBRARY_PATH'] = dyld_path
+
+def main():
+ check_for_valid_platform()
+ script_path = os.path.abspath(__file__)
+ os.chdir(os.path.dirname(script_path))
+ set_dyld_framework_path(script_path)
+ run_safari_for_webkit_development()
+
+if __name__ == '__main__':
+ try:
+ main()
+ except KeyboardInterrupt:
+ exit("Aborting.")
\ No newline at end of file
Property changes on: trunk/Tools/BuildSlaveSupport/run-webkit-archive
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Modified: trunk/Tools/ChangeLog (222120 => 222121)
--- trunk/Tools/ChangeLog 2017-09-16 00:02:48 UTC (rev 222120)
+++ trunk/Tools/ChangeLog 2017-09-16 00:04:16 UTC (rev 222121)
@@ -1,3 +1,19 @@
+2017-09-15 Lucas Forschler <[email protected]>
+
+ teach build.webkit.org to include run-webkit-archive in the root folder of uploaded macOS archives.
+ https://bugs.webkit.org/show_bug.cgi?id=176965
+
+ Reviewed by Alexey Proskuryakov.
+
+ * BuildSlaveSupport/built-product-archive:
+ (addLauncherToArchive): Helper function to add the launcher script
+ (createZip): teach function about addLauncherToArchive
+ * BuildSlaveSupport/run-webkit-archive: Added.
+ (check_for_valid_platform): Add logic to ensure platform is Darwin
+ (find_dyld_framework_path): Find the dyld framework path
+ (run_safari_for_webkit_development): launch SafariForWebKitDevelopment
+ (set_dyld_framework_path): export the environment for dydl framework path
+
2017-09-15 Myles C. Maxfield <[email protected]>
[WSL] Small cleanup in Evaluator
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes