PowerShell, environment variables, command invocation, and spaces
I have tried so many different ways of invoking a command (the Android SDK manager) in my appveyor.yml. The location of the Android SDK that ships with the VS2017 image is under Program Files - with a damned space in it. And it is causing me to rip my hair out.
Full appveyor.yml code in its current form: https://github.com/filmaj/cordova-android/blob/ci-native-tests/appveyor.yml
You can see my frustrating via a series of latest commits in this pull request I am working on: https://github.com/apache/cordova-android/pull/392
I need to accept multiple Android licenses as part of using the SDK manager, so I use this line:
- ps: for($i=0;$i -lt 30;$i++) { $response += "y`n"}; $response | cmd /c '"%UPDATE_SDK%"'
Basically trying to emulate typing "Y ENTER" 30 times.
The %UPDATE_SDK% environment variable looks like this, according to Appveyor output (I echo out the env var near the start of the appveyor.yml file):
echo %UPDATE_SDK%
C:\Program Files (x86)\Android\android-sdk\tools\bin\sdkmanager.bat --update
The error I'm getting is this:
for($i=0;$i -lt 30;$i++) { $response += "y`n"}; $response | cmd /c '"%UPDATE_SDK%"'
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Please help!
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Ilya Finkelshte... on 14 Jul, 2017 11:06 AM
Please check this PR: https://github.com/filmaj/cordova-android/pull/1
Ilya Finkelshteyn closed this discussion on 25 Aug, 2018 02:18 AM.