* main:
Prepare for release 2.18.1.
Unzip specific emulator build into latest emulator build from sdkmanager. Support using modern build id for emulator-build.
* main:
Prepare for release 2.18.0.
Add sample workflow for AVD snapshot caching.
Add `force-avd-creation` to Configurations table in README.md.
Add force-avd-creation to skip avd creation if avd with same name exists. Update workflow to test snapshot caching.
Add accompanist to adoption list
Gradle 7.1.
Bump glob-parent from 5.1.1 to 5.1.2
Bump ws from 7.3.1 to 7.4.6
* main:
Prepare for release 2.17.0.
Update test fixture dependencies.
Add option to toggle Linux hardware acceleration
Bump hosted-git-info from 2.8.8 to 2.8.9
Bump lodash from 4.17.19 to 4.17.21
* main:
Prepare for release 2.16.0.
Add support for arm64-v8a for Apple Silicon Macs
Add option to disable spellcheck
Bump y18n from 4.0.0 to 4.0.1
Update README.md
Add google/android-fhir to the list of projects that use android-emulator-runner (#132)
Add Wikipedia app to list of projects.
Add kiwix-android to the list of projects
Avoid Wrapping Script Code In Quotes
The exec() command only runs a program with literal argument strings.
It does not know how to do things like expanding environment variables,
or piping/redirection. Hence the way to get "shell intelligence"
is to use exec() to run the `sh` process with the command line string
as a parameter.
But the method being used to do this was:
exec.exec(`sh -c \\"${script}"`)
This has problems, because wrapping the script in quotes creates
issues when the script itself contains quotes. Escaping the string
correctly is a non-trivial problem, which also would create "noise"
in the debug output which would add confusion.
http://mywiki.wooledge.org/BashFAQ/050
The easiest way to work around this here is to use the array form of
exec() to pass exactly two parameters to `sh`. No manipulation of the
script string is needed with this approach:
exec.exec("sh", ["-c", script])
There are more cases in the project of `sh -c` usage which should also
be changed, and likely abstracted (shellExec()?) But this small patch
just fixes the most important case for the user-provided script.
---
Additionally, this removes the escaped backslash (`\\`) from the
start of the executed command. That was presumably to suppress the
use of aliases:
https://unix.stackexchange.com/questions/524254/why-are-backslashes-included-in-this-shell-script
But because this is invoking a non-interactive shell session, aliases
would not apply. Hence the extra backslash shouldn't be needed.
* main:
Prepare for release 2.14.3.
Always add path for cmdline-tools to support macos-11.0.
Gradle 6.8.
Add Hash Checker app projects to consumers list
Add LeakCanary to adopter list