OpenJDK 11 / OpenJFX support by sampottinger · Pull Request #5753 · processing/processing

and others added 2 commits

January 6, 2019 18:48
… and later have a new java.awt.desktop package that replaces the custom handlers in the com.apple.eawt package. This commit uses java.lang.reflect.Proxy to generate handlers of the correct type.
Focusing first on getting "hello world" applications running under Java 11, this initial migration works for Mac OS X (10.14.1). There are a number of issues and warnings still to address so the overall PR remains WIP. Specific modifications to address processing#5750:

 - Modification in build system to address a unified JDK / JRE.
 - Modification in build system and application code to deal with version naming convention migration.
 - Modification of OS X specific system paths changed by Java 11.
 - Migration to OpenJDK (processing#4415) via AdoptOpenJDK (selected due to long term build support and some vendor independence).
 - Migration to OpenJFX (processing#5286).
 - Removal of deprecated `java.ext.dirs` (replacement funcationality is still being explored).
 - Update to the appbundler fork.
 - Update to the JDT jars.

Documentation is still incomplete as is reaching feature parity on mac as well as testing on other OS'. Please don't merge yet.

@sampottinger sampottinger changed the title [WIP] Java 11 support (#5750) [WIP] Java 11 support

Jan 14, 2019

@sampottinger

@sampottinger

As part of processing#5750, added support for AdoptOpenJDK (also required for

 - OracleDownloadUrlGenerator
 - AdoptOpenJdkDownloadUrlGenerator

which support Downloader. Tests and documentation included
(required refactor of build.xml).
As part of processing#5753 and processing#5750, working AdoptOpenJDK released java on
Elementary Linux 5.0 (Juno, 64bit). Linux 4.15.0-36-generic. Tested
with Java 11. JDK downloads working and PDE runs but sketches wont
execute due to broken java path.
As part of processing#5750 / processing#5753, example sketch and PDE running in Linux with Elementary 5.0 (Juno, 64bit). Linux 4.15.0-36-generic. Specifically, resolved issue with java path on linux given new JDK structure.

@sampottinger

As part of processing#5750 and processing#5753, have the development environment and example sketch working in Windows 64 bit with some display issues in the IDE in particular. This is using AdoptOpenJDK 11 with Windows 10.

@sampottinger

Sync up to official master

@sampottinger

@sampottinger

sampottinger added a commit to sampottinger/processing4 that referenced this pull request

Oct 6, 2019
Introduces ANTLR4 and Java 8 language feature support within IDE while also adding additional hooks for localization of syntax error messages, addressing processing/processing#3054 and processing/processing#3055.

The PR is broadly a continuation of processing/processing#3055, bringing it up to speed with the latest Processing master plus the changes introduced at processing/processing#5753. **Requires processing/processing#5753 as pre-requisite.** This introduces a number of edits beyond processing/processing#3055 beyond compatibility with current Processing master and processing/processing#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).

sampottinger added a commit to sampottinger/processing4 that referenced this pull request

Oct 6, 2019
* 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 processing/processing#3054 and processing/processing#3055.

The PR is broadly a continuation of processing/processing#3055, bringing it up to speed with the latest Processing master plus the changes introduced at processing/processing#5753. **Requires processing/processing#5753 as pre-requisite.** This introduces a number of edits beyond processing/processing#3055 beyond compatibility with current Processing master and processing/processing#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.

@processing processing locked as resolved and limited conversation to collaborators

Jan 17, 2020