Commit Graph

431 Commits

Author SHA1 Message Date
Federico Fissore 09255254d7 Preliminary command line support to boards manager and library manager 2015-04-08 15:15:41 +02:00
Federico Fissore 643d9515ac Starting 1.6.4 2015-04-07 17:47:52 +02:00
Federico Fissore b9a90f69d5 Invalid versions don't cause IDE to crash and exit any more. They are reported and contributions are considered missing version. Fixes #2926 2015-04-07 12:05:05 +02:00
Federico Fissore 99fa19c36c Letting postInstallScript fails gracefully 2015-04-02 11:20:53 +02:00
Federico Fissore 3a916633b1 https links were not working properly on mac and win 2015-04-02 09:51:26 +02:00
Federico Fissore 7a97be43a5 Uniformly using versions parsed through semver 2015-04-01 17:11:48 +02:00
Federico Fissore d94e279fdf Showing post install script errors AFTER the installation is completed 2015-04-01 13:23:57 +02:00
Federico Fissore f76d1d5678 Merge pull request #2850 from PaulStoffregen/duplicate-library-detect
Advise of duplicate libraries after compiling
2015-04-01 09:31:10 +02:00
Federico Fissore 5dd49352df Don't add keys (and display a warning) if the missing key doesn't make sense in target platform.txt. For a key to make sense, two tree level must be present already, eg: tools.avrdude 2015-04-01 09:03:17 +02:00
Federico Fissore 6e9d0e5f99 Ignoring rewrite rules if rewriting=disabled is present in target platform.txt 2015-04-01 09:01:31 +02:00
Federico Fissore 29cb42eb50 Bundled core is again inside the hardware folder.
Fixed a handful of glitches when dealing with multiple installed cores
2015-03-31 17:42:41 +02:00
PaulStoffregen b5367bcdbe Advise of duplicate libraries after compiling 2015-03-30 10:24:18 -07:00
Federico Fissore 1fcd6ff1ce ArchiveExtractor was not making symlinks the right way 2015-03-30 17:12:38 +02:00
Federico Fissore ecde17b6e2 Platform.txt in-memory rewrite rules: whenever loaded, if a property is set to a value known to be wrong/old, that property is replaced with the current/right value.
This happens in-memory, no platform.txt file were harmed during rewriting
Mitigate #2838
2015-03-30 16:18:08 +02:00
Federico Fissore ea5155656a Starting 1.6.3
Updated toolchains: linux statically compiled, added gcc lto plugin (disabled)
2015-03-30 15:06:59 +02:00
Federico Fissore fe739de2ad Getting rid of other unused jna stuff 2015-03-30 13:55:48 +02:00
Federico Fissore b65b576eb0 Getting rid of native stuff. Avoid native stuff: it will break. Fixes #2828, #2829, #2830 2015-03-30 10:46:37 +02:00
Federico Fissore c21b8b7445 Versions: replacing ending "b" with .1 2015-03-27 14:51:20 +01:00
Federico Fissore 3bcbf22a2a Libraries under "contributed" in lib menu are those that have types "contributed" 2015-03-27 14:51:20 +01:00
Federico Fissore 6e498ee5b9 LibraryManager: better type filtering 2015-03-27 14:51:19 +01:00
Federico Fissore 74a8ccdeb4 Introducing bundled_library_index.json 2015-03-27 14:51:19 +01:00
Federico Fissore a1d99b9a9b LibraryManager: category is now topic, type added to list official/contributed/recommended libs 2015-03-27 14:51:19 +01:00
Federico Fissore b0a357f5d3 Library Manager: added Type filter dropdown 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
Federico Fissore 9b5fa9fb9a Added commons-compress license 2015-03-27 14:51:19 +01:00
Federico Fissore ac4aea47b0 json deserializer: don't fail on unknown props, thus allowing us to upgrade the schemas without breaking running IDEs 2015-03-27 14:51:18 +01:00
Federico Fissore 24b32422e2 Fixed a bunch of code inspection warnings 2015-03-27 14:51:18 +01:00
Federico Fissore ed3d467329 DownloadableContributionsDownloader: fixed wrong math when downloading partially downloaded files 2015-03-27 14:51:18 +01:00
Federico Fissore e646ca2525 ContributionInstaller OS check: MacOSX now uses real arch rather than JVM one 2015-03-27 14:51:18 +01:00
Federico Fissore a19cdf1492 ArchiveExtractor: allowing symlinks with absolute paths, still printing a warning 2015-03-27 14:51:18 +01:00
Federico Fissore 02b7fa87eb Leave relative symlinks as they are 2015-03-27 14:51:17 +01:00
Federico Fissore 59b8177916 Separate HTTPS proxy support (server and port) 2015-03-27 14:51:17 +01:00
Federico Fissore 29d20f297c Fixed missing symlinks after extraction 2015-03-27 14:51:17 +01:00
Federico Fissore fc4179f1f7 Cores manager:
added post install script support
absolute path symlinks are converted to relative to the local folder and a warning is printed
2015-03-27 14:51:16 +01:00
Federico Fissore 6b5244eafe Some ArchiveExtractor bugs fixed and its code formatted 2015-03-27 14:51:16 +01:00
Federico Fissore 323458c8d8 Added HTTPS proxy properties 2015-03-27 14:51:16 +01:00
Federico Fissore b32dc93506 Ported UX of library manager to core manager 2015-03-27 14:51:16 +01:00
Federico Fissore 17d3729426 Package names refactoring: contributions is the main package, libs and cores are subpackages 2015-03-27 14:51:16 +01:00
Federico Fissore fe85083f0b Setting preferences.txt permissions to 600 on linux and mac 2015-03-27 14:51:16 +01:00
Federico Fissore 4db6c737be Preferences: added proxy settings 2015-03-27 14:51:16 +01:00
Federico Fissore 103f2e433a Continuing improving library manager 2015-03-27 14:51:15 +01:00
Federico Fissore 8e5a04f6a9 Various improvements on library manager 2015-03-27 14:51:15 +01:00
Federico Fissore 6d55c6ea03 FileDownloader: made it play nice with 301 status code 2015-03-27 14:51:15 +01:00
Federico Fissore 0489585c3e Now using semantic versioning 2015-03-27 14:51:14 +01:00
Federico Fissore 251bb76ece Splashscreen 2015-03-27 14:51:13 +01:00
Federico Fissore e5e5880a15 HostDependentDownloadableContribution better handles Macosx 2015-03-27 14:51:13 +01:00
Federico Fissore d050c4ee4a AVR bundle: by default the IDE is built bundled with the avr toolchain and cores
By passing -Dlight_bundle=1 to ant, an light/empty IDE is built
2015-03-27 14:51:13 +01:00
Cristian Maglie 2c234a09f1 Libraries Installer UI refactor 2015-03-27 14:51:12 +01:00
Federico Fissore f833ff84a7 Base and BaseNoGui: removed uncaught exception handler
ContributionManagerUI: after install/upgrade/remove, cell updated and not in edit mode
2015-03-27 14:51:12 +01:00
Cristian Maglie 1f564d6709 Cores Installer UI refactor (WIP) 2015-03-27 14:51:12 +01:00
Federico Fissore 56b9fd7d93 LibraryIndex: removed cateogories field, generating it every time
LibrariesIndexer: setting category to Uncategorized when missing
2015-03-27 14:51:11 +01:00
Federico Fissore 86f84c8a3e Changed package_index and library_index json urls to use download.php proxy
Installed a ESC key listener: it allows to close the dialog pressing the ESC key
2015-03-27 14:51:11 +01:00
Federico Fissore 589f514a47 ContributedPlatform.getResolvedTools returns a copy of the original list (otherwise violating inner state) 2015-03-27 14:51:11 +01:00
Federico Fissore 6007403834 Removed some printStackTrace in favour of throwing RuntimeExceptions. DefaultUncoughtExceptionHandler will handle them 2015-03-27 14:51:11 +01:00
Federico Fissore fe6718ce4f Removing previously installed platform on upgrade 2015-03-27 14:51:11 +01:00
Cristian Maglie b1e0249a4f Tools path are now always available through preferences
The preference key is:
{runtime.tools.TOOLNAME.path}
{runtime.tools.TOOLNAME-VERSION.path}

