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

734 Commits

Author SHA1 Message Date
Matthijs Kooijman
c6795dde73 In EditorConsole::write(), use all arguments
When System.(out|err).print was used before there was a visible
EditorConsole, the message was written to the stderr/stdout by this
instead of the EditorConsole. However, the write(data, offset, length)
version would not pass on its offset and length parameters to the
stdout/stderr stream, causing (parts of) a message to be printed
multiple times.

This commit makes sure the parameters are all properly passed to the
real stream.

For some reason the write(int) and write(byte[], int, int) methods in
PrintStream do not throw an IOException like the write(byte[]) version,
so the try block has to go.
2013-11-28 23:08:36 +01:00
Matthijs Kooijman
4592acc213 Change the logic deciding when to do a full rebuild
Previously, a full cleanup of the work directory (and thus a full
rebuild) was done on the first build after:
 - startup, or
 - a change in the board or board suboption.

This did not cooperate nicely with commandline compilation using
--verify. Using the build.path option a persistent build path could be
used, but the actual files in that path would never be reused.

Now, each build saves the preferences used for building in a file
"buildprefs.txt" inside the build directory. Subsequent builds will read
this file to see if any build options changed and re-use the existing
files if the build options are identical.

Because the main .cpp file is not handled by Compiler::build, but by
Sketch::preprocess, it is still always regenerated, even if the Sketch
itself didn't change. This could be fixed later, though it is probably
not a problem.

When writing buildprefs.txt, only the build preferences starting with
"build.", "compiler." or "recipes." are used. These should be enough to
ensure files are always rebuilt when needed (probably also sometimes
when not needed, when change build.verbose for example). Using all build
preferences would cause the files to be rebuild too often, and because
of last.ide.xxx.daterun, they would still rebuild on _every_
invocation... This approach is perhaps not ideal, but improving it would
require putting more structure in the preferences instead of piling them
all together into the build preferences.

Because of this new mechanism, the old
buildSettingsChanged()/deleteFilesOnNextBuild could be removed.
2013-11-28 23:08:36 +01:00
Matthijs Kooijman
7b7f447a4a Move the definition of primaryClassName in Sketch
Instead of defining in the preprocess method and returning, just define
it in the build method. This makes sure the name is available before
preprocessing, which is important for the upcoming commits.

This commit should not change behaviour, only prepare for the next
commits.
2013-11-28 23:08:36 +01:00
Matthijs Kooijman
beac88e039 Pass arguments to the Compiler constructor
Previously, these arguments would be passed to the compile method.
However, passing them to the constructor makes sure that the build
preferences are created sooner, so they can be used by Sketch before
calling the compile method.

This commit shouldn't change any behaviour, but prepares for the next
commits.
2013-11-28 23:08:35 +01:00
Matthijs Kooijman
57551b9e79 Add --pref option
This allows setting preferences through the commandline.
2013-11-28 23:08:35 +01:00
Matthijs Kooijman
f502c9b53c Error out when a required commandline argument is left out 2013-11-28 23:08:35 +01:00
Matthijs Kooijman
0a3b82af8f Improve error handling for files on the commandline
Previously, any files that were specified on the commandline but could
not be opened were silently ignored. Only if --verify and --upload was
specified and _all_ files failed to open, a generic error message was
shown. Additionally, if multiple files were specified with --verify or
--upload, only the first would be acted on (the others would be openened
and shown in the GUI, but not actually verified or uploaded).

Now, whenever a file fails to open, an error message is shown (fatal
with --verify or --upload, non-fatal otherwise).

Furthermore, with --verify or --upload an error is shown when there is
not exactly one file on the commandline.

Finally, instead of keeping an "opened" variable, the code now just
checks the size of "editors" to see if a blank sketch should be opened.
2013-11-28 23:08:35 +01:00
Matthijs Kooijman
400ae7fdfd Slightly delay opening of files specified on the commandline
Instead of opening up files during argument processing, the filenames
are now stored in a list and opened only after all commandline arguments
have been processed.

This commit in itself shouldn't change any behaviour, but it prepares
for improved error reporting in the next commits.
2013-11-28 23:08:35 +01:00
Matthijs Kooijman
4ba80e3715 Show an error on unknown options 2013-11-28 23:08:35 +01:00
Matthijs Kooijman
e32eafe48f Handle sketch with only invalid code filenames
Previously, this would error out with an index out of bounds exception.
Now, an IOException is thrown, which is properly handled further up the
call chain.
2013-11-28 23:08:35 +01:00
Matthijs Kooijman
0ea5509fcf Handle errors in the --board parameter
Previously, it would just raise nullpointer or index out of bounds
exceptions when the --board paramater was wrong.
2013-11-28 23:08:31 +01:00
Matthijs Kooijman
46c930c841 Pass TargetBoard objects around instead of strings
Previously, strings containing the board id, or a joined version of the
package, platform and board id were passed around. Since comparing
objects is easier than strings and since parsing strings can be fragile,
it's better to just pass the TargetBoard objects.

