Commits
Tarun Sukhani authored 045a16913b3
fix(cli): play new takes a path and names the app after its last segment (PF-182) `play new /tmp/apps/demo`, run from /tmp/work, scaffolded into /tmp/work/tmp/apps/demo and reported success. The shim took its first argument as a name and always prefixed the invoking directory; the absolute-path check a few lines later only applied to --dest. The whole path then went out as -Pname, so application.name was the path and rootProject.name the path with its separators stripped, which is also the name play bundle gives its zip. An argument containing a slash is now a path, as the 1.12 CLI took it: the destination is that path (absolute as given, relative against the directory play was invoked from) and the name is its last segment, trailing slashes ignored. `/`, `./`, `apps/..` and the like leave nothing to name the app after and are refused with the usage text before any scratch directory is staged. A plain name behaves exactly as before, and --dest still overrides the destination. PlayShimTest gains six cases that run a copy of the shim from a fake PLAY_HOME with a stub gradlew and assert the -Pname and -Pdest it receives; five fail against the old shim, the sixth pins the plain-name behaviour. Checked under dash, ksh and zsh's sh emulation, and with a real Gradle: `play new <absolute path>` from another directory scaffolds there with application.name=demo and rootProject.name = "demo". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>