For example the tool "avrdude" is now available through

{runtime.tools.avrdude.path}

or if a specific version is needed:

{runtime.tools.avrdude-5.11.path}
2015-03-27 14:51:11 +01:00
Cristian Maglie 12a2d872d6 Added empty library_index.json if default is not available. 2015-03-27 14:51:10 +01:00
Cristian Maglie 98fec7222b Use Downloader* helper classes on ContributionInstaller.
This rationalize and simplify a lot of code.
2015-03-27 14:51:10 +01:00
Cristian Maglie 0755c7c004 Library installer UI 2015-03-27 14:51:10 +01:00
Cristian Maglie 0b9223c158 Added Contributions for libraries 2015-03-27 14:51:10 +01:00
Cristian Maglie 75d1cb874d Available boards are updated right after closing "Boards Installer"
Boards menu list has been moved into Base class where it looks a more
appropriate place to reduce interactions between Editor class and Base
class.

Probably shared menus can be moved in a separate, specific, class.
2015-03-27 14:51:10 +01:00
Cristian Maglie 0783f40ba5 Added VersionComparator to be used for comparing versions numbers (WIP) 2015-03-27 14:51:10 +01:00
Cristian Maglie fe2d087ebd Implemented "Update List" button of Boards Installer. 2015-03-27 14:51:10 +01:00
Cristian Maglie 5d1e4e3f70 Inverted MVC logic on installer to get a cleaner code.
Part of the control logic was moved from listeners to GUI class methods.
This goes against a pure MVC but makes the code much more cleaner.
2015-03-27 14:51:10 +01:00
Cristian Maglie 56ae061d7e Improved platforms installer GUI. Platforms are now downloaded from network. 2015-03-27 14:51:09 +01:00
Cristian Maglie b249be46c7 Added FileDownloader 2015-03-27 14:51:09 +01:00
Cristian Maglie 915c9d6f8f Introducing 'Progress' interface. 2015-03-27 14:51:09 +01:00
Cristian Maglie 2a8c742453 Added Contribution installer, install and remove correctly.
Tested on linux
2015-03-27 14:51:09 +01:00
Cristian Maglie 373a625903 GUI for platform installer, first draft 2015-03-27 14:51:09 +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 8c49ee4206 Added class ArchiveExtractor 2015-03-27 14:51:09 +01:00
Cristian Maglie 7d5d7a8b31 Added FileNativeUtils class (for Linux, Windows and Mac)
Provides the following native methods:
- chmod
- link
- symlink
2015-03-27 14:51:09 +01:00
Cristian Maglie 38aefb2ab4 Added FileHash utility class 2015-03-27 14:51:09 +01:00
Cristian Maglie 0588790f5b Added JARs Bouncy Castle, Jackson, Common-compress 2015-03-27 14:51:08 +01:00
Cristian Maglie 48ad7ed769 Added FileUtils.createTempFolderIn(folder) method 2015-03-27 14:51:08 +01:00
Federico Fissore a8b29d48a5 MacOSX: it looks like filtering cu* ports was not a good choice. Filtering tty* instead 2015-03-27 14:46:30 +01:00
Federico Fissore bf0a0dc566 MacOSX: disabling loading of Quaqua LaF 2015-03-26 12:07:51 +01:00
Federico Fissore f183966296 Added GTKLookAndFeelFixer, courtesy Klaus Reimer
https://www.ailis.de/~k/archives/67-Workaround-for-borderless-Java-Swing-menus-on-Linux.html
It makes menu separators visible on linux with the GTK look and feel
2015-03-25 10:16:07 +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
Federico Fissore ad72e41aa0 Introducing CollectStdOut and CollectStdOutStderrExecutor, handy classes for executing external execs and collecting their outputs 2015-03-19 10:17:10 +01:00
Martino Facchin 2222e0f2cd Merge pull request #2709 from projectgus/master
Fix auto-reset on Leonardo-derived boards from Linux hosts
2015-03-16 15:29:47 +01:00
Richard Wackerbarth 0644bdc51c Convert to action pattern to allow multiple actions 2015-03-11 10:28:32 -05:00
Richard Wackerbarth 2f65f5fdc1 Provide Hooks before and after the build process
Closes #2732
2015-03-11 10:28:32 -05:00
Richard Wackerbarth 498d615fb8 Additional context for build hooks 2015-03-11 10:28:31 -05:00
Federico Fissore c46e667e7a Started working on 1.6.2 2015-03-11 11:42:55 +01:00
Federico Fissore 2a4f0134ab arduino-core: restored debug info in class files 2015-03-10 08:52:42 +01:00
Federico Fissore 32123a8cb9 Fixed NPE in case of missing boardData 2015-03-10 08:52:42 +01:00
Federico Fissore 39d1dfc999 Added warning for uncertified boards 2015-03-10 08:52:41 +01:00
Cristian Maglie 5b7fd08d8d Merge pull request #2681 from PaulStoffregen/master
Improve library name matching
2015-03-09 23:21:02 +01:00
Federico Fissore aca6c223de MacOSX: previous better IDE was missing some pieces. Added 2015-03-04 11:23:36 +01:00
Federico Fissore e327bb091a MacOSX: better IDE 2015-03-03 15:48:20 +01:00
Cristian Maglie d1feeb5419 Added a bunch of new languages and updated translations 2015-02-27 15:10:27 +01:00
Angus Gratton a6909bdb49 Fix auto-reset on Leonardo-derived boards from Linux hosts
Also renamed the touchPort() function, as it's now unambiguously
single-purpose.

