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

57 Commits

Author SHA1 Message Date
Cristian Maglie
503ebd6a48 Fixed possible NPE 2018-11-27 17:06:18 +01:00
Cristian Maglie
2397e1e8c2 Added StringReplacer.checkIfRequiredKeyIsMissingOrExcept helper method 2018-11-14 17:41:34 +01:00
Cristian Maglie
5428420e0a Refactor: removed useless parameter from StringReplacer.formatAndSplit 2018-11-14 17:41:34 +01:00
Cristian Maglie
8ba209a64d Improved PreferencesMap toString output 2018-09-28 01:42:41 +02:00
Cristian Maglie
13c3750ecf Revert "Moving a sketch to another folder should move all files"
This reverts commit c4f5cafd332cac1de31c004502205e7f02eaec34.
2018-08-23 10:39:20 +02:00
Cristian Maglie
8fd17d44a7 Fixed error message 2018-08-10 11:05:08 +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
Martino Facchin
c4f5cafd33 Moving a sketch to another folder should move all files
Fixes #6402
2018-05-02 15:52:13 +02:00
Cristian Maglie
369b23a7d2 Refactored function to get status of menus in MacOSX 2017-09-28 12:57:56 +02:00
Cristian Maglie
7c27d09c6f Added check for negative font size in preferences.
This should allow to automatically recover situations like
https://github.com/arduino/Arduino/issues/6359#issuecomment-324247440

See #6359
2017-08-28 18:01:30 +02:00
Cristian Maglie
ec2e9a642a Added all missing @Override annotations 2016-09-29 20:15:57 +02:00
Cristian Maglie
46dfd7603c Removed warning about accessing a non-accessible member of an enclosing type 2016-09-29 20:15:56 +02:00
Cristian Maglie
bd7e76533a Removed redundant type specifiers for generics 2016-09-29 20:15:56 +02:00
Matthijs Kooijman
72f815bcf9 Refactor file adding and renaming, and save as handling
This commits replaces a significant part of the code handling these
features. A lot of responsibilities are moved from SketchController to
Sketch, though the code involved is rewritten mostly.

Most of the handling now happens inside Sketch, including various checks
against the new filename. Basically SketchController processes the user
input to decide what needs to be done, and Sketch checks if it can be
done and does it.

If problems occur, an IOException is thrown, using a translated error
message that is shown by SketchController as-is. This might not be the
best way to transfer error messages (regular IOExceptions might contain
less-friendly messages), so this might need further improvement later.

In addition to moving around code and responsibilities, this code also
changes behaviour in some places:
 - Because Sketch and SketchFile are now in control of renames and
   saves, they can update their internal state after a rename. This
   removes the need for reloading the entire sketch after a rename or
   save as and allows `Editor.handleOpenUnchecked()` to be removed.
 - When renaming the entire sketch, all files used to be saved before
   renaming, since the sketch would be re-opened after renaming. Since
   the re-opening no longer happens, there is no longer a need to save
   the sketch, so any unsaved changes remain unsaved in the editor after
   renaming the sketch.
 - When renaming or adding new files, duplicate filenames are detected.
   Initially, this happened case sensitively, but it was later changed to
   use case insensitive matching to prevent problems on Windows (where
   filenames cannot differ in just case). To prevent complexity, this
   did not distinguish between systems. In commit 5fbf9621f6 (Sketch
   rename: allowig a case change rename if NOT on windows), the
   intention was to only do case insensitive checking on Windows, but it
   effectively disabled all checking on other systems, making the check
   not catch duplicate filenames at all.

   With this commit, all these checks are done using `File.equals()`
   instead of comparing strings, which is already aware of the case
   sensitivity of the platform and should act accordingly.
 - Some error messages were changed.
 - When adding a file, an empty file is not created directly, but only a
   SketchFile and EditorTab is added. When the sketch is saved, the file
   is created.
 - When importing a file that already exists (thus overwriting it),
   instead of replacing the SketchFile instance, this just lets the
   EditorTab reload its contents. This was broken since the introduction
   of EditorTab. The file would be replaced, but not this was not
   reflected in the editor, which is now fixed. This change allows
   `Sketch.replaceFile()` to be removed.
 - When importing a file that does not exist yet (thus adding it), a tab
   is now also added for it (in addition to a SketchFile). This was
   broken since the introduction of EditorTab, and would result in the
   file being added, but not shown in the editor.

