1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-13 07:54:20 +01:00

374 Commits

Author SHA1 Message Date
Matthijs Kooijman
ab14c63f58 Remove SketchData.setName()
It was not used, and since it only updated the `name` attribute, but not
the corresponding `file` attribute, nor actually handled renaming actual
files, having this method around would actually be harmful, so just drop
it.
2016-08-26 16:42:44 +02:00
Matthijs Kooijman
6c2a94ecc5 Remove SketchCodeDocument
This class served no purpose anymore, so it can be removed. The
`SketchCode.getMetadata()` and `setMetaData()` methods only served to
keep track of a SketchCodeDocument instance (and were no longer used),
so these are removed too, just like some SketchCode constructors dealing
with this metadata object.
2016-08-26 16:42:44 +02:00
Matthijs Kooijman
ca573351bb Do not store file contents in SketchCode
Now that each file in the sketch has its own text area in the GUI, it is
no longer needed to store the (possibly modified) contents of each file
inside SketchCode. Keeping the contents in the text area is sufficient.
Doing so allows removing the code that dealt with copying contents from
the text area into the SketchCode instance at the right time, which was
fragile and messy.

However, when compiling a sketch, the current (modified) file contents
still should be used. To allow this, the TextStorage interface is
introduced. This is a simple interface implemented by EditorTab, that
allows the SketchCode class to query the GUI for the current contents.
By using an interface, there is no direct dependency on the GUI code. If
no TextStorage instance is attached to a SketchCode, it will just assume
that the contents are always unmodified and the contents from the file
will be used during compilation.

When not using the GUI (e.g. just compiling something from the
commandline), there is no need to load the file contents from disk at
all, the filenames just have to be passed to arduino-builder and the
compiler. So, the SketchCode constructor no longer calls its `load()`
function, leaving this to the GUI code to call when appropriate. This
also modifies the `SketchCode.load()` function to return the loaded
text, instead of storing it internally.

To still support adding new files to a sketch (whose file does not
exist on disk yet), the EditorTab constructor now allows an initial
contents to be passed in, to be used instead of loading from disk. Only
the empty string is passed for new files now, but this could also be
used for the bare minimum contents of a new sketch later (which is now
down by creating a .ino file in a temporary directory).

Another side effect of this change is that all changes to the contents
now happen through the text area, which keeps track of modifications
already. This allows removing all manual calls to `Sketch.setModified()`
(even more, the entire function is removed, making `Sketch.isModified()`
always check the modification status of the contained files).
2016-08-26 16:42:44 +02:00
Matthijs Kooijman
8f1ae9ba0b Remove SketchCode::getLineCount()
It was not used anymore, and removing it makes subsequent refactoring
easier.
2016-08-26 16:42:44 +02:00
Cristian Maglie
e0ea137737 Imported new translations 2016-08-17 12:37:19 +02:00
Cristian Maglie
4c6d2f4a82 Added new languages ach, kk and te 2016-08-16 13:16:38 +02:00
Cristian Maglie
aea77c889d Fixed some simple warnings 2016-08-16 12:52:24 +02:00
Cristian Maglie
6ac028244e Updated translations 2016-08-16 12:51:44 +02:00
Cristian Maglie
d5dc479e6b library_index.json is no more bundled.
There is no reason to bundle this file.

If the index file is not available an empty index is
returned by the parser.

Fix #5143
(together with e80c08: Use a specific hardware/package_index_bundled.json)
2016-08-12 17:20:03 +02:00
Cristian Maglie
b695e7ff1e Do not fail if a package_index.json is not present
Since we are not bundling a package_index.json anymore, there is no
need for the timestamp check with the existing package_index.json.
2016-08-12 10:27:35 +02:00
Cristian Maglie
7008f6c57c ContributionsIndexer now has bundled hardware path as a field 2016-08-11 10:57:05 +02:00
Cristian Maglie
e0b2cd0ffe Handle invalid versions without NullPointerExceptions 2016-08-05 18:09:42 +02:00
Cristian Maglie
701f4a23df Update revision log and bumped IDE version to 1.6.11 2016-08-05 10:58:08 +02:00
Cristian Maglie
b4ada94e44 Do not bail out if a required tool is not found
Previously a NullPointer exception was thrown.
Now the build go on and fails when the recipe cannot be replaced
the correct tool path, that is a much more informative error.
2016-08-03 18:51:08 +02:00
Cristian Maglie
723393227c Require tools from referenced core platform if used 2016-08-02 15:16:00 +02:00
Cristian Maglie
4f1b584e71 Slightly refactored tool resolution
This helps the understanding of next commits
2016-08-02 15:15:59 +02:00
Cristian Maglie
3b57462281 Use latest tools version for generic tool.paths properties 2016-08-02 15:15:59 +02:00
Martino Facchin
6f24fa6cec Pass runtime tools to arduino-builder 2016-08-02 15:15:59 +02:00
Cristian Maglie
fa0678f5b7 added 'runtime.tools.packager-name-version.path' property in the global properties map 2016-08-02 12:13:31 +02:00
Cristian Maglie
2c6f6e76c4 Boards tools are resolved using informations from package_index.json 2016-08-02 12:12:00 +02:00
Cristian Maglie
44b748af7b Updated translations strings 2016-07-25 16:32:02 +02:00
Cristian Maglie
0ebd416912 Fixed wrong translation 2016-07-25 15:36:05 +02:00
Cristian Maglie
8320479bb0 Updated translations 2016-07-25 13:38:30 +02:00
Sandeep Mistry
afe204f97f Merge pull request #4828 from facchinm/issue_4762
Filter examples based on contributed libraries by architecture
2016-07-19 10:00:18 -04:00
Martino Facchin
830fe765b8 Refresh serial port list after loading contributed packages
Soves nameless boards if contributed cores loading is slow
2016-07-13 18:42:31 +02:00
Cristian Maglie
c63ae04420 Made Serial.write(byte[]) method public
This method turns out to be useful.
2016-07-06 16:53:01 +02:00
Cristian Maglie
8f20f4d98b "Include library" now checks for includes property
A new property "includes" has been added to library.properties.
This property contains a comma-separated list of the files to be included when
the user selects the "Include library" command on the Arduino IDE.