The 1200bps reset from Linux hosts wasn't working with these newer
JSSC-based versions. Adding a step which explicitly sets DTR low (via a
TIOCMSET ioctl clearing DTR) fixes this.

I'm fairly sure the reason why this worked on older Arduino with librxtx
and not with jssc is that librxtx appears to keep HUPCL in the termio
flags, but jssc appears to remove it. If HUPCL ("hangup on close") is
set, it causes DTR to be explicitly pulled low on close.
2015-02-27 11:13:09 +11:00
PaulStoffregen f474d1c585 Improve library name matching 2015-02-23 03:26:07 -08:00
Cristian Maglie 606604d7d6 Update revision log. Version set to 1.6.1. 2015-02-19 18:22:43 +01:00
Federico Fissore 0990f98b14 InetAddress.isReachable is reported reliable on mac and recent java versions
Refactored NetUtils.isReachable to two functions:
isReachableByEcho and isPortOpen
If the first one will fail, the second one will be used
2015-02-19 09:34:32 +01:00
Federico Fissore 3fec636b29 An attempt to improve Yun's discovery. Thanks @roadfun. See #2576 2015-02-19 09:15:23 +01:00
Cristian Maglie a39364193f "objcopy" recipes are no more tied to "hex" extension
This allow to define specific recipes for every platform
but keeps backward compatibility.

