1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-01 12:24:14 +01:00
Commit Graph

694 Commits

Author SHA1 Message Date
Cristian Maglie
3a3bc5be84 Ignore empty "includes" field in library.properties
This allows to avoid empty include lines like:

   #include <>

for libraries declaring:

   includes=

in their library.properties file.

Fix #7854
2018-08-08 14:49:49 +02:00
Cristian Maglie
1db3aabaab Added collector to LibraryList 2018-05-27 13:38:14 +02:00
Yohsuke FURUTA
24029c5ace CLI: Add --version to CLI option (#7549)
* 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
2018-05-22 17:46:11 +02:00
Cristian Maglie
60021c1e63 Library search now works also for headers (.h) provided by libraries
Fixes #7604
2018-05-22 16:28:52 +02:00
Cristian Maglie
d4a12205fa Highlight 'fatal' errors during build
Fix #7614
2018-05-21 17:01:16 +02:00
Cristian Maglie
901d8c77fe Fixed UpdatableLibrarieyTest 2018-05-21 12:04:01 +02:00
Cristian Maglie
8dd9a3e999 If a language resource is missing, fallback to system default 2018-05-21 11:28:36 +02:00
Cristian Maglie
a64d1cbeb1 Fixed Override warning 2018-05-21 11:28:09 +02:00
Cristian Maglie
b4efa5589b Moved cc.arduino.i18n.Language* classes in arduino-core project 2018-05-21 11:27:53 +02:00
Cristian Maglie
b70e876c0c Removed et_EE localization.
Fix #4747
2018-05-21 10:43:19 +02:00
Cristian Maglie
ada9e50b64 Updated translations 2018-05-21 10:39:59 +02:00
Martino Facchin
2d6e974b12 Removed useless classpaths from eclipse project file 2018-05-21 10:25:53 +02:00
Cristian Maglie
77ec25de61 Fixed NPE when setting Types field in core-libraries
The core libraries may come from platforms installed inside the
"sketchbook/hardware" directory. Those platforms are not indexed
and doesn't have a category field to propagate in the core-libraries.
2018-05-21 10:00:47 +02:00
Cristian Maglie
3bce82092e Command line: added more verbosity and made output coherent 2018-05-17 09:14:25 +02:00
Cristian Maglie
246cf6edd8 Added installed lib priority comparator
This clearly defines the usage priority for installed libraries.
2018-05-17 09:14:25 +02:00
Cristian Maglie
9f15b0d7ab Removed TypePredicate 2018-05-17 09:14:25 +02:00
Cristian Maglie
ac570c50bd UserLibrary: ensure that types field is always not-null 2018-05-17 09:14:25 +02:00
Cristian Maglie
20bc297151 Removed LibraryWithName predicate 2018-05-17 09:14:25 +02:00
Cristian Maglie
43c22686de Removed IsLibraryInstalledInsideCore predicate 2018-05-17 09:14:25 +02:00
Cristian Maglie
b3d01d8281 Moved install-related fields out of DownloadableContribution
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
2018-05-17 09:14:25 +02:00
Cristian Maglie
ac6d3c1aff Core and ref-Core libraries are not handled by the library manager. 2018-05-17 09:14:25 +02:00
Cristian Maglie
926b73b538 Unified method for selection of IDE_BUNDLED libraries
Libraries installed in the sketchbook have priority over the
bundled.
2018-05-17 09:14:25 +02:00
Cristian Maglie
b03a9af19a ContributedLibraryReleases: removed getLibrary() method
this method is now useless
2018-05-17 09:14:25 +02:00
Cristian Maglie
8c6e39735d Refactored ContributedLibraryReleases
Mostly simplified and improved readability.
2018-05-17 09:14:25 +02:00
Cristian Maglie
5cc66e9715 Moved ContributedLibraryReleases in arduino-core 2018-05-17 09:14:25 +02:00
Cristian Maglie
d5d9b217a1 Removed unused method BaseNoGui.getUserLibs() 2018-05-17 09:14:25 +02:00
Cristian Maglie
62882e0a4d Fixed LibrariesIndex.getInstalled(..) method 2018-05-17 09:14:25 +02:00
Cristian Maglie
31de5b61c1 Slightly simplified scanLibrary method 2018-05-17 09:14:25 +02:00
Cristian Maglie
2374d9d1bd Introducing UserLibraryFolder
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.
2018-05-17 09:14:25 +02:00
Cristian Maglie
e896595214 UserLibrary doesn't extend ContributedLibrary anymore
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.
2018-05-17 09:14:25 +02:00
Cristian Maglie
482b905a62 Using Optional<T> semantics for 'replacedLib' in LibraryInstaller
Optional<T> helps to not forget to check about nullness where it is
needed.

This commit should be equivalent and shouln't fix any bug, BTW the
Optional<T> semantic turns out to be useful in the next commits.

Possibly all nullable values will be replaced by Optional in the
future.
2018-05-17 09:14:25 +02:00
Cristian Maglie
f111905da6 Removed a lot of useless equals overrides.
Those introduces a very convoluted logic that is needed only in
two cases. Moreover those are better handled by directly checking
the object.
2018-05-17 09:14:25 +02:00
Cristian Maglie
cd3639a574 Print error if library.index is not parsed. Update index only after successful parsing. 2018-05-17 09:14:25 +02:00
Cristian Maglie
d285b7fdc9 Improved VersionComparator API 2018-05-17 09:14:25 +02:00
Cristian Maglie
bf1b523854 Removed installedLibrariesWithDuplicates since it's no more used 2018-05-17 09:14:25 +02:00
Cristian Maglie
8bb20e0402 Made UserLibrary.toString() more concise 2018-05-17 09:14:25 +02:00
Martino Facchin
7bef3d549b [Win] Move recoverDefaultSketchbookFolder after init() stage
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.
2018-05-10 10:54:54 +02:00
Cristian Maglie
2160bd3245 Removed useless entries in arduino-core/.classpath 2018-05-08 16:40:44 +02:00
Cristian Maglie
c81de4fead Win: Removed DPI detection debug output 2018-05-03 15:50:10 +02:00
Martino Facchin
e35c67b6a9 Avoid using incomplete tmp file for board manager jsons
Fixes https://github.com/arduino/Arduino/issues/6628
2018-05-02 17:35:29 +02:00
Martino Facchin
80915600c9 Make board disappear via ttl instead then reachability
Thanks @kurtgo for the hint
Solves #6832
2018-05-02 16:27:03 +02:00
Martino Facchin
3e50aee4cf Save file line by line taking care of OS EOL
Fixes https://github.com/arduino/Arduino/issues/6736
2018-05-02 16:24:33 +02:00
Martino Facchin
8363831dd4 fix NPE if CLI upload is used 2018-05-02 16:20:01 +02:00
Martino Facchin
52c829fb0d Wrap the discoverers into separate threads
Fixes #6350 (the regression was introduced with b2241dadf8 )
Thanks git-bisect :)
2018-05-02 16:20:01 +02:00
Martino Facchin
921dd272ad Update jackson to 2.9.5
Fixes CVE-2018-7489
2018-05-02 16:14:03 +02:00
Martino Facchin
4562b4ba44 Update jmdns to 3.5.3 2018-05-02 16:12:32 +02:00
Cristian Maglie
b70a7d088e Hi-DPI: tentative auto DPI detection for Linux
See #6472 #4376
2018-05-02 15:52:13 +02:00
Martino Facchin
c4f5cafd33 Moving a sketch to another folder should move all files
Fixes #6402
2018-05-02 15:52:13 +02:00
Martino Facchin
73f40ac32e Only rescan libraries folders when really needed
Scanning libraries is an heavy task if the sketchbook becomes huge;
This patch targets two points:

- remove the rescan() after setLibrariesFolders(), which already performs a rescan
- call setLibrariesFolders() only when the folder list has changed
  - This ensures that no scan is performed when changing board in the same architecture

Could mitigate #6350
2018-05-02 15:52:13 +02:00
Cristian Maglie
3d3bb385ad Output column info from compiler error when available 2018-01-25 15:58:02 +01:00