v1.6.2
What's changed
appmap-gold-traces: detected launchers work on Windows
When commands.runner is unset, the engine picks a launcher for the project. The record command runs through the platform's shell, which is cmd.exe on Windows, and three of the choices did not run there. (#8, #12)
| Framework | Windows launcher now | Why |
|---|---|---|
| pytest, unittest | .venv\Scripts\appmap-python .venv\Scripts\pytest |
pip writes appmap-python.exe, so the venv was never found. venv is covered too. |
| maven, gradle | mvnw test, gradlew appmap test |
cmd.exe reads ./mvnw as the command . with a switch. The bare name works: cmd.exe looks in the current directory and adds the .cmd or .bat itself. |
| rails-test | ruby bin/rails test |
bin/rails has no extension. |
Nothing changes on macOS or Linux. manage.mjs --help shows the Windows forms. A test runs the wrapper launcher through the real shell on each CI system, so this is checked on Windows, not just reasoned about.
appmap-gold-traces: no APPMAP=true for Ruby
rspec, minitest and rails-test no longer set APPMAP=true on the record command. appmap-ruby's test hooks turn recording on by themselves, and APPMAP=true enables every recording method, requests included, which the gem warns about. commands.record_env still works for a project that needs something else. The cucumber example in the manifest template drops the variable too.
Upgrading
Nothing to change in projects. If a manifest sets runner: to work around either of these on Windows, it can be removed; run plan to see what the engine picks.
Full changelog: v1.6.1...v1.6.2