There is one case where string parsing is still required: when parsing
the --board commandline option. However, the parsing is now done in the
right place, when handling the commandline, instead of in a generic
selectBoard method.
2013-11-28 22:25:53 +01:00
Matthijs Kooijman
89fa1c4bbd Don't re-set board preference when changing custom suboptions
Since the custom suboptions are only visible when their associated board
is the currently selected one, there is no point in re-setting the
current board when a suboption is selected.
2013-11-28 22:11:11 +01:00
Cristian Maglie
4a7cee4b3c Fixed upload on Arduino Leonardo (and derivatives) with JSSC on Mac.
See #1633
2013-11-28 17:27:13 +01:00
Federico Fissore
4b3717bc53 jssc: updated config files (eclipse, ant build.xml, windows launcher, mac template.app), removed rxtx binaries 2013-11-28 17:27:13 +01:00
Federico Fissore
f334e673a5 removing RXTX, switching to JSSC 2013-11-28 17:27:13 +01:00
Federico Fissore
d5cc92d8ab FileUtils.readFileToString opens files with UTF-8 encoding 2013-11-28 15:28:12 +01:00
Cristian Maglie
ff970f10b1 Another language update 2013-11-28 14:19:39 +01:00
Cristian Maglie
2186790b2b Updated translations 2013-11-28 11:28:58 +01:00
Cristian Maglie
061d71e123 Update version to 1.5.5 (Base.java) 2013-11-22 14:44:00 +01:00
Cristian Maglie
3bec9121cd Reintroduced warning on development leftovers in 1.5 libraries.
See #1692
2013-11-20 12:12:05 +01:00
Matthijs Kooijman
a4a660154e Don't forbid unknown files in a library
The current code forbids any files it does not know about, but this is
bad because:
 - It breaks forward compatibility if we later add more files or
   directories to the library format.
 - It breaks for people who want to have some extra stuff in their
   library (say, .gitignore or a README file). We can't keep a list of
   "allowed" stuff, since there will always be stuff missing.

This commit removes that code and just allows all files again.
2013-11-19 17:39:35 +01:00
Federico Fissore
d0758af29a PreProcessor now replace every single char with a space, without collapsing multiline matches 2013-11-18 11:39:52 +01:00
Federico Fissore
84e9d70415 Preprocessor regexp: "." now matches even line terminators. Closes #1653 2013-11-17 22:12:07 +01:00
Federico Fissore
e6698e4baa Enforcing string start/end check. See #1687 2013-11-16 14:41:54 +01:00
Federico Fissore
139dd6bf6a PdePreprocessor restored to version 316b871
Added an "insideString" flag in scrubComments to avoid failing with strings like "Hello */*"
Added a handful of tests taking code from various issues in order to better avoid future regressions
Closes #1687
2013-11-16 12:59:41 +01:00
Federico Fissore
fdb98f1213 Using [code] instead of [quote] for Copy for forum. Fixes #1675 2013-11-14 17:45:23 +01:00
Cristian Maglie
9b1c9d4f16 Updated language file.
Changed "Copy error" message to "Copy error messages".
2013-11-12 14:31:50 +01:00
Federico Fissore
e1579af565 PdePreprocessor: different patterns order leads to a slightly different result. Updating test 2013-11-11 12:24:59 +01:00
Federico Fissore
05bf2b0be9 PrePreprocess.scrubComments doesn't properly work: using RegExp from PrePreprocess.strip. Fixes #817 2013-11-11 12:18:42 +01:00
Federico Fissore
07f8c691b4 PdePreprocessor.scubComments result used before looking for libraries. Fixes #1293 2013-11-11 12:05:59 +01:00
Federico Fissore
22dfa98202 Merge branch 'ide-1.5.x' into ide-1.5.x-preproc 2013-11-11 11:18:32 +01:00
Kristian Lauszus
7706fcfdde Can now detect devices with serial number in the port number on OSX - see: https://github.com/arduino/Arduino/issues/223
It now also parses PID and VID values with text afterwards properly
2013-11-11 04:42:29 +01:00
Federico Fissore
0d8e12dbe0 OSX workaround for board autodetection #223 2013-11-08 20:34:05 +01:00
Federico Fissore
12446a25d9 Test preproc 2013-11-06 18:32:09 +01:00
Cristian Maglie
c4823ccfc4 Merge branch 'master' into ide-1.5.x 2013-11-04 10:36:53 +01:00
Cristian Maglie
89d6841ac0 Merge branch 'cayci-master' 2013-11-04 10:33:38 +01:00
PaulStoffregen
ae265a98b9 Help 3rd party installers find the hardware path 2013-11-04 10:22:24 +01:00
Cristian Maglie
be30113f09 Reference libraries in hardware addons when they reference another core.
Fixes #1445
2013-11-03 20:32:34 +01:00
Cayci
66faf5d6c6 Render line numbers using TextAreaPainter
Fix the line number font rendering problem on the Mac.

