GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Adding a Gradle Build system to the Processing IDE by Stefterv · Pull Request #888 · processing/processing4

Conversation

@Stefterv

@Stefterv Stefterv commented Dec 14, 2024 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

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

  • file associations (windows ☑️, macOS ☑️, linux?)
  • pde:// prototcol (Probably works on windows and not macOS)
  • Webcam Usage (macOS)
  • Microphone Usage (macOS)
    https://github.com/JetBrains/compose-multiplatform/blob/master/tutorials/Native_distributions_and_local_execution/README.md#customizing-infoplist-on-macos
    https://github.com/JetBrains/compose-multiplatform/blob/master/tutorials/Signing_and_notarization_on_macOS/README.md#configuring-entitlements

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

  • Signing (Windows, macOS, and Linux?)
    https://github.com/JetBrains/compose-multiplatform/blob/master/tutorials/Signing_and_notarization_on_macOS/README.md
  • Releases CI/CD
  • linux (arm64) CI/CD
    This will require a custom runner setup as jetpack compose does not cross-build
    We can setup the custom runner on Hertzner as they offer arm64 vps' for a low price
  • Remove the raspberry pi runners as we will deprecate the arm32 build of Processing
  • Update installation instructions on the website
  • Installer customisation
  • Flatpak distribution

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

micycle1 reacted with rocket emoji
All reactions
  • 🚀 1 reaction
Stefterv added 30 commits November 14, 2024 09:06
@Stefterv
run app with the jetpack compose runner
ce06ac8
@Stefterv
Run app with Java Mode
e082481
@Stefterv
Deprecation indicators and removed unused resources
07f05f3
@Stefterv
Merge branch 'processing:main' into main-gradle
1983e5c
@Stefterv
Build sketches with new app bundler
70208d3
@Stefterv
Added all modules for JAR filesystem
78da74d
@Stefterv
Work with external JDK
b1e4066
@Stefterv
Distribution icons
d98cab9
@Stefterv
First functional Composable
9405e4a
@Stefterv
Proper styling
27313b2
@Stefterv
Lottie animations
28ab38a
@Stefterv
Contribution Manager UI Test
a82ac33
@Stefterv
.idea meta files
66cdcba
@Stefterv
Show local contributions
6be8114
@Stefterv
isUpdate & isInstalled & Contribution Pane
cce5856
@Stefterv
Contribution panel
86c5406
@Stefterv
Animation Test
46b5d6c
@Stefterv
Added to the sketch menu
1adfe87
@Stefterv
Cleaned up ignored files
138db84
@Stefterv
Merge branch 'processing:main' into main-gradle
3c27a73
@Stefterv
backwards compatibility with ant
8e29df6
@Stefterv
re-add bin files
fe25597
@Stefterv
.idea files
70a116a
@Stefterv
gradle ci/cd
b599df1
@Stefterv
Add generated code
b33e095
@Stefterv
Update build-gradle.yml
720793f
@Stefterv
Create processing.png
b031578
@Stefterv
Update build-gradle.yml
5697f33
@Stefterv
pre-processor gradle
1628d57
@Stefterv
preprocessor decoupling
4f68bce
@Stefterv
- Imports cleanup
420ccbb
- Disable system look & feel on macOS for readability
- Cleaned unnecessary space
- Cleaned finished TODO
@SableRaf

SableRaf commented Feb 3, 2025

Copy link
Copy Markdown
Collaborator

We can either re-open the editor after changing of the theme or wait until we switch that part over to Jetpack Compose

If that's not too much work, I'd say let's see how the re-opening of the editor feels.

Alternatively, how about we inform the user that the full change will take effect after they restart Processing? Could be a pop up message.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Stefterv
Removed outdated ant backwards compatibility marks
44ccb3d
@edwinRNDR
edwinRNDR self-requested a review February 5, 2025 10:13
Stefterv added 12 commits February 5, 2025 12:55
@Stefterv
Allow branches with / in the name
3b9aea1
@Stefterv
Revert "Allow branches with / in the name"
3f3e7d7
This reverts commit 3b9aea1.
@Stefterv
Gradle Release initial workflow setup
b421274
[skip ci]
@Stefterv
Merge branch 'processing:main' into main-gradle
3cd158a
@Stefterv
File associations
c36f5c7
@Stefterv
Update build.gradle.kts
92934a6
@Stefterv
Refactored / Simplified App Build script
29b557a
@Stefterv
Github runners
3154e1c
@Stefterv
Update README.md
abbc434
@Stefterv
Disable new schema for now
ca4271d
@Stefterv
Update build.gradle.kts
1f62948
@Stefterv
Added jdk.accessibility
f3a8ec6
SableRaf
SableRaf approved these changes Mar 7, 2025
View reviewed changes

@SableRaf SableRaf left a comment

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your work on this PR @Stefterv! This is a huge leap forward for Processing 💙

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Stefterv and Taenerys reacted with heart emoji
All reactions
  • ❤️ 2 reactions
@Stefterv
Stefterv merged commit fe152b7 into processing:main Mar 7, 2025
@github-project-automation github-project-automation Bot moved this from Testing to Done in Processing Roadmap Mar 7, 2025
@Stefterv
Stefterv deleted the main-gradle branch March 7, 2025 15:52
@hx2A

hx2A commented Mar 7, 2025

Copy link
Copy Markdown
Contributor

Thank you, @Stefterv !! You worked very hard on this!

Stefterv, SableRaf, and Taenerys reacted with heart emoji
All reactions
  • ❤️ 3 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Stefterv Stefterv mentioned this pull request Mar 11, 2025
Update install.sh to support .pdez and .pdex on Linux #239
Closed
@SableRaf SableRaf mentioned this pull request Mar 12, 2025
Update to Gradle 8.0 and Android 34 requires build system update processing/processing-android#767
Open
@Stefterv Stefterv mentioned this pull request Mar 17, 2025
Move dxf Library to Gradle #981
Closed
@Stefterv Stefterv mentioned this pull request Apr 18, 2025
Snap does not have the commandline processing-java available #1047
Closed
@Stefterv Stefterv removed this from the pde-gradle milestone Apr 25, 2025
This was referenced May 15, 2025
Move svg Library to Gradle #1098
Closed
Move serial Library to Gradle #1099
Closed
@SableRaf SableRaf mentioned this pull request Jul 2, 2025
The System.getProperty("java.home") points to the JRE bundled with Processing and not the JDK #1163
Closed
@SableRaf SableRaf mentioned this pull request Oct 21, 2026
Menu bar text is unreadable when using dark themes on Windows 11 #1583
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@SableRaf SableRaf SableRaf approved these changes
@edwinRNDR edwinRNDR Awaiting requested review from edwinRNDR
+1 more reviewer
@Suhailmo99 Suhailmo99 Suhailmo99 left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@Stefterv Stefterv

Labels

build system

Projects

Processing Roadmap
Status: Completed

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Create README for Running Non-production Builds

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@Stefterv @SableRaf @hx2A @Suhailmo99
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.