Changeset 42162 in webkit


Ignore:
Timestamp:
Apr 1, 2009 7:58:14 PM (15 years ago)
Author:
mrowe@apple.com
Message:

Windows support for built-product-archive.

  • BuildSlaveSupport/built-product-archive:
Location:
trunk/WebKitTools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/BuildSlaveSupport/built-product-archive

    r42127 r42162  
    2424# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2525
    26 import optparse, os, shutil, subprocess
     26import optparse, os, shutil, subprocess, sys
    2727
    2828buildDirectory = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "WebKitBuild"))
     
    4949
    5050def archiveBuiltProduct(configuration, platform):
    51     assert platform == 'mac'
     51    assert platform in ('mac', 'win')
    5252
    53     configurationBuildDirectory = os.path.join(buildDirectory, configuration.title())
    5453    archiveFile = os.path.join(buildDirectory, configuration + ".zip")
    5554
     
    6059            raise
    6160
    62     subprocess.call(["ditto", "-c", "-k", "--keepParent", "--sequesterRsrc", configurationBuildDirectory, archiveFile])
     61    if platform == 'mac':
     62        configurationBuildDirectory = os.path.join(buildDirectory, configuration.title())
     63        return subprocess.call(["ditto", "-c", "-k", "--keepParent", "--sequesterRsrc", configurationBuildDirectory, archiveFile])
     64    elif platform == 'win':
     65        binDirectory = os.path.join(buildDirectory, "bin")
     66        thinDirectory = os.path.join(buildDirectory, "thin")
     67        thinBinDirectory = os.path.join(thinDirectory, "bin")
    6368
     69        if os.path.isdir(thinDirectory):
     70            shutil.rmtree(thinDirectory)
     71        os.mkdir(thinDirectory)
     72
     73        if subprocess.call(["cp", "-R", binDirectory, thinBinDirectory]):
     74            return 1
     75
     76        if subprocess.call("rm -f %s" % os.path.join(thinBinDirectory, "*.ilk"), shell=True):
     77            return 1
     78
     79        if subprocess.call(["zip", "-r", archiveFile, "bin"], cwd=thinDirectory):
     80            return 1
     81
     82        shutil.rmtree(thinDirectory)
    6483
    6584def extractBuiltProduct(configuration, platform):
    66     assert platform == 'mac'
     85    assert platform in ('mac', 'win')
    6786
    68     configurationBuildDirectory = os.path.join(buildDirectory, configuration.title())
    6987    archiveFile = os.path.join(buildDirectory, configuration + ".zip")
    7088
    71     if os.path.isdir(configurationBuildDirectory):
    72         shutil.rmtree(configurationBuildDirectory)
     89    if platform == 'mac':
     90        configurationBuildDirectory = os.path.join(buildDirectory, configuration.title())
    7391
    74     subprocess.call(["ditto", "-x", "-k", archiveFile, buildDirectory])
    75     os.unlink(archiveFile)
     92        if os.path.isdir(configurationBuildDirectory):
     93            shutil.rmtree(configurationBuildDirectory)
    7694
     95        if subprocess.call(["ditto", "-x", "-k", archiveFile, buildDirectory]):
     96            return 1
     97        os.unlink(archiveFile)
     98
     99    elif platform == 'win':
     100        binDirectory = os.path.join(buildDirectory, "bin")
     101        if os.path.isdir(binDirectory):
     102            shutil.rmtree(binDirectory)
     103
     104        os.mkdir(binDirectory)
     105
     106        safariPath = subprocess.Popen('cygpath -w "$PROGRAMFILES"/Safari',
     107                                      shell=True, stdout=subprocess.PIPE).communicate()[0].strip()
     108
     109        if subprocess.call('cp -R "%s"/*.dll "%s"/*.resources %s' % (safariPath, safariPath, binDirectory), shell=True):
     110            return 1
     111
     112        if subprocess.call(["unzip", "-o", archiveFile], cwd=buildDirectory):
     113            return 1
     114
     115       
    77116
    78117if __name__ == '__main__':
    79     main()
     118    sys.exit(main())
  • trunk/WebKitTools/ChangeLog

    r42146 r42162  
     12009-04-01  Mark Rowe  <mrowe@apple.com>
     2
     3        Windows support for built-product-archive.
     4
     5        * BuildSlaveSupport/built-product-archive:
     6
    172009-03-31  Adam Roben  <aroben@apple.com>
    28
Note: See TracChangeset for help on using the changeset viewer.