-
Notifications
You must be signed in to change notification settings - Fork 31
Description
I have a class with a main method serving as an entry point for the application, both for graphical and command-line interfaces. If any command-line arguments are passed to the app, it starts in headless mode. If no arguments are specified, it starts with a GUI. When it starts with a GUI, I don't want the console window to be shown.
As far as I understand, I can create two launchers: one for GUI, one for CLI. Which is not very straightforward with this plugin though. But can I do it within the same launcher?
I had a clue that this could be done using a custom launcher script and choosing java or javaw based on whether the app was passed any command-line args or not. I assumed that this launcher scripts are somehow compiled into an executable launcher. Is this assumption correct?
| def resourceName = noConsole ? '/windowsScriptTemplateJavaw.txt' : '/windowsScriptTemplate.txt' |
I tried to check my assumption by providing a custom launcher script. See my demo. I inserted an echo command and also set environment variable DEBUG=TRUE to enable output on the script. Judging that it does not output any echo commands and does not behave the way I want it to (choose java/javaw), I conclude that it is not using this script for the launcher. It is not used for :run task either.
What is the purpose of unixScriptTemplate and windowsScriptTemplate launcher properties? The docs give a very vague description. Am I using it wrong in my demo? Why is not used?