Adding a Gradle Build system to the Processing IDE by Stefterv · Pull Request #888 · processing/processing4

Here's the first pull-request adding a new Gradle build system to the Processing IDE.

The GitHub Actions will create distributable binaries for macOS (x64, aarch64), windows (x64) and linux (x64, aarch64). The other platforms will need their own CI/CD system, but I think the repo will already build on the other platforms.

In terms of compatibility I've come pretty far but I'm sure there is some functionality that I have missed.

New Features

  • Installers for macOS (dmg), Widows (msi), linux (deb)
  • Windows: Start menu item
  • Jetpack Compose
  • Kotlin Support for the IDE
  • Splash screen Refactor + Animation
  • Additional pde:// schema functions (To be documented)

Functionality to test and verify

  • Examples
  • Tweaks mode
  • P2D
  • Debugger
  • Languages
  • Contributed libraries
  • Autocomplete
  • MovieMaker
  • Exporting Applications
  • processing-java
  • java mode default libraries (dxf,svg,io,net,serial,pdf)
  • Python mode (BROKEN, already on 4.3.1 macOS aarch64, other platforms okay)
  • Android mode

To add during this pull request

To improve during this pull request

  • Legacy resource handling (rn it copies all assets to temp folder on launch)
  • Move all dependencies to libs.versions.toml
  • Version and Build number

After pull request

To consider

  • Appstores

In any case, this pull request does not break the existing Ant build system so we can either wait with the merge or we can have the Gradle version available as a preview.

The bundle size has increased quite a bit since we are shipping a JRE and a JDK instead of using the JDK to run the IDE
|linux-x64 | 257 MB |  
|macos-aarch64 | 294 MB |  
|macos-x64 | 289 MB |  
|windows-x64 | 275 MB |

P.S. this also includes the pre-processor as a Maven library, so merging this PR will add processing:java:prepocessor as a Maven package

Fixes #924