Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java 11, OpenJDK, ANTLR 4, and Travis #1

Merged
merged 20 commits into from
Oct 7, 2019
Merged

Commits on Oct 6, 2019

  1. Moves to Java11 and OpenJDK via AdoptOpenJDK within the processing4 t…

    …rain.
    
    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.
    sampottinger committed Oct 6, 2019
    Configuration menu
    Copy the full SHA
    c146954 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2 from sampottinger/java11

    Moves to Java11 and OpenJDK via AdoptOpenJDK
    sampottinger committed Oct 6, 2019
    Configuration menu
    Copy the full SHA
    86a2cd9 View commit details
    Browse the repository at this point in the history
  3. 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 benfry#70 - this does not include the deploy step.
    
    * Attempt explicit lib addition for linux-based travis build.
    
    * Ask travis for ant optional install.
    sampottinger committed Oct 6, 2019
    Configuration menu
    Copy the full SHA
    25a0853 View commit details
    Browse the repository at this point in the history
  4. 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.
    sampottinger committed Oct 6, 2019
    Configuration menu
    Copy the full SHA
    2b853b8 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #4 from sampottinger/license_text

    Updated license text.
    sampottinger committed Oct 6, 2019
    Configuration menu
    Copy the full SHA
    00dd280 View commit details
    Browse the repository at this point in the history
  6. 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 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.
    sampottinger committed Oct 6, 2019
    Configuration menu
    Copy the full SHA
    ee299ef View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2019

  1. Configuration menu
    Copy the full SHA
    4d05baf View commit details
    Browse the repository at this point in the history
  2. Revert changes in comments inside PApplet and PGraphics.

    Related to feedback recieved on benfry#1, revert changes in docstrings possibly caused by reference mismatch.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    554ace3 View commit details
    Browse the repository at this point in the history
  3. Fix formatting issue in PImage.

    Fix minor formattting issue in PImage related to benfry#1.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    d02ad8f View commit details
    Browse the repository at this point in the history
  4. 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 benfry#1.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    7cad017 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #6 from sampottinger/pr_1_simple_fixes

    Simple fixes in response to #1 feedback on processing4 mainline
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    30133d8 View commit details
    Browse the repository at this point in the history
  6. Fix LongDict @nowebref

    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    0febfce View commit details
    Browse the repository at this point in the history
  7. Refactored TabLineFactory into ProblemFactory. (#7)

    * Refactored TabLineFactory into ProblemFactory.
    
    As part of benfry#1, refactored TabLineFactory into ProblemFactory, merging tests in the process.
    
    * Fix imports on #7.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    2b05da1 View commit details
    Browse the repository at this point in the history
  8. Consolidate logic for runtime path generation into a single class.

    In response to @benfry feedback within benfry#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.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    a265b1e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ceb9fed View commit details
    Browse the repository at this point in the history
  10. Refactor ANTLR message simplification infrastructure.

    Refactor ANTLR message simplification infrastructure to reduce class count within preproc given @benfy feedback within benfry#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.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    f846c7e View commit details
    Browse the repository at this point in the history
  11. Minor fix in PreprocessorResult dimension reporting.

    Fix issue reported by @codeanticode within PreprocessorResult.java where the height was not being returned correctly.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    e46a957 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #10 from sampottinger/fix_preprocessor_result_height

    Minor fix in PreprocessorResult dimension reporting.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    caa3580 View commit details
    Browse the repository at this point in the history
  13. Merge pull request #9 from sampottinger/error_rewrite_restructure

    Refactor ANTLR message simplification infrastructure.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    0dfa125 View commit details
    Browse the repository at this point in the history
  14. Merge pull request #8 from sampottinger/runtime_structural_refactor

    Consolidate logic for runtime path generation into a single class.
    sampottinger committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    404835f View commit details
    Browse the repository at this point in the history