See #2614
2015-02-16 14:39:55 +01:00
Federico Fissore a49963d0ad Filter out /dev/cu* ports, can be re-enabled manually adding "serial.ports.showall=true" into preferences.txt file
Closes #2624
2015-02-13 10:53:12 +01:00
Federico Fissore e76d413454 When build.core is not defined, fall back to "arduino". Fixes #2635 2015-02-12 17:27:58 +01:00
Federico Fissore ff6fb31f4a Merge pull request #2582 from cmaglie/fix-underscore-glitch
Fixed incorrect boards.txt preference handling when submenu id has underscore
2015-02-11 16:42:46 +01:00
Arnav Gupta 79a74aa667 rename hex -> output
using generic term 'output', because for samx32,
output is .bin format and not .hex

Signed-off-by: Arnav Gupta <championswimmer@gmail.com>
2015-02-10 04:31:51 +05:30
Cristian Maglie 71c3948918 Updated translations 2015-02-08 19:49:27 +01:00
Cristian Maglie e93be4855f Corrected some email contacts. 2015-02-05 16:47:22 +01:00
Federico Fissore 7adaba5630 MacOS tests fix: new way of discovering work dir conflicts with tests execution. Fixed. 2015-02-03 17:00:51 +01:00
Federico Fissore ce911788eb Fixed bug with paths with spaces 2015-02-02 15:30:34 +01:00
Federico Fissore d460982623 Macosx: new appbundler, new macosx builds. Use platform=macosx and platform=oldmacosx 2015-02-02 09:53:56 +01:00
Cristian Maglie e360f82cae Fixed incorrect boards.txt preference handling when submenu id has underscore
Fixes #2533
2015-01-27 20:22:22 +01:00
Cristian Maglie f4a6b623b3 Updated translations 2015-01-19 14:57:31 +01:00
Cristian Maglie 3a062f0582 Updated translation from transifex 2015-01-14 18:27:27 +01:00
Cristian Maglie ff95d03663 Updated some translation strings 2015-01-14 18:05:00 +01:00
Cristian Maglie 81808d532e Merge branch 'ide-1.5.x-fail-when-no-platform-txt' of https://github.com/ffissore/Arduino into ide-1.5.x 2015-01-14 17:19:11 +01:00
Cristian Maglie 56b9f1cd6f Fixed NPE when currently selected platform is no more installed.
BaseNoGui.getTargetBoard() now handles null TargetBoard.
Removed unused method Base.getTargetBoard()
2015-01-13 23:16:53 +01:00
Cristian Maglie ec67b0d4be Optimized FileUtils.recursiveDelete(File) function 2015-01-13 23:16:53 +01:00
Cristian Maglie 29d2ab72e2 Fixed a bunch of simple warnings in java code 2015-01-13 23:16:50 +01:00
Federico Fissore fd4a5a82b3 Compiler: removed duplicated functions getCommandCompilerS, getCommandCompilerC, and getCommandCompilerCPP in favour of generic getCommandCompilerByRecipe 2015-01-08 13:58:03 +01:00
Federico Fissore f5520fc7e1 Compiler: removed duplicated functions compileEep and compileHex in favour of generic runRecipe 2015-01-08 13:58:03 +01:00
Federico Fissore 980709f6f7 Compiler: missing mandatory key now blocks compilation 2015-01-08 13:57:59 +01:00
Cristian Maglie 863cb417a6 Merge pull request #2485 from ffissore/ide-1.5.x-reenable-38400
Re enable 38400 baud rates
2015-01-06 17:39:44 +01:00
Cristian Maglie ad9fc89fce IDE: Removed unused stuff from Serial class 2014-12-24 18:57:46 +01:00
Cristian Maglie ab92e42259 Merge branch 'master' into ide-1.5.x
Conflicts:
	app/src/processing/app/Serial.java
	app/src/processing/app/SerialMonitor.java
