Aren't we embedding this bundle ID in every launcher, so you would
need a <launcher>.template for each possible launcher that could be
included in an app?
I naively assumed that only the java launcher was needed, since this is
about packaging a Java app, so all you'd need is an entry to your main
class. Is this not the case?
What I think we need to do is first evaluate if we actually need to
embed this bundle ID in the executables at all, or rather, what would
the consequences be if we didn't. My understanding is that we only do
this to be able to run them outside of a bundle directory structure,
but this would need some pretty thorough testing of course. If we are
to generate a special set of launchers for jpackage, maybe all we need
to do is not embed any bundle ID in them, as they are meant to only be
used within a jpackaged app, so they should be covered by Info.plist
files anyway.
What you say sounds good, although I feel I only partially understand
it. :-)
I assume the important point here is that the app get the
NSMicrophoneUsageDescription property, and afaict this can be provided
by the Info.plist file for the entire application, as you say. And
possible the problem here is that we embed metadata in the java
executable at the same time.
There seems to be a lot of guessing here. :-) I assume we either need to
read up on how this works (which might be difficult if this is seem as a
badly documented corner case even by Apple tech support), or test some
alternatives, or perhaps both.
That solution make take some time to get correct, so the jpackage team
needs to decide if they want to go with the workaround in this PR in the
meantime.
/Magnus
/Erik