This commit adds a `Sketch.renameFileTo()` method, to rename a single
file within the sketch. It would be better to integrate its contents
into `Sketch.renameTo()`, but that does not have access to the `Sketch`
instance it is contained in. This will be changed in a future commit.
2016-08-26 16:42:44 +02:00
Matthijs Kooijman
57a237752d Clean up pde to ino renaming
This makes a few related changes:
 - `FileUtils.replaceExtension()` is introduced to handle replacing the
   .pde extension with .ino.
 - Instead of iterating .pde files on disk, this iterates SketchFiles in
   memory, saving another lookup from filename -> SketchFile later.
 - `SketchController.renameCodeToInoExtension()` is removed. Now it no
   longer needs to look up the SketchFile and FileUtils handles the
   extension replacement, this method did not have any reason to exist
   anymore.
 - Instead of hardcoding the .pde extension, a new
   Sketch.OLD_SKETCH_EXTENSIONS constant is introduced.
2016-08-26 16:42:44 +02:00
Sandeep Mistry
c99ab12446 Add "runtime." prefix to "build_properties_custom.*" preferences 2016-04-13 09:03:03 -04:00
Martino Facchin
42ff604f1e Fix NPE when replacing unexisting strings 2016-04-01 12:52:19 +02:00
Matthijs Kooijman
9e4243bc7e Add FileUtils.splitFilename()
This allows splitting a filename into a basename and extension.
`FileUtils.hasExtension()` is updated to use it, in favour of the
String.split-based approached it used before.
2016-01-05 14:49:22 +01:00
Federico Fissore
67e32ff8fa FileUtils.copy now filters out source control folders. Also, dir is checked for existence before creating it. Fixes #4034 2015-11-02 12:29:12 +01:00
Federico Fissore
5b84aef301 Build path is now a function of sketch path. This allows to recycle previously
compiled files even when working with different sketches at the same time. In
such cases, recompiling is way faster
2015-09-18 10:47:23 +02:00
Federico Fissore
682a5ec331 Faster recompilation of unsaved sketches 2015-09-16 14:51:37 +02:00
Federico Fissore
e5ddd0be3b New compiler 2015-09-14 15:21:15 +02:00
Sandeep Mistry
7fa355a702 Call on onBoardOrPortChange after selectBoard in no GUI mode
Like GUI mode does when a board is changed.
2015-09-01 18:08:12 -04:00
Federico Fissore
d6ea1c05a6 Cleanup 2015-08-31 08:45:58 +02:00
Federico Fissore
50cacc1756 Got rid of Java 8 warnings about _ as a method name 2015-08-05 09:12:40 +02:00
Federico Fissore
b8b1dc2327 Dropping --curdir CLI argument support 2015-06-29 14:28:16 +02:00
Federico Fissore
62e5e0186f Code cleanup 2015-06-25 10:40:29 +02:00
Federico Fissore
ea92393569 CLI: fail if selected board does not exist. Fixes #3417 2015-06-25 10:40:28 +02:00
Federico Fissore
9089fecbe4 Windows: working on reg query encoding issue #3360. German encoding is Cp852 2015-06-19 17:44:28 +02:00
Federico Fissore
88e8019419 Extending remote upload. Sketch merge with bootloader is done by the IDE (using "noblink" bootloader if board definition provides one). If platform provides a "remote" upload tool, that tool is used, otherwise falls back to hardcoded "run-avrdude" 2015-06-18 15:43:10 +02:00
Federico Fissore
84d10a8ea0 Some CLI args are parsed before initializing packages. --board argument is parsed after. Fixes #3261 2015-06-05 17:18:50 +02:00
Federico Fissore
935becec64 Command line --get-pref may be used without name of the target pref.
If pref name is missing, all prefs are printed on stdout.
Should fix/mitigate #2982
2015-05-29 15:16:51 +02:00
Federico Fissore
4748e9df5e Avoid warning about SCCS folders in libraries, just ignore them. Fixes #3237 2015-05-27 11:26:00 +02:00
Federico Fissore
76c5d99123 ZipFile and Socket are not Closable in java 1.6 2015-05-22 09:21:20 +02:00
Federico Fissore
365b0bdc94 Closing streams using IOUtils.closeQuietly
Fixed badly handled stream found in the meanwhile
2015-05-21 16:50:49 +02:00
Cristian Maglie
971bd77058 Removed redundant call to File.deleteIfExists()
file is already checked for being not null, no need to check again.
2015-05-14 19:36:37 +02:00
Cristian Maglie
956ddda98e Removed buggy redundant check in FileUtils.deleteIfExists()
The documentation for File.delete() says that the method return true
if the the file is successfully deleted, otherwise false is returned.
An exception is thrown only when the file is not accessible (for
permission problem).