2014-12-23 16:41:38 +01:00
Federico Fissore 2f08fe4ecf 38400 baud rate had issues with RXTX and linux. With JSSC, it seems to be working fine again. Fixes #2296 2014-12-04 13:10:01 +01:00
Federico Fissore ca1a355628 Network discovery: not showing board name is not resolvable (was printing "null") 2014-11-25 13:51:47 +01:00
Cristian Maglie 257238c050 IDE: better error handling for upload/burn bootloader
RunnerException was displayed with an ugly stacktrace, while the
message contained in the exception itself is already quite enough
detailed and clear.
2014-11-20 14:00:43 +01:00
Cristian Maglie 85aecfe0da IDE: Fixed default board selection. 2014-11-20 13:50:11 +01:00
Cristian Maglie b9e186e45a Upped version to 1.6.0 2014-11-18 14:48:01 +01:00
Cristian Maglie b0bd52b387 Removed duplicate version fields in Base class 2014-11-18 14:04:14 +01:00
Claudio Indellicati 98bdc7b587 Moved specialized Platform classes and related resources to the 'arduino-core' project. 2014-11-13 16:34:25 +01:00
Cristian Maglie d1f4e0370d arduino-core project is now correctly compiled through ant build script 2014-11-13 16:34:24 +01:00
Cristian Maglie ba8eadeeb5 Split IDE into 2 projects.
BEWARE: HIGHLY EXPERIMENTAL BRANCH
2014-11-13 16:34:24 +01:00