You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bh...@apache.org on 2014/01/31 05:35:13 UTC
[2/2] webworks commit: CB-5660 use enabledelayedexpansion to handle
)s in path
CB-5660 use enabledelayedexpansion to handle )s in path
Refactoring file finding to a separate script which is mostly only used on WinXP
- it also needs to be copied by create.js
Avoid using %~...s in favor of relying on quotes
Project: http://git-wip-us.apache.org/repos/asf/cordova-blackberry/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-blackberry/commit/04491384
Tree: http://git-wip-us.apache.org/repos/asf/cordova-blackberry/tree/04491384
Diff: http://git-wip-us.apache.org/repos/asf/cordova-blackberry/diff/04491384
Branch: refs/heads/master
Commit: 0449138496a5bd1659f7d9cd81cc75b2289cc5a5
Parents: ae20ff5
Author: Josh Soref <js...@blackberry.com>
Authored: Mon Dec 16 16:50:08 2013 -0500
Committer: Bryan Higgins <br...@bryanhiggins.net>
Committed: Thu Jan 30 23:34:10 2014 -0500
----------------------------------------------------------------------
blackberry10/bin/check_reqs.bat | 7 +-
blackberry10/bin/create.bat | 4 +-
blackberry10/bin/create.js | 1 +
blackberry10/bin/init.bat | 122 ++++++++++---------
blackberry10/bin/target.bat | 4 +-
.../project/cordova/bb10-ndk-version.bat | 4 +-
.../bin/templates/project/cordova/build.bat | 4 +-
.../bin/templates/project/cordova/clean.bat | 4 +-
.../project/cordova/install-device.bat | 4 +-
.../project/cordova/install-emulator.bat | 4 +-
.../project/cordova/lib/list-devices.bat | 2 +-
.../cordova/lib/list-emulator-images.bat | 2 +-
.../cordova/lib/list-started-emulators.bat | 2 +-
.../bin/templates/project/cordova/run.bat | 4 +-
.../bin/templates/project/cordova/version.bat | 4 +-
blackberry10/bin/update.bat | 4 +-
blackberry10/bin/whereis.cmd | 19 +++
17 files changed, 111 insertions(+), 84 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/check_reqs.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/check_reqs.bat b/blackberry10/bin/check_reqs.bat
index c25beb1..0de7c75 100755
--- a/blackberry10/bin/check_reqs.bat
+++ b/blackberry10/bin/check_reqs.bat
@@ -18,11 +18,6 @@ goto comment
under the License.
:comment
-set INITCALL="%~dps0init"
-if not exist INITCALL (
- set INITCALL="%~dp0init"
-)
-
-call %INITCALL%
+call "%~dp0init"
if ERRORLEVEL 1 exit /B %ERRORLEVEL%
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/create.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/create.bat b/blackberry10/bin/create.bat
index 428d01b..f2f3998 100644
--- a/blackberry10/bin/create.bat
+++ b/blackberry10/bin/create.bat
@@ -17,13 +17,13 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-set BIN_DIR=%~dp0
+set "BIN_DIR=%~dp0"
call "%BIN_DIR%init"
if ERRORLEVEL 1 exit /B %ERRORLEVEL%
if exist "%BIN_DIR%..\package.json" (
- pushd %BIN_DIR%..
+ pushd "%BIN_DIR%.."
call "%CORDOVA_NODE%\npm" install
if ERRORLEVEL 1 exit /B 1
popd
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/create.js
----------------------------------------------------------------------
diff --git a/blackberry10/bin/create.js b/blackberry10/bin/create.js
index 30766bf..4940f3f 100644
--- a/blackberry10/bin/create.js
+++ b/blackberry10/bin/create.js
@@ -129,6 +129,7 @@ function copyFilesToProject() {
utils.copyFile(path.join(BIN_DIR, "lib", "signing-utils.js"), path.join(project_path, "cordova", "lib"));
// copy repo level init script to project
+ utils.copyFile(path.join(BIN_DIR, "whereis.cmd"), path.join(project_path, "cordova"));
utils.copyFile(path.join(BIN_DIR, "init.bat"), path.join(project_path, "cordova"));
utils.copyFile(path.join(BIN_DIR, "init"), path.join(project_path, "cordova"));
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/init.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/init.bat b/blackberry10/bin/init.bat
index b90e871..d7fe0bd 100644
--- a/blackberry10/bin/init.bat
+++ b/blackberry10/bin/init.bat
@@ -17,70 +17,71 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
+setlocal enabledelayedexpansion
-set /P CORDOVA_VERSION=<%~dps0..\VERSION
-set CORDOVA_HOME_DIR=%USERPROFILE%\.cordova\lib\blackberry10\cordova\%CORDOVA_VERSION%
-set LOCAL_NODE_BINARY=%CORDOVA_HOME_DIR%\bin\dependencies\node\bin
-set LOCAL_BBTOOLS_BINARY=%CORDOVA_HOME_DIR%\bin\dependencies\bb-tools\bin
+set /P CORDOVA_VERSION=<"%~dp0..\VERSION"
+set "CORDOVA_HOME_DIR=!USERPROFILE!\.cordova\lib\blackberry10\cordova\!CORDOVA_VERSION!"
+set "LOCAL_NODE_BINARY=!CORDOVA_HOME_DIR!\bin\dependencies\node\bin"
+set "LOCAL_BBTOOLS_BINARY=!CORDOVA_HOME_DIR!\bin\dependencies\bb-tools\bin"
-set FOUNDJAVA=
-for %%e in (%PATHEXT%) do (
- for %%X in (java%%e) do (
- if not defined FOUNDJAVA (
- set FOUNDJAVA=%%~$PATH:X
- )
- )
+set FOUNDWHERE=
+for /f "usebackq delims=" %%e in (`where where 2^>nul`) do (
+ if not defined FOUNDWHERE set "FOUNDWHERE=%%e"
)
-if not defined FOUNDJAVA (
- set JAVAPATH="%ProgramFiles(x86)%\java\jre7\bin;%ProgramW6432%\java\jre7\bin;"
- for %%e in (%PATHEXT%) do (
- for %%X in (java%%e) do (
- if not defined FOUNDJAVAAT (
- set FOUNDJAVAAT=%%~dp$JAVAPATH:X
- )
+if not defined FOUNDWHERE set "FOUNDWHERE=%~dp0\whereis"
+
+set FOUNDJAVAAT=
+for /f "usebackq delims=" %%e in (`"%FOUNDWHERE%" java 2^>nul`) do (
+ if not defined FOUNDJAVAAT set "FOUNDJAVAAT=%%~dpe"
+)
+:: While we could normally ask where.exe to search an arbitrary environment variable,
+:: it's too complicated to teach whereis.cmd to do that
+:: instead we're going to replace PATH with a special PATH
+:: In case you're curious, you can't nest ::'s inside ()s
+if not defined FOUNDJAVAAT (
+ setlocal enabledelayedexpansion
+ SET "PATH=%ProgramFiles(x86)%\java\jre7\bin;%ProgramW6432%\java\jre7\bin;"
+ for /f "usebackq delims=" %%e in (`"%FOUNDWHERE%" java 2^>nul`) do (
+ set "FOUNDJAVAAT=%%~dpe"
+ )
+ if defined FOUNDJAVAAT (
+ for /f "delims=" %%C in (""!FOUNDJAVAAT!"") do (
+ endlocal
+ set "FOUNDJAVAAT=%%~C"
+ )
+ if defined FOUNDJAVAAT (
+ set "PATH=!PATH!;!FOUNDJAVAAT!"
)
+ ) else (
+ endlocal
)
)
-if defined FOUNDJAVAAT (
- set PATH=%PATH%;%FOUNDJAVAAT%
-)
+:: While there are two endlocal calls, they're mutually exclusive and bookend the setlocal
if defined CORDOVA_NODE (
- if exist "%CORDOVA_NODE%" (
- if defined CORDOVA_BBTOOLS (
- if exist "%CORDOVA_BBTOOLS%" (
- goto end
- )
- )
+ if exist "!CORDOVA_NODE!" (
+ if defined CORDOVA_BBTOOLS (
+ if exist "!CORDOVA_BBTOOLS!" (
+ goto end
+ )
)
+ )
)
-if exist "%LOCAL_NODE_BINARY%" (
- set CORDOVA_NODE=%LOCAL_NODE_BINARY%
+if exist "!LOCAL_NODE_BINARY!" (
+ set "CORDOVA_NODE=!LOCAL_NODE_BINARY!"
) else (
- set FOUNDNODE=
- for %%e in (%PATHEXT%) do (
- for %%X in (node%%e) do (
- if not defined FOUNDNODE (
- set FOUNDNODE=%%~$PATH:X
- for %%F in ("%%~$PATH:X") do set CORDOVA_NODE=%%~dpF
- )
- )
- )
+ for /f "usebackq delims=" %%e in (`%FOUNDWHERE% node 2^>nul`) do (
+ set "CORDOVA_NODE=%%~dpe"
+ )
)
-if exist "%LOCAL_BBTOOLS_BINARY%" (
- set CORDOVA_BBTOOLS=%LOCAL_BBTOOLS_BINARY%
+if exist "!LOCAL_BBTOOLS_BINARY!" (
+ set "CORDOVA_BBTOOLS=!LOCAL_BBTOOLS_BINARY!"
) else (
- set FOUNDBBTOOLS=
- for %%e in (%PATHEXT%) do (
- for %%X in (blackberry-nativepackager%%e) do (
- if not defined FOUNDBBTOOLS (
- set FOUNDBBTOOLS=%%~$PATH:X
- for %%F in ("%%~$PATH:X") do set CORDOVA_BBTOOLS=%%~dpF
- )
- )
- )
+ for /f "usebackq delims=" %%e in (`%FOUNDWHERE% blackberry-nativepackager 2^>nul`) do (
+ set "CORDOVA_BBTOOLS=%%~dpe"
+ )
)
:end
@@ -97,27 +98,38 @@ if exist "%~dp0..\package.json" (
exit /b 2
)
)
-if not defined FOUNDJAVA (
+if not defined FOUNDJAVAAT (
echo java cannot be found on the path. Aborting.
exit /b 2
)
-if not exist "%CORDOVA_BBTOOLS%\blackberry-nativepackager.bat" (
+if not exist "!CORDOVA_BBTOOLS!\blackberry-nativepackager.bat" (
echo blackberry-nativepackager cannot be found on the path. Aborting.
exit /b 2
)
-if not exist "%CORDOVA_BBTOOLS%\blackberry-deploy.bat" (
+if not exist "!CORDOVA_BBTOOLS!\blackberry-deploy.bat" (
echo blackberry-deploy cannot be found on the path. Aborting.
exit /b 2
)
-if not exist "%CORDOVA_BBTOOLS%\blackberry-signer.bat" (
+if not exist "!CORDOVA_BBTOOLS!\blackberry-signer.bat" (
echo blackberry-signer cannot be found on the path. Aborting.
exit /b 2
)
-if not exist "%CORDOVA_BBTOOLS%\blackberry-debugtokenrequest.bat" (
+if not exist "!CORDOVA_BBTOOLS!\blackberry-debugtokenrequest.bat" (
echo blackberry-debugtokenrequest cannot be found on the path. Aborting.
exit /b 2
)
-"%CORDOVA_NODE%\node" "%~dp0\check_reqs.js" %*
+"!CORDOVA_NODE!\node" "%~dp0\check_reqs.js" %*
+:: Export variables we want to share with the caller
+for /f "delims=" %%A in (""!CORDOVA_NODE!"") do (
+ for /f "delims=" %%B in (""!CORDOVA_BBTOOLS!"") do (
+ for /f "delims=" %%C in (""!PATH!"") do (
+ endlocal
+ set "CORDOVA_NODE=%%~A"
+ set "CORDOVA_BBTOOLS=%%~B"
+ set "PATH=%%~C"
+ )
+ )
+)
exit /b 0
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/target.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/target.bat b/blackberry10/bin/target.bat
index 2a5c028..b760775 100755
--- a/blackberry10/bin/target.bat
+++ b/blackberry10/bin/target.bat
@@ -17,7 +17,7 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
+call "%~dp0init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\target" %*
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\target" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/bb10-ndk-version.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/bb10-ndk-version.bat b/blackberry10/bin/templates/project/cordova/bb10-ndk-version.bat
index 5414d9c..00d113c 100644
--- a/blackberry10/bin/templates/project/cordova/bb10-ndk-version.bat
+++ b/blackberry10/bin/templates/project/cordova/bb10-ndk-version.bat
@@ -17,5 +17,5 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\bb10-ndk-version" %*
+call "%~dp0init"
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\bb10-ndk-version" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/build.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/build.bat b/blackberry10/bin/templates/project/cordova/build.bat
index 305cd4a..e20e8c5 100755
--- a/blackberry10/bin/templates/project/cordova/build.bat
+++ b/blackberry10/bin/templates/project/cordova/build.bat
@@ -17,7 +17,7 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
+call "%~dp0init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\build" %*
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\build" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/clean.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/clean.bat b/blackberry10/bin/templates/project/cordova/clean.bat
index 705edbf..30129a6 100755
--- a/blackberry10/bin/templates/project/cordova/clean.bat
+++ b/blackberry10/bin/templates/project/cordova/clean.bat
@@ -17,7 +17,7 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
+call "%~dp0init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\clean" %*
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\clean" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/install-device.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/install-device.bat b/blackberry10/bin/templates/project/cordova/install-device.bat
index 52d20f6..63c9fec 100755
--- a/blackberry10/bin/templates/project/cordova/install-device.bat
+++ b/blackberry10/bin/templates/project/cordova/install-device.bat
@@ -17,7 +17,7 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
+call "%~dp0init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\install-device" %*
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\install-device" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/install-emulator.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/install-emulator.bat b/blackberry10/bin/templates/project/cordova/install-emulator.bat
index bf1b3a5..2521da6 100644
--- a/blackberry10/bin/templates/project/cordova/install-emulator.bat
+++ b/blackberry10/bin/templates/project/cordova/install-emulator.bat
@@ -17,7 +17,7 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
+call "%~dp0init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\install-emulator" %*
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\install-emulator" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/lib/list-devices.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/lib/list-devices.bat b/blackberry10/bin/templates/project/cordova/lib/list-devices.bat
index 6bba9a0..db0602e 100644
--- a/blackberry10/bin/templates/project/cordova/lib/list-devices.bat
+++ b/blackberry10/bin/templates/project/cordova/lib/list-devices.bat
@@ -19,4 +19,4 @@
call "%~dp0..\init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\list-devices.js"
+"%CORDOVA_NODE%\node.exe" "%~dp0\list-devices.js"
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/lib/list-emulator-images.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/lib/list-emulator-images.bat b/blackberry10/bin/templates/project/cordova/lib/list-emulator-images.bat
index c13d521..613a2a4 100644
--- a/blackberry10/bin/templates/project/cordova/lib/list-emulator-images.bat
+++ b/blackberry10/bin/templates/project/cordova/lib/list-emulator-images.bat
@@ -19,4 +19,4 @@
call "%~dp0..\init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\list-emulator-images.js"
+"%CORDOVA_NODE%\node.exe" "%~dp0\list-emulator-images.js"
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/lib/list-started-emulators.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/lib/list-started-emulators.bat b/blackberry10/bin/templates/project/cordova/lib/list-started-emulators.bat
index 81dca2c..0931f39 100644
--- a/blackberry10/bin/templates/project/cordova/lib/list-started-emulators.bat
+++ b/blackberry10/bin/templates/project/cordova/lib/list-started-emulators.bat
@@ -19,4 +19,4 @@
call "%~dp0..\init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\list-started-emulators.js"
+"%CORDOVA_NODE%\node.exe" "%~dp0\list-started-emulators.js"
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/run.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/run.bat b/blackberry10/bin/templates/project/cordova/run.bat
index 6daeee8..42c413a 100755
--- a/blackberry10/bin/templates/project/cordova/run.bat
+++ b/blackberry10/bin/templates/project/cordova/run.bat
@@ -17,7 +17,7 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
+call "%~dp0init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\run" %*
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\run" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/templates/project/cordova/version.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/templates/project/cordova/version.bat b/blackberry10/bin/templates/project/cordova/version.bat
index 47a487e..22e3526 100755
--- a/blackberry10/bin/templates/project/cordova/version.bat
+++ b/blackberry10/bin/templates/project/cordova/version.bat
@@ -17,7 +17,7 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
+call "%~dp0init"
if ERRORLEVEL 1 exit /B 1
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\version" %*
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\version" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/update.bat
----------------------------------------------------------------------
diff --git a/blackberry10/bin/update.bat b/blackberry10/bin/update.bat
index 02bd6c7..5a71671 100755
--- a/blackberry10/bin/update.bat
+++ b/blackberry10/bin/update.bat
@@ -17,5 +17,5 @@ goto comment
specific language governing permissions and limitations
under the License.
:comment
-call "%~dps0init"
-"%CORDOVA_NODE%\node.exe" "%~dps0\lib\update.js" %*
+call "%~dp0init"
+"%CORDOVA_NODE%\node.exe" "%~dp0\lib\update.js" %*
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/04491384/blackberry10/bin/whereis.cmd
----------------------------------------------------------------------
diff --git a/blackberry10/bin/whereis.cmd b/blackberry10/bin/whereis.cmd
new file mode 100644
index 0000000..372bcef
--- /dev/null
+++ b/blackberry10/bin/whereis.cmd
@@ -0,0 +1,19 @@
+@echo off
+setlocal enabledelayedexpansion
+set var_a=%1
+call :sub %var_a%
+if exist %var_b% if not exist %var_b%\nul goto exit
+for %%i in (.com .exe .cmd .bat) do (
+ call :sub %var_a%%%i
+ if exist !var_b! goto exit
+)
+echo INFO: could not find files for the given pattern(s) 1>&2
+exit /b 1
+
+:sub
+set var_b=%~$PATH:1
+goto :EOF
+
+:exit
+echo %var_b%
+exit /b 0