Commit Graph

13176 Commits

Author SHA1 Message Date
A Pottinger d08048eca9 Allow override of core and default imports for PdeParseTreeListener.
In support of modes, allow client code override of core and default imports for PdeParseTreeListener.
2019-10-11 07:56:24 -07:00
A Pottinger 9055e44e0c Allow for public instantiation of PdeParseTreeListener.
To support modes, allow for public instantiation of PdeParseTreeListener and for its public extension.
2019-10-10 21:07:53 -07:00
A Pottinger b4042f7264 Merge branch 'tree_listener_parameter' of github.com:sampottinger/processing4 into tree_listener_parameter 2019-10-10 21:06:21 -07:00
A Pottinger f47a0a26c2 Allow subclassing of RewriterCodeGenerator.
Some difficult to generate code is managed by the RewriterCodeGenerator and some modes may need to modify that logic. This commit makes it easier to extend parts of RewriterCodeGenerator without requiring client code to duplicate too much effort.
2019-10-10 21:05:07 -07:00
A Samuel Pottinger e38515cc6b Allow access to PdePreprocessor constructor 2019-10-10 08:50:08 -07:00
A Pottinger 5faf2a10a6 Refactor within PdePreprocessor to allow for override of edits.
In response to https://github.com/processing/processing4/issues/11, allow client code to override preprocessing edit behabior by providing a subclass of PdeParseTreeListener. This does make the construction for PdePreprocessor.java a little bit messier but a builder may help and moving dependent types within enclosing classes can hopefully keep things coherent.
2019-10-10 08:36:34 -07:00
A Samuel Pottinger 54bdd37c88 Merge pull request #12 from sampottinger/switch_build_target_to_11
Switch to 11 build target / source on javac.
2019-10-08 08:28:29 -07:00
A Pottinger 7463042501 Switch to 11 build target / source on javac.
Minor bit of cleanup in the ant scripts around the build src and target on javac, enabling use of Java 11 language features within processing itself. Note that the build is sustained on either 1.8 or 11 in terms of lanugage features but the code is no longer compatible with the Java 8 runtime due to backwards-incompatable changes made starting in Java 9.
2019-10-08 08:22:28 -07:00
A Samuel Pottinger 404835f417 Merge pull request #8 from sampottinger/runtime_structural_refactor
Consolidate logic for runtime path generation into a single class.
2019-10-07 07:41:18 -07:00
A Samuel Pottinger 0dfa1253fc Merge pull request #9 from sampottinger/error_rewrite_restructure
Refactor ANTLR message simplification infrastructure.
2019-10-07 07:41:07 -07:00
A Samuel Pottinger caa35802af Merge pull request #10 from sampottinger/fix_preprocessor_result_height
Minor fix in PreprocessorResult dimension reporting.
2019-10-06 23:11:13 -07:00
A Pottinger e46a957f78 Minor fix in PreprocessorResult dimension reporting.
Fix issue reported by @codeanticode within PreprocessorResult.java where the height was not being returned correctly.
2019-10-06 23:05:35 -07:00
A Pottinger f846c7e82c Refactor ANTLR message simplification infrastructure.
Refactor ANTLR message simplification infrastructure to reduce class count within preproc given @benfy feedback within https://github.com/processing/processing4/pull/1. Note that some supporting are left out but those can be further refactored behind classes as desired but strategies are all made anon or inner.
2019-10-06 22:55:41 -07:00
A Pottinger ceb9fedaa2 Add back in RuntimePathBuilder* under new location. 2019-10-06 21:17:40 -07:00
A Pottinger a265b1ed14 Consolidate logic for runtime path generation into a single class.
In response to @benfry feedback within https://github.com/processing/processing4/pull/1, consolidated all of the runtime path calculation into a single class while still maintaining all of the tests and caching logic. This reduces the class count but still adapts to jmod and javafx path calculation requirements for java 11.
2019-10-06 21:10:16 -07:00
A Samuel Pottinger 2b05da132a Refactored TabLineFactory into ProblemFactory. (#7)
* Refactored TabLineFactory into ProblemFactory.

As part of https://github.com/processing/processing4/pull/1, refactored TabLineFactory into ProblemFactory, merging tests in the process.

* Fix imports on https://github.com/sampottinger/processing4/pull/7.
2019-10-06 18:24:20 -07:00
A Pottinger 0febfce456 Fix LongDict @nowebref 2019-10-06 18:10:10 -07:00
A Samuel Pottinger 30133d8eba Merge pull request #6 from sampottinger/pr_1_simple_fixes
Simple fixes in response to #1 feedback on processing4 mainline
2019-10-06 18:03:53 -07:00
A Pottinger 7cad017623 Recover lost changes in cut over to sampottinger/processing4.
Fix some recent changes that got lost in the cut over from processing/processing4 for sampottinger forks. Addresses issues raised in https://github.com/processing/processing4/pull/1.
2019-10-06 17:58:19 -07:00
A Pottinger d02ad8ff3f Fix formatting issue in PImage.
Fix minor formattting issue in PImage related to https://github.com/processing/processing4/pull/1.
2019-10-06 17:53:00 -07:00
A Pottinger 554ace347c Revert changes in comments inside PApplet and PGraphics.
Related to feedback recieved on https://github.com/processing/processing4/pull/1, revert changes in docstrings possibly caused by reference mismatch.
2019-10-06 17:49:23 -07:00
A Pottinger 4d05baf662 Removed pdex build per @benfry comments. 2019-10-06 17:39:53 -07:00
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 Samuel Pottinger 00dd2803f0 Merge pull request #4 from sampottinger/license_text
Updated license text.
2019-10-05 21:24:49 -07:00
A Pottinger 2b853b83ab Updated license text.
License links in top level license file to include third party information. Specifically, in follow up to processing 5753, some updates to the license.txt file, reformatting to make it easier to find third party license information and to navigate the processing license itself.
2019-10-05 21:20:24 -07:00
A Samuel Pottinger 25a0853194 Add travis support for CI (not CD) (#3)
* Adding travis support (hopefully without osx).

Based off of processing 5753, demonstrates the use of Travis to build and test processing Requires use of OpenJDK (processing 5753). Will address processing 2747. Will redirect this to the original processing repo after processing 5753 is resolved.

Note that this supersedes sampottinger/processing's #7 and #70 - this does not include the deploy step.

* Attempt explicit lib addition for linux-based travis build.

* Ask travis for ant optional install.
2019-10-05 21:16:36 -07:00
A Samuel Pottinger 86a2cd9ea7 Merge pull request #2 from sampottinger/java11
Moves to Java11 and OpenJDK via AdoptOpenJDK
2019-10-05 21:00:26 -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
Ben Fry a429baac0f who dis 2019-10-04 07:17:34 -04:00
Ben Fry 88c7478471 avoid NPE when the matrix is null 2019-10-04 07:12:23 -04:00
Ben Fry bc97f7eaec todo updates from the main repo 2019-10-04 07:11:19 -04:00
Ben Fry 367eb3e866 write a readme with lots of caveats 2019-10-04 07:10:08 -04:00
REAS 9ec706889f Removing DoubleDict DoubleList LongDict LongList from Reference 2019-07-26 15:47:21 -07:00
REAS 5d7d4cf9a0 Changes for pixel reference for density 2019-07-26 14:54:20 -07:00
REAS 305d4ea762 Add 'gray' parameter info to reference 2019-07-25 16:43:59 -07:00
REAS 0fdfe4c711 Reference, add more related functions to size() 2019-07-25 14:56:54 -07:00
REAS 22ba745cec Reference documentation for the 'str' parameter for text() 2019-07-25 14:52:53 -07:00
REAS bf87c81ccf Reference update for XML getChild() 2019-07-25 14:08:47 -07:00
REAS dc322fb48a Remove redundant params for Server reference 2019-07-25 12:47:22 -07:00
REAS 144027d5e6 Reference change to PApplet 2019-07-25 12:42:01 -07:00
REAS 09b964aa99 curvePoint() reference update 2019-07-25 12:23:02 -07:00
REAS 25d126f056 Hide 'items' param for StringList 2019-07-25 11:46:35 -07:00
Ben Fry 4ab47d28f2 attempt to use 8u212, but Oracle has broken the download 2019-04-22 20:30:32 -04:00
Ben Fry 60f61b2a4a notes about build changes 2019-04-21 09:17:42 -04:00
Ben Fry 983d962a64 update AppBundler, use newer macOS SDK, preserve attributes where possible 2019-04-21 08:30:47 -04:00
Ben Fry 80eac720c7 preserve file attributes so things don't appear modified; fix some indents lost in tab conversion 2019-04-21 08:12:20 -04:00
Ben Fry e6606b896e note about possible pdf fix 2019-03-09 13:38:22 -05:00
Ben Fry cb80705aec notes about current status 2019-03-02 17:57:58 -05:00
Ben Fry 4cb3bc5d29 clean up some formatting and ordering issues 2019-03-02 17:57:42 -05:00
Ben Fry 828dd45b9f fix typo with error highlighting? 2019-03-02 17:55:50 -05:00