Removing the extra check solves another problem, for example in a
folder with the following situation:

    linkToFileA -> FileA
    FileA

if we remove FileA, we remain with a broken link that can't be removed
using FileUtils.deleteIfExists() because calling File.exists() on a
broken link returns *false*. This commit solve this problem.
2015-05-14 19:18:24 +02:00
Federico Fissore
0c123d7d14 Deleting json files if they are some how corrupted. Fixes #3015 2015-05-04 17:44:16 +02:00
Federico Fissore
cd49d29e52 Lots of unclosed input and output streams now properly closed. They were preventing Boards Manager from working on Windows 2015-05-04 15:44:34 +02:00
Federico Fissore
7552636bd1 File.listFiles() can return null 2015-04-29 11:57:27 +02:00
Federico Fissore
96c4576962 Added --preserve-temp-files command line option 2015-04-15 11:00:01 +02:00
Federico Fissore
61592d78fa New preference: enable all compiler warnings, off by default. Fixes #1728 and #2415. Also affects #2634 and #2207 2015-04-10 15:29:15 +02:00
Federico Fissore
87e2e68b85 CLI: Board and Lib Manager, syntax change: --install-boards (plural) and arduino:avr:1.6.2 (with the arch, not the name of the selected platform) 2015-04-09 13:03:43 +02:00
Federico Fissore
09255254d7 Preliminary command line support to boards manager and library manager 2015-04-08 15:15:41 +02:00
Federico Fissore
74a8ccdeb4 Introducing bundled_library_index.json 2015-03-27 14:51:19 +01:00
Federico Fissore
6679393b7a Assuming the bundled version is an AVR bundle, force unpacking the default package if it's missing 2015-03-27 14:51:19 +01:00
Cristian Maglie
100dd21bd0 Added Contributed Platforms.
- TargetPackage / TargetPlatform / TargetBoard are now interfaces
- Contributions installed are detected during init time
- Tools must be referenced through "path" property (automatically set
  by the IDE to the contributed tool path)
2015-03-27 14:51:09 +01:00
Cristian Maglie
183c386e8c PGP Digital signature verifier class 2015-03-27 14:51:09 +01:00
Cristian Maglie
48ad7ed769 Added FileUtils.createTempFolderIn(folder) method 2015-03-27 14:51:08 +01:00
Federico Fissore
70bbe398ab Network and Serial board ports discovery is now asynchronous, hence it does not block "tools" menu any more.
Fixes #2788
2015-03-24 13:41:10 +01:00