On Tue, 21 Jun 2022 09:30:30 GMT, Alex Kasko <aka...@openjdk.org> wrote:
> jpackage implementation of file association on Windows currently passes a > selected filename as an only argument to associated executable. > > It is proposed to introduce additional option in file association property > file to allow optionally support additional arguments using `%*` batch > wildcard. > > Note, current implementation, while fully functional, is only a **DRAFT** > one, it is not ready for integration in this form. I would appreciate any > guidance on the following points: > > - option naming inside a properties file, currently `pass-all-args` is used > - option naming in a bundler parameter implementation, it is not clear if it > should introduce a new group of "file association windows specific options" > next to the existing "file association mac specific options" group > - test organization to cover the new option: currently it is included inside > `FileAssociationTest` and piggybacks on the existing (and unrelated) > `includeDescription` parameter; it is not clear whether it should be done in > a separate test and whether to include runs for every parameter combination > - test run implementation: currently arguments are checked when a file with > associated extension is invoked from command line; it is not clear whether it > would be more appropriate instead to create a desktop shortcut with the same > command as a target and to invoke it with `java.awt.Desktop` > > Also please note, that full install/uninstall run is currently enabled in > `FileAssociationTest`, it is intended to be used only in a draft code during > the development and to be removed (to use the same "install or unpack" logic > as other tests) in a final version. > > Testing: > > - [x] test to cover new logic is included > - [x] ran jtreg:jdk/tools/jpackage with no new failures src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WixAppImageFragmentBuilder.java line 533: > 531: xml.writeAttribute("Command", "Open"); > 532: if (fa.passAllArguments) { > 533: xml.writeAttribute("Argument", "\"%1\" %*"); Wondering if simple `"%*"` would be sufficient to preserve arguments with spaces. ------------- PR: https://git.openjdk.org/jdk/pull/9224