The swing UIManager class detects the correct look and feel settings by
looking inside the `sun.desktop` system property, here's the extract of
the JDK:
String desktop = AccessController.doPrivileged(new GetPropertyAction("sun.desktop"));
Toolkit toolkit = Toolkit.getDefaultToolkit();
if ("gnome".equals(desktop) &&
toolkit instanceof SunToolkit &&
((SunToolkit) toolkit).isNativeGTKAvailable()) {
// May be set on Linux and Solaris boxs.
return "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
}
Since we want always the GTK look and feel (even if the desktop is not
strictly a GNOME desktop) we force the `sun.desktop` property always to
`gnome`.
If two vendors declare the same tool (name and version) and platform.txt requires {runtime.tool-version.path}, the tool is chosen randomly.
This patch completes 6f24fa6cec
* CLI: Add --version to CLI option
I added to get the Arduino IDE version from the command line
It will allow to check easily if the new Arduino is already installed.
This feature makes it easier to build external systems linked to specific versions of Arduino.
1. I added `--version` action, which shows version name and exit
1. Currently, VERSION_NAME_LONG (like `1.8.5`, `1.9.0-beta`, `1.8.6 Hourly Build XXX`, etc...) is used. Because I want to know its version number and stable/beta/hourly.
2. Finish with `0`. Because it is `SUCCESSFLLY FINISHED`.
2. Updated man page.
* Split "parse" and "action".
Move print action to probably suitable place.
This commit will fix the behavior of multiple actions about --version.
* add testcase
Those fields have a slightly different meaning on each object that
extends DownloadableContribution and having them grouped in
DownloadableContribution only increase confusion in change of a
(very) tiny code reuse.
Moreover:
- the `readOnly` field has been renamed to `builtIn`
- predicates have been replaced by lambdas
- DownloadableContributionBuiltInAtTheBottomComparator has been replaced
with a singleton instance
This class allows to attach a Location property to a folder
path, this way we directly know if a library is in the sketchbook,
core, referenced-core or bundled in the IDE.
This simplify a lot of logic in the IDE.
ContributedLibrary is used to decode library_index.json and it's
intended to keep data coming only from the index.
Now, when the library_index is synced with the filesystem, the
metadata about installed libraries are kept in a separate list
to not mess up with the main index.
Solves #7097; the user will be prompted if default sketchbook folder doesn't exist.
If needed, the exception will be thrown by getDefaultSketchbookFolder() as in Linux/OSX implementations.