If the property is missing the old behaviour is used.
2016-06-23 13:04:56 +02:00
Martino Facchin
7e4144b3fa starting version 1.6.10 2016-05-11 16:42:34 +02:00
Cristian Maglie
a0aa3e6a04 Updated translations 2016-05-10 10:35:55 +02:00
Sandeep Mistry
c99ab12446 Add "runtime." prefix to "build_properties_custom.*" preferences 2016-04-13 09:03:03 -04:00
Sandeep Mistry
9c741885e0 Revert "Do not save build_properties_custom.* preferences to disk"
This reverts commit f47165db644e432a9b7456102c6ad0f34fbf7b11.
2016-04-13 08:58:35 -04:00
Sandeep Mistry
f47165db64 Do not save build_properties_custom.* preferences to disk 2016-04-12 10:15:01 -04:00
Martino Facchin
f6880fe617 Merge pull request #4792 from facchinm/solve_serial_windows
Rework serial ports handling
2016-04-06 18:03:45 +02:00
Martino Facchin
c28c854936 Filter examples based on contributed libraries by architecture
Solves #4762
2016-04-06 14:41:12 +02:00
Martino Facchin
42ff604f1e Fix NPE when replacing unexisting strings 2016-04-01 12:52:19 +02:00
Martino Facchin
34b0813530 try to avoid NPE if two threads modify library list 2016-04-01 12:39:01 +02:00
Martino Facchin
ad74288e5a Fix randomic NPE when pressing menus during operations 2016-04-01 11:38:54 +02:00
Martino Facchin
e23bbf76c1 avoid NPE in CLI mode (boardInfo not yet initialized) 2016-04-01 11:38:53 +02:00
Martino Facchin
243fc68763 Rework Serial ports handling and add Board info menu
This commit introduces the concept of stateful board list (vs. original stateless) and board serial number.

The board is now an "entity" composed by the triplet port/vid/pid. These informations come from libListSerial "light" function. When the board list changes, it triggers a request for the additional infos to libListSerial. These information contains the serial number of the boards.

These brings a lighter and faster scanning process. Some logic has been introduced to handle a board with the S/N only exposed in the bootloader (like 32u4).
In this case the disappearing port acquires the bootloader's S/N

A menu (under Ports menu) shows the currently connected port info and can be used for bugreporting
2016-04-01 11:38:53 +02:00
Martino Facchin
c11ceb7dae Fix NPE when replacing unexisting strings 2016-04-01 11:38:53 +02:00
Cristian Maglie
9a6bb8420d Added string to translations resources 2016-03-17 13:09:27 +01:00
Martino Facchin
9a8dd2a4a2 starting version 1.6.9 2016-03-09 17:14:24 +01:00
Cristian Maglie
1f6462d59b Updated translations 2016-03-09 10:08:18 +01:00
Cristian Maglie
31187cbcc1 Updated base translations 2016-03-07 19:46:30 +01:00
Cristian Maglie
452d05825b Import new translations 2016-03-07 19:34:49 +01:00
Matthijs Kooijman
3d47995915 Remove unused imports
This silences some java warnings.
2016-01-21 17:18:55 +01:00
Matthijs Kooijman
82d3985f6f Remove I18n._()
This function was already deprecated and still triggers a java warning.
Removing it silences that.
2016-01-21 17:16:50 +01:00
Cristian Maglie
9e5dc5ce3b Merge branch 'renaming' of https://github.com/matthijskooijman/Arduino 2016-01-19 13:53:50 +01:00
Hasso Tepper
d05b375810 Fix some incorrect I18n.format()/tr() usage 2016-01-18 09:47:05 +02:00
Martino Facchin
4fa57be5c7 partly revert commit 3c16ac02 to pass legacy tests
all this code will be replaced/removed as soon as the native library is fully validated
2016-01-07 15:47:04 +01:00