Commit Graph

3754 Commits

Author SHA1 Message Date
A Samuel Pottinger
ee299ef935 Move to ANTLR 4 with Java 11 lang features and localization. (#5)
* Move to ANTLR 4 with Java 11 lang features and localization.

Introduces ANTLR4 and Java 8 language feature support within IDE while also adding additional hooks for localization of syntax error messages, addressing https://github.com/processing/processing/issues/3054 and https://github.com/processing/processing/issues/3055.

The PR is broadly a continuation of https://github.com/processing/processing/issues/3055, bringing it up to speed with the latest Processing master plus the changes introduced at https://github.com/processing/processing/pull/5753. **Requires https://github.com/processing/processing/pull/5753 as pre-requisite.** This introduces a number of edits beyond https://github.com/processing/processing/issues/3055 beyond compatibility with current Processing master and https://github.com/processing/processing/pull/5753 including:

 - Update to the grammar itself
 - Change ANTLR listeners to emit `TextTransform.Edit` to unify JDT-based `PreprocessingService` and `JavaBuild`, removing code with duplicate purpose.
 - Introduction of syntax error rewriting with support for localization.
 - Addition of complete localized strings set for English and Spanish.
 - Addition of partial localized strings set for other languages.
 - Refactor of ANTLR-related code for testability and readability
 - Expansion of tests including full parse tests for new Java features (type inference, lambdas).

* Ask travis for ant upgrade prior to run.

* Ask Travis for java11 update.

* Add openjdk ppa

* Travis no confirmation on add ppa.

* Force newer ant on travis.

* Swtich ant download to www-us mirror.

* Switch ant to 1.10.7

* Start x for unit tests in travis.

* More complete start x in travis.

* Revert x in travis.

* Try x in services.
2019-10-05 23:34:38 -07:00
A Pottinger
c14695476e Moves to Java11 and OpenJDK via AdoptOpenJDK within the processing4 train.
Moves to Java11 and OpenJDK via AdoptOpenJDK within the processing4 train using a squash of sampottinger processing fork's java11 branch.

**Primary required changes:**
Some changes directly support OpenJFX / OpenJDK 11:

 - Response to image loading changes caused by [JEP 320](https://openjdk.java.net/jeps/320)
 - Use of jmodules as necessitated by [JEP 261](https://openjdk.java.net/jeps/261)
 - Reponse to largely changed file paths caused by [JEP 220](https://openjdk.java.net/jeps/220).
 - Modifications in build system related to AdoptOpenJDK and Java 11 which have a different naming structure for downloads.
 - Allowing use of non-Oracle Java within internal Processing checks.

**Secondary required changes:**
There were some secondary required changes that impacted the usability of Processing after having moved to OpenJFX / OpenJDK 11:

 - Removal of com.apple.eawt calls related to [JEP 272](http://openjdk.java.net/jeps/272)
 - Response to HiDPI support on Windows and Linux in [JEP 263](https://openjdk.java.net/jeps/263)
- Removal of `java.ext.dirs`. Would be forced by [JEP 220](http://openjdk.java.net/jeps/220).
 - Due to bugs on Windows, updated the JNA jars.
 - Changes in downloader build tasks to support AdoptOpenJDK and OpenJFX.
 - Updated org.eclipse.* / equinox jars.
 - Some optimization around size of distribution.
 - Update of AppBundler.
 - Some changes in formulation of classpath and modifications in PreprocessingService given [JEP 261](https://openjdk.java.net/jeps/261).

**Incidental changes:**
This was (ahem) a bit of a larger PR with the above modifications. So, I wanted to introduce automated tests when possible and convenient along with a few changes for platform sustainability in order to support development:

 - Addition of cross-building capability (!) made possible by AdoptOpenJDK.
 - Addition of mockito for testing.
 - Upgrade of junit.
 - Addition of ant-contrib.
 - Standardized nomenclature around JRE / JDK in `build/build.xml`
 - Deduplication of code in `jre/build.xml`.
 - Addition of JavaDoc in a few places.
 - Some refactoring of PImage / Shape to support increased testing and readability in image manipulation code.
2019-10-05 20:49:33 -07:00
REAS
9ec706889f Removing DoubleDict DoubleList LongDict LongList from Reference 2019-07-26 15:47:21 -07:00
Ben Fry
828dd45b9f fix typo with error highlighting? 2019-03-02 17:55:50 -05:00
Ben Fry
27f307394e documentation note about 0-indexing 2019-03-02 17:53:48 -05:00
Ben Fry
1639b39ca9 starting the next release 2019-02-03 17:12:08 -05:00
Ben Fry
ceb64c2c7d ignore .class files in META-INF subfolder (fixes #5778) 2019-01-28 17:01:23 -05:00
Ben Fry
d6c334c05e default to using Desktop methods for URLs and files when available on Linux 2019-01-28 16:13:24 -05:00
Ben Fry
91dc89272b handle fall-through cases for plain text file editing (fixes #5628) 2019-01-28 15:10:56 -05:00
Ben Fry
1cef69f5b0 cleaning up from PRs, other todo items 2019-01-23 11:30:14 -05:00
Ben Fry
6bd1daaacc Merge pull request #3946 from Akarshit/CM-coreLibUpdate
Core libraries added to the count of updates
2019-01-23 11:27:29 -05:00
Ben Fry
fed1af04fd starting the next release 2019-01-23 08:09:53 -05:00
Ben Fry
cab7828902 update copyright years in processing.app.ui package 2019-01-22 19:06:09 -05:00
Ben Fry
1964bf65cb rewrite key stroke handling; now multi-platform, overridable by prefs 2019-01-22 18:28:43 -05:00
Ben Fry
9548caeaba starting 3.5.2 2019-01-22 10:49:35 -05:00
Ben Fry
e3d70d2f5d starting 3.5.1 2019-01-21 08:37:40 -05:00
Ben Fry
33b5055bae fix warnings 2019-01-19 17:16:01 -08:00
Ben Fry
e683db6738 Merge branch 'master' of github.com:processing/processing 2019-01-18 17:23:09 -08:00
Ben Fry
73cd701091 move problematic shortcuts out to the language files (fixes #2199) 2019-01-18 17:23:02 -08:00
Ben Fry
da0bdc5af2 Merge pull request #5742 from Sardtok/5524
Fixes #5524
2019-01-18 16:13:18 -08:00
Ben Fry
60f324c434 simpler solution for disappearance warning (#4805) 2019-01-18 11:23:50 -08:00
Ben Fry
fc6b8385bd prevent infinite "sketch disappeared" warnings (fixes #4805) 2019-01-18 11:19:28 -08:00
Ben Fry
c795fd0750 more cleanup; use buttonSize constant instead of sizeH for clarity 2019-01-18 10:47:01 -08:00
Ben Fry
92975fbd27 incorporating console collapse button (#5115) 2019-01-18 10:35:39 -08:00
Ben Fry
b520823618 Merge pull request #5115 from GKFX/feature-hideconsole
Add console hiding button
2019-01-18 09:52:41 -08:00
Ben Fry
3380239e68 Merge pull request #5486 from JakubValtar/fix-status-exception
Fix sketch exception getting hidden by warning
2019-01-18 08:28:52 -08:00
codeanticode
9605d80e64 do not show NSWindow warning in the console, cannot hide the native errors though 2019-01-10 07:04:04 -05:00
codeanticode
74d6becd05 skip Android's SDK folder when adding sketches 2019-01-03 23:47:57 +09:00
Sigmund Hansen
213a9e4bd6 Fixes update panel in #5524. 2018-12-30 14:47:10 +01:00
Sigmund Hansen
062774b119 Fixes other panels except the update panel of #5524. 2018-10-29 00:15:12 +01:00
Sigmund Hansen
3077418fa9 Some refactoring and linting. 2018-09-25 00:23:58 +02:00
Sigmund Hansen
7034461caa Fixes #5246 by overriding getPreferredSize and setting height to 0. 2018-09-14 23:27:42 +02:00
codeanticode
ac68a4411f silence 'TIS/TSM in non-main thread' error 2018-09-10 18:40:50 -04:00
Александр
3c3ac4f184 Updated russian translation, now can choose russian in preferences 2018-08-14 13:19:49 +03:00
Ben Fry
956667e0b9 starting the next release 2018-07-26 18:36:41 -04:00
Ben Fry
74fea471ab make error message for failed startup more specific (#5537, #5442) 2018-07-26 16:42:35 -04:00
Ben Fry
e860555fa3 fix contribs that were redirecting to https urls (fixes #5554) 2018-07-24 19:07:38 -04:00
Ben Fry
700dc1997e Merge pull request #5487 from JakubValtar/fix-change-detector
Make sure editor is updated after reloading changes
2018-07-24 18:39:58 -04:00
Ben Fry
b40502ad48 add more elaborate error message about Windows Defender (#5537, #5442) 2018-07-19 19:02:30 -04:00
Ben Fry
4edd8f95f0 change up the error message for the settings folder 2018-07-19 18:27:19 -04:00
Jakub Valtar
37dd2f2ef3 Make sure editor is updated after reloading changes
Fixes #5466

Update was done by switching to the next tab and then back to the prev tab, however that is a no-op in a single tab sketch. Updated the code to reload the current code if it was modified.
2018-04-24 13:25:55 +02:00
Jakub Valtar
6240843e95 Print exception message to the console when stack trace is disabled
Make sure something is always printed to the console when sketch crashes with exception. Message in the status bar might disappear after moving the cursor.
2018-04-24 11:35:14 +02:00
Jakub Valtar
d29366d34b Change Editor status message only from EDT
This adapter invokes all status changes on the EDT instead of worker thread of the Runner. Modifying AWT components from the worker threads may introduce strange bugs and in this case caused UI changes to run out of order, hiding runtime exceptions under problems displayed when cursor moves to the offending line.
2018-04-24 11:31:27 +02:00
Ben Fry
84d458f5b9 attempt to fix examples window spinning in Windows (#5246) 2018-04-07 10:47:25 -04:00
Ben Fry
3434bc6ca6 notes about #5246 2018-04-07 10:41:11 -04:00
George Bateman
6f0fa0cad4 Add console hiding button
Also made the existing copy-message button consistent.
2018-03-28 00:41:10 +01:00
Ben Fry
d9216414fa note about the L&F change on Linux 2018-03-27 07:01:06 -04:00
Ben Fry
81ad804f68 notes about fixing up this class 2018-03-26 19:11:51 -04:00
Ben Fry
2af026dc71 check individual extensions on Windows startup 2018-03-26 18:53:14 -04:00
Ben Fry
038cbc988f try associating .pyde files with the PDE 2018-03-26 18:35:16 -04:00