On Tue, 21 Jun 2022 09:30:30 GMT, Alex Kasko <[email protected]> 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