Now, the TextAreaLineNumbers class extends the TextAreaPainter and just
overloads the paintLine method to make it render the line number instead
of rendering the whole line. Other than that, the superclass' drawing
code is used.

So: the same drawing code that renders the source code text in the
editor is now also being used to render the line numbers.
2013-11-02 21:49:09 -04:00
Cayci
a2111fdcf6 add preference to enable/disable line numbers
add preference to enable/disable line numbers and make font change work
2013-10-28 21:01:35 -04:00
Federico Fissore
5284c3a3e6 IDE Command line: using "isAbsolute" instead of "exists" to avoid conflicting with files in IDE install location 2013-10-28 12:50:17 +01:00
Federico Fissore
d133365cc1 IDE command line: sketches can now be specified with relative paths. Fixes #1493 2013-10-28 10:10:14 +01:00
Cayci
787f73dade Display line numbers for the file being edited 2013-10-28 00:19:30 -04:00
Federico Fissore
26ff527ad2 It's now possible to specify additional custom board parameters when running the IDE from the command line
Eg: --board arduino:avr:pro:cpu=8MHzatmega168,other=value
Closes #1353
2013-10-24 15:26:31 +02:00
Federico Fissore
8aab91c6ec Removed unused parameteri 2013-10-24 14:40:30 +02:00
Federico Fissore
c11a119996 Forgot to include .ino files as test resource 2013-10-22 17:51:54 +02:00
Federico Fissore
bdf7eba7ed Fixed pre processor bug. Closes #1245 2013-10-22 17:32:25 +02:00
Federico Fissore
8bcf02ac3b Improved File open/save dialogs, remembering last opened file/folder
Consistent UI across the IDE
Solves NPE on some linuxes #1384
Hopefully improves UX #559
2013-10-22 15:34:42 +02:00
Federico Fissore
05fa62d9db Added warning message in case sketch contains invalid file name. Fixes #1390 2013-10-22 11:21:46 +02:00
Federico Fissore
59de784e9f Trying to fix macosx system_profiler parser 2013-10-21 18:34:38 +02:00
Federico Fissore
49a05121d4 Examples now scrollable. Closes #1548 and #1177 2013-10-17 17:25:39 +02:00
Federico Fissore
d535f878f6 Boards now scrollable. Closes #1440 2013-10-17 17:16:16 +02:00
Federico Fissore
4a47eef28a Mouse scroll wheel fix for MenuScroller 2013-10-17 16:58:56 +02:00
Federico Fissore
1877703920 Centering the first Editor to the middle of the main monitor. Fixes #1629 2013-10-17 16:51:56 +02:00
Federico Fissore
143c91f0b5 Import Library feedback was going to the first opened editor, despite its availability. Closes #1598 2013-10-17 14:29:12 +02:00
Federico Fissore
54253ee5c3 Improved error message when unable to connect to the board via SSH 2013-10-16 17:04:07 +02:00
Federico Fissore
027f7c7403 Forcing GUI update events to happen in the Event Dispatch Thread 2013-10-15 18:09:52 +02:00
Federico Fissore
f7f616c3bb Adding AutoformatTest 2013-10-15 18:09:09 +02:00
Federico Fissore
06445dd151 Preventing upload and serial monitor on not (yet) available boards 2013-10-15 17:17:16 +02:00
Federico Fissore
9898fd7ae6 Added support to openssh config file 2013-10-15 17:17:16 +02:00
Federico Fissore
56bdebb8d7 Introducing Artistic Style: new IDE autoformatter 2013-10-14 18:11:30 +02:00
Federico Fissore
6378c8c647 Moving Library.SOURCE_CONTROL_FOLDERS into FileUtils.isSCCSOrHiddenFile #1619 2013-10-14 14:48:41 +02:00
Federico Fissore
72440e7893 Added missing class FileNameExtensionFilter 2013-10-14 12:55:39 +02:00
Federico Fissore
21ef50beb4 It was still using jdk FileNameExtensionFilter 2013-10-14 12:34:09 +02:00
Federico Fissore
65708b68a9 Print a warning instead than just ignoring #1619 2013-10-14 11:55:03 +02:00
Federico Fissore
c0a0e49db6 Ignore folders used by source code control software (subversino, git...) #1619 2013-10-14 11:40:13 +02:00
Federico Fissore
e548f3111c Added another macos system profiler test 2013-10-12 15:02:45 +02:00
Federico Fissore
5fc1d779c7 It was still using jdk FileNameExtensionFilter 2013-10-12 15:02:08 +02:00
Cristian Maglie
d1d561ddb7 Update localization pull script to handle java Locale class exceptions 2013-10-02 18:18:35 +02:00
Cristian Maglie
6dd750e35b Finished renaming resouces bundles "he" and "id" to "iw" and "in" respectively 2013-10-02 18:18:34 +02:00
Federico Fissore
9a10a22bc3 Renamed resouces boundles he and id to iw and in respectively
Removed try catch around i18n.init
2013-10-02 17:52:59 +02:00
Cristian Maglie
8028cc38e7 Added "English (UK)" to the language list. 2013-10-02 17:40:44 +02:00
Federico Fissore
63914efb06 Fixed locale selection 2013-10-02 17:34:38 +02:00
Cristian Maglie
2f38d1aaa5 Added "Using library.." debugging message in verbose output. 2013-10-01 15:03:43 +02:00
Federico Fissore
af20a50b31 Disabling board auto detection on windows. (again....)
See #1573
2013-09-21 20:30:12 +02:00
Federico Fissore
553ef6ee70 More tests on maxosx system profiler output 2013-09-20 10:40:03 +02:00
Cristian Maglie
9db77e18f8 Fetch updates of translations from transifex. 2013-09-13 19:33:07 +02:00
Cristian Maglie
e3cd447527 Updated locales 2013-09-13 19:33:07 +02:00
Cristian Maglie
fca6d77079 Updated available languages 2013-09-13 19:33:06 +02:00
Federico Fissore
f9568df256 Revert "Disabling board auto detection on windows. Argh..."
This reverts commit 5a086c976b.
2013-09-13 17:47:19 +02:00
Federico Fissore
5a086c976b Disabling board auto detection on windows. Argh... 2013-09-11 14:39:14 +02:00
Federico Fissore
5032e630fe Catching Throwable instead of IOException in an attempt to catch unknown "type mismatch error" on windows8 2013-09-11 12:02:29 +02:00
Cristian Maglie
9df65fdfe5 Fixed translation string 2013-09-10 12:34:46 +02:00
Cristian Maglie
e563c5f136 Added/Refactored list of available languages 2013-09-10 12:26:44 +02:00
Cristian Maglie
d4fe0a13b6 Merge branch 'ide-1.5.x' into dev-ide-1.5.x-discovery
Conflicts:
	build/shared/revisions.txt
2013-09-10 12:10:57 +02:00
Cristian Maglie
421fa18c3c Updated revision log, and upped version to 1.5.4 2013-09-09 19:47:25 +02:00
Cristian Maglie
33a177260e Revert to English locale if the system default is not available
See #1525
2013-09-09 19:47:25 +02:00
Cristian Maglie
74909a0060 Changed message for sketch memory usage. 2013-09-09 17:49:10 +02:00
Cristian Maglie
7dd9f81f39 Updated revision log, and upped version to 1.5.4 2013-09-06 18:39:42 +02:00
Cristian Maglie
64ea65cf54 Revert to English locale if the system default is not available
See #1525
2013-09-06 16:02:42 +02:00
Federico Fissore
effb59da4b Merge remote-tracking branch 'arduino/ide-1.5.x' into dev-ide-1.5.x-discovery 2013-09-06 12:59:24 +02:00
Cristian Maglie
ed41a67614 Silently revert to system i18n language, if the currently selected language is not available. 2013-09-03 11:36:57 +02:00
Cristian Maglie
448595d0b2 Removed some java warnings 2013-09-03 11:08:07 +02:00
Cristian Maglie
4edca6f01d Refactored Languages array 2013-09-01 13:46:56 +02:00
Federico Fissore
aa99cdfc61 added files that state third party licenses 2013-08-28 10:12:33 +02:00
Cristian Maglie
ea8c14421a Merge branch 'ide-1.5.x' into dev-ide-1.5.x-discovery
Conflicts:
	app/src/processing/app/Preferences.java
	app/src/processing/app/debug/Uploader.java
2013-08-23 15:59:24 +02:00
Cristian Maglie
b84f276872 Fixed preference parsing (hashtable was concurrently updated while iterating on it). 2013-08-22 00:02:48 +02:00
Cristian Maglie
8472a6b474 Slightly reorganized reports from 'Copy error' button 2013-08-21 17:19:22 +02:00
Cristian Maglie
9a173863e8 Changed 'Copy error' button: bigger font, shorter text 2013-08-21 16:53:58 +02:00