Return-Path: X-Original-To: apmail-corinthia-commits-archive@minotaur.apache.org Delivered-To: apmail-corinthia-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 973B4106F3 for ; Fri, 13 Feb 2015 08:52:42 +0000 (UTC) Received: (qmail 36916 invoked by uid 500); 13 Feb 2015 08:52:42 -0000 Delivered-To: apmail-corinthia-commits-archive@corinthia.apache.org Received: (qmail 36898 invoked by uid 500); 13 Feb 2015 08:52:42 -0000 Mailing-List: contact commits-help@corinthia.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@corinthia.incubator.apache.org Delivered-To: mailing list commits@corinthia.incubator.apache.org Received: (qmail 36889 invoked by uid 99); 13 Feb 2015 08:52:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Feb 2015 08:52:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 13 Feb 2015 08:52:16 +0000 Received: (qmail 36399 invoked by uid 99); 13 Feb 2015 08:52:13 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Feb 2015 08:52:13 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 24B28E07F6; Fri, 13 Feb 2015 08:52:13 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jani@apache.org To: commits@corinthia.incubator.apache.org Date: Fri, 13 Feb 2015 08:52:13 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [01/38] incubator-corinthia git commit: extract_downloads.bat and helper unzip-win.js 1.00 X-Virus-Checked: Checked by ClamAV on apache.org Repository: incubator-corinthia Updated Branches: refs/heads/experimentZip e8d93d482 -> 302d5412d extract_downloads.bat and helper unzip-win.js 1.00 The pair of scripts provide custom extraction of external downloads for win32 x86 dependencies from Corinthia components. Implementation uses native Windows technology with no additional components required. Project: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/commit/13846644 Tree: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/tree/13846644 Diff: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/diff/13846644 Branch: refs/heads/experimentZip Commit: 13846644c85b27a4500717ddb2e02e07e56fa041 Parents: e8d93d4 Author: Dennis Hamilton Authored: Fri Jan 2 16:43:19 2015 -0800 Committer: Dennis Hamilton Committed: Fri Jan 2 17:09:41 2015 -0800 ---------------------------------------------------------------------- external/extract_downloads.bat | 118 ++++++++++++++++++++++++++++++++++++ external/unzip-win.js | 46 ++++++++++++++ 2 files changed, 164 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/13846644/external/extract_downloads.bat ---------------------------------------------------------------------- diff --git a/external/extract_downloads.bat b/external/extract_downloads.bat new file mode 100644 index 0000000..4157a8e --- /dev/null +++ b/external/extract_downloads.bat @@ -0,0 +1,118 @@ +@echo off +rem extract_downloads.bat 1.00 UTF-8 +rem EXTRACT THE EXTERNAL DOWNLOADS TO INCLUDE, LIB, AND BIN FOLDERS + +rem Fetch downloads in case not done yet +CALL "%~dp0fetch_downloads.bat" + +rem Determine if any of the packages are missing +SET extract_downloads= +CALL :CHECKON zlib128-dll.zip +CALL :CHECKON iconv-1.9.2.win32.zip +CALL :CHECKON libxml2-2.7.8.win32.zip +CALL :CHECKON SDL2-devel-2.0.3-VC.zip +CALL :CHECKON SDL2_image-devel-2.0.0-VC.zip + +rem This procedure can't proceed unless all are present +IF NOT "%extract_downloads%" == "" GOTO :FAIL1 + +CALL :CLEAN + +rem For extractions, use the zip name listed and the path, if any, from the +rem root of the zipped hierarchy to the level where include and libs are found + +CALL :SDL2x86 SDL2-devel-2.0.3-VC.zip SDL2-2.0.3\ +CALL :SDL2x86 SDL2_image-devel-2.0.0-VC.zip SDL2_image-2.0.0\ +CALL :ICONV iconv-1.9.2.win32.zip iconv-1.9.2.win32\ +CALL :LIBXML2 libxml2-2.7.8.win32.zip libxml2-2.7.8.win32\ +CALL :ZLIB zlib128-dll.zip "" + +EXIT /B 0 + +rem MOST MAINTENANCE IS BY UPDATING THE FILENAMES AND TOP PATHES ABOVE. +rem The extraction procedure do not require maintenance unless there is +rem a Zip layout change or new extraction cases are needed. + +rem CUSTOM EXTRACTION CASES FOR COLLECTING EXTERNAL INCLUDES, LIBS, AND BINS +rem Each one of these cases below accepts two parameters +rem %1 is the filename of the zip file, to be unzipped from +rem %~dp0download\%1 with expansion to folder %~dp0download\T +rem %2 is the path from T to the level at which parts like include +rem and lib are to be found. %2 is either empty or it is one or more +rem path segments each ending with "\". + +:SDL2x86 +rem taking T\%2include and T\%2lib\*.lib across, with T\%2lib\*.dll to bin +CALL :UNZIP %1 +XCOPY "%~dp0download\T\%2include\*.*" "%~dp0download\include" /I /Q /Y >nul +XCOPY "%~dp0download\T\%2lib\x86\*.lib" "%~dp0download\lib" /I /Q /Y >nul +XCOPY "%~dp0download\T\%2lib\x86\*.dll" "%~dp0download\bin" /I /Q /Y >nul +EXIT /B 0 + +:ICONV +rem taking T\%2include, T\%2lib, and T\%2bin\*.dll across +CALL :UNZIP %1 +XCOPY "%~dp0download\T\%2include\*.*" "%~dp0download\include" /I /Q /Y >nul +XCOPY "%~dp0download\T\%2lib\*.*" "%~dp0download\lib" /I /Q /Y >nul +XCOPY "%~dp0download\T\%2bin\*.dll" "%~dp0download\bin" /I /Q /Y >nul +EXIT /B 0 + +:LIBXML2 +rem taking T\%2include\libxml\, T\%2lib, and T\%2bin\*.dll across +CALL :UNZIP %1 +XCOPY "%~dp0download\T\%2include\libxml\*.*" "%~dp0download\include\libxml" /I /Q /Y >nul 2>&1 +XCOPY "%~dp0download\T\%2lib\*.*" "%~dp0download\lib" /I /Q /Y >nul +XCOPY "%~dp0download\T\%2bin\*.dll" "%~dp0download\bin" /I /Q /Y >nul +EXIT /B 0 + +:ZLIB +rem taking all across from T\%2include and T\%2lib, with T\%2*.dll to bin +CALL :UNZIP %1 +XCOPY "%~dp0download\T\%2include\*.*" "%~dp0download\include" /I /Q /Y >nul +XCOPY "%~dp0download\T\%2lib\*.*" "%~dp0download\lib" /I /Q /Y >nul +XCOPY "%~dp0download\T\%2*.dll" "%~dp0download\bin" /I /Q /Y >nul +EXIT /B 0 + +:UNZIP +rem EXTRACT ALL OF ZIP "%~dp0download\%1" TO "%~dp0download\T" +rem "%~dp0download\T" is not deleted until needed again, leaving the +rem last one for inspection when trouble-shooting. +RMDIR /S /Q "%~dp0download\T" >nul +ECHO: extracting %1 +Cscript /nologo "%~dp0unzip-win.js" //B "%~dp0download\%1" "%~dp0download\T" +EXIT /B 0 + +:CHECKON +IF EXIST "%~dp0download\%1" EXIT /B 0 +IF "%extract_downloads%" == "" ECHO: +ECHO: *** %1 UNAVAILABLE FOR EXTRACTION +SET extract_downloads=0 +EXIT /B 2 + +:CLEAN +rem clean out any previous material and be quiet about it +RMDIR /S /Q "%~dp0download\include" >nul +RMDIR /S /Q "%~dp0download\lib" >nul +RMDIR /S /Q "%~dp0download\bin" >nul +rem set up empty include, lib, and bin to receive fresh extractions +MKDIR "%~dp0download\include" +MKDIR "%~dp0download\lib" +MKDIR "%~dp0download\bin" +EXIT /B 0 + +:FAIL1 +SET extract_downloads= +ECHO: *** EXTRACTION REQUIRES ALL OF THE DOWNLOADS TO BE AVAILABLE +ECHO: *** Ensure that the archives downloaded by fetch_downloads.bat and +ECHO: *** expected here are the same. If the unavailable archives are +ECHO: *** no longer found at the URLs used in fetch_downloads.bat, find +ECHO: *** alternative locations for them. +ECHO: *** No extractions have been performed. +ECHO: +EXIT /B 2 + +rem 1.00 2015-01-02-16:25 Complete Full-Functioning Externals Extraction +rem Delivering the download\include, donwload\lib, and download\bin +rem collections established for the current external downloads. + +rem *** end of extract_downloads.bat *** http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/13846644/external/unzip-win.js ---------------------------------------------------------------------- diff --git a/external/unzip-win.js b/external/unzip-win.js new file mode 100644 index 0000000..8c89e19 --- /dev/null +++ b/external/unzip-win.js @@ -0,0 +1,46 @@ +/* unzip-win.js 1.00 UTF-8 + * USE WINDOWS SHELL TO EXTRACT ALL FROM ZIPS + * + * Cscript unzip-win.js zip dest + * performas an "extract all" of the zip to the dest folder, where + * + * zip is the full path file location of the zip to extract + * dest is the full path of the folder to which extraction occurs + * + * This is a helper script designed to be used with a larger script or + * batch file that provides clean parameters and usage. + * + * The present script is adapted from the solution by Greg Zakharov at + * on 2013-10-31. + * + * TODO + * It is a little startling when the Windows copying-files animation + * pops up when one of these runs long enough for its visibility. + * Find a way to inhibit that, if possible. + */ + + +try +{ var zip = WScript.Arguments(0); + var dest = WScript.Arguments(1); + + with (new ActiveXObject('Scripting.FileSystemObject')) + { + if (!FolderExists(dest)) CreateFolder(dest); + with (new ActiveXObject('Shell.Application')) + { + NameSpace(GetFolder(dest).Path) + .CopyHere(Namespace(GetFile(zip).Path).Items()); + } + } +} +catch (e) +{ + WScript.echo(e.message); +} + +/* 1.00 2015-01-02 Complete Adaptation for Corinthia Externals Extraction + */ + +/* *** end of unzip-win.js *** */ +