Title: [219110] trunk/Tools
Revision
219110
Author
[email protected]
Date
2017-07-03 17:16:37 -0700 (Mon, 03 Jul 2017)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=174105

Reviewed by Stephanie Lewis.

* BuildSlaveSupport/built-product-archive:
(main): Add a -minify parser option
(createZip): Pass along the optional Minify argument if requested
(minifySource): This will trim down archives, logic limited to Mac platform.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/built-product-archive (219109 => 219110)


--- trunk/Tools/BuildSlaveSupport/built-product-archive	2017-07-04 00:10:29 UTC (rev 219109)
+++ trunk/Tools/BuildSlaveSupport/built-product-archive	2017-07-04 00:16:37 UTC (rev 219110)
@@ -42,7 +42,9 @@
     parser.add_option("--platform", dest="platform")
     parser.add_option("--debug", action="" const="debug", dest="configuration")
     parser.add_option("--release", action="" const="release", dest="configuration")
-
+    parser.add_option("--minify", action="" dest="minify", default=False,
+                      help="Create a minified archive")
+                      
     options, (action, ) = parser.parse_args()
     if not options.platform:
         parser.error("Platform is required")
@@ -64,7 +66,7 @@
         return 1
 
     if action == 'archive':
-        return archiveBuiltProduct(options.configuration, genericPlatform, options.platform)
+        return archiveBuiltProduct(options.configuration, genericPlatform, options.platform, options.minify)
     else:
         return extractBuiltProduct(options.configuration, genericPlatform)
 
@@ -135,8 +137,10 @@
     archiveZip.close()
 
 
-def createZip(directoryToZip, configuration, embedParentDirectoryNameOnDarwin=False):
+def createZip(directoryToZip, configuration, embedParentDirectoryNameOnDarwin=False, minify=False):
     archiveDir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "WebKitBuild"))
+    if minify:
+        configuration = 'minified-' + configuration
     archiveFile = os.path.join(archiveDir, configuration + ".zip")
 
     try:
@@ -169,7 +173,21 @@
     return False
 
 
-def archiveBuiltProduct(configuration, platform, fullPlatform):
+def minifySource(platform):
+    if platform == 'mac':
+        dir_patterns = ('.dSYM', 'DerivedSources')
+        file_patterns = ('.a',)
+        for root, dirs, files in os.walk(_configurationBuildDirectory):
+            if any(root.endswith(pattern) for pattern in dir_patterns):
+                print 'Removing: {}'.format(root)
+                shutil.rmtree(root)
+            for name in files:
+                if any(name.endswith(pattern) for pattern in file_patterns):
+                    print 'Removing: {}'.format(os.path.join(root, name))
+                    os.remove(os.path.join(root, name))
+
+
+def archiveBuiltProduct(configuration, platform, fullPlatform, minify=False):
     assert platform in ('mac', 'win', 'gtk', 'ios', 'wpe')
 
     if platform == 'ios':
@@ -184,7 +202,9 @@
 
         return createZip(combinedDirectory, configuration)
     elif platform == 'mac':
-        return createZip(_configurationBuildDirectory, configuration, embedParentDirectoryNameOnDarwin=True)
+        if minify:
+            minifySource(platform)
+        return createZip(_configurationBuildDirectory, configuration, embedParentDirectoryNameOnDarwin=True, minify=minify)
     elif platform == 'win':
         # FIXME: We shouldn't hardcode the assumption of a 32-bit build. See <https://bugs.webkit.org/show_bug.cgi?id=149715>.
         binDirectory = os.path.join(_configurationBuildDirectory, 'bin32')

Modified: trunk/Tools/ChangeLog (219109 => 219110)


--- trunk/Tools/ChangeLog	2017-07-04 00:10:29 UTC (rev 219109)
+++ trunk/Tools/ChangeLog	2017-07-04 00:16:37 UTC (rev 219110)
@@ -1,3 +1,14 @@
+2017-07-03  Lucas Forschler  <[email protected]>
+
+        https://bugs.webkit.org/show_bug.cgi?id=174105
+        
+        Reviewed by Stephanie Lewis.
+
+        * BuildSlaveSupport/built-product-archive:
+        (main): Add a -minify parser option
+        (createZip): Pass along the optional Minify argument if requested
+        (minifySource): This will trim down archives, logic limited to Mac platform.
+
 2017-07-03  Matt Rajca  <[email protected]>
 
         Add/remove appropriate media element behavior restrictions when updateWebsitePolicies is called
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to