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

Adding a Gradle Build system to the Processing IDE #888

Open
wants to merge 110 commits into
base: main
Choose a base branch
from

Conversation

Stefterv
Copy link
Collaborator

@Stefterv Stefterv commented Dec 14, 2024

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

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

Fix typo/phrasing
@Stefterv Stefterv requested a review from SableRaf January 10, 2025 07:45
@Stefterv Stefterv self-assigned this Jan 10, 2025
@SableRaf
Copy link
Collaborator

@Stefterv: Thanks for tagging me. What would you like me to review?

At first glance, the splash screen is still the old one. Tested on macOS 13.4.

This build also includes the experimental p5.js mode.

@hx2A
Copy link
Collaborator

hx2A commented Jan 10, 2025

At first glance, the splash screen is still the old one. Tested on macOS 13.4.

Side question: you have a macOS 13.4 machine? Does it have an Intel CPU or Apple Silicon?

@SableRaf
Copy link
Collaborator

Side question: you have a macOS 13.4 machine? Does it have an Intel CPU or Apple Silicon?

Yes I'm currently on 13.4 with an M1 (Apple Silicon)

@Stefterv
Copy link
Collaborator Author

Testable versions can only be found on my fork here: https://github.com/Stefterv/processing4/actions/runs/12705347573

@Stefterv
Copy link
Collaborator Author

I've added the Gradle CI/CD to the pull requests. This will mean from now on we have an ant-based version and a gradle-based version building on pull requests. After the gradle version has been tested we can remove the ant based CI

@Stefterv
Copy link
Collaborator Author

Stefterv commented Jan 15, 2025

Windows arm64 compatibility seems to be in the current beta of compose desktop https://youtrack.jetbrains.com/issue/CMP-2584 so could be added as a support soon too

Requires Java 21!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

4 participants