Skip to content

Conversation

Stefterv
Copy link
Owner

@Stefterv Stefterv commented Jul 1, 2025

Tasks

  • Improve visual feedback on what is happening within Gradle
  • Improve speed and reliability
  • Allow exporting applications from the PDE with gradle
  • Preliminary cli support
  • Fix Beta screen (Removed all UI changes)
  • Gradle Plugin should be tested on every platform
  • Support Windows and Linux (Snap) better
  • Gradle Service: Avoid adding build.gradle.kts files to examples
  • Separating the stdin/err from Gradle and from Processing
  • Threading null pointer exception
  • Gradle Plugin: Doesn't work if no libraries are installed / library folder is missing
  • Gradle Plugin: Build-in libraries not scanned
  • Gradle Plugin: Store library scan metadata globally
  • Gradle Runner: Add built in repo to settings.gradle.kts when running the Gradle Runner with DEBUG
  • Gradle Plugin: Another rewrite of adding the deps to be compatible with Gradle 9
  • Gradle Plugin Example: Sketchbook path is not set by default
  • Gradle Plugin: Distribution CI/CD (seems straightforward) (Blocked until merge)
  • Test offline functionality
    • Embedding Gradle Distribution? (Adds another 150mb to dl)
    • Feedback Gradle being downloaded
  • Tests
    • Sketch: Disabling AWT
    • Sketch: Processing Editor Location
    • Sketch: Hiding stop
    • Sketch: Present
    • Sketch: Fullscreen
    • Sketch: UIScale
  • Added line-highlighting where possible
  • Defining a plugin interface
    • Registering a callback for the debugger
    • Registering a callback for the pipe
    • Registering a callback for creating the build.gradle.kts?

Current issues

  • Windows: does not like the way the System.err and System.out are routed
  • Windows: some issue with the native binaries causing running to crash
  • macOS: Exported application (Could not find agent library jdwp on the library path)
  • macOS: Unsigned jar in distributable (race condition?)
  • Windows: Library class not found errors
  • Windows: Example folders are readonly causing gradle to crash (using --build-file argument for gradle does not work)
  • Windows: Failed Gradle Task does not report errors
  • Windows: Library examples seem to not be marked readonly
  • Windows: Scan Libraries task fails on contributed examples
  • Windows: Provider.forUseAtConfigurationTime warning
  • Windows: OpenJDK stays active after killing the PDE
    • Windows: This even prevents a library from being uninstalled because the file is still in use
  • Rename windres doesnt run
  • Linux: P2D and P3D renderer broken (Incorrect JOGL dependencies)
  • Snap: Not sure what is wrong yet
    • Home Directory not accessible for Gradle distribution download

Functionality

Gradle Plugin

  • Run Sketches
    • macOS
      • arm (✅)
      • x86 (⏳)
    • Windows
      • x86 (✅)
    • Linux
      • arm (⏳)
      • x86 (✅)
      • Snap (⏳)
  • Export applications
    • macOS
      • arm (✅)
      • x86 (⏳)
    • Windows
      • x86 (✅)
    • Linux
      • arm (⏳)
      • x86 (✅)
      • Snap (⏳)
  • Including libraries
    • macOS (✅)
    • Windows (✅)
    • Linux (portable ✅, snap ❌)

Runner

  • Run Sketches (P2D)
    • macOS
      • arm (✅)
      • x86 (⏳)
    • Windows
      • x86 (✅)
    • Linux
      • arm (portable ✅, snap ❌)
      • x86 (portable ✅, snap ❌)
  • Run Examples
    • macOS
      • arm (✅)
      • x86 (⏳)
    • Windows
      • x86 (✅)
    • Linux
      • arm (⏳)
      • x86 (portable ⏳, snap ⏳)
  • Including libraries
    • macOS (✅)
    • Windows (✅)
    • Linux (portable ✅, snap ❌)

commit 3a1aa8e
Author: Stef Tervelde <[email protected]>
Date:   Tue Jul 1 12:53:59 2025 +0200

    Restore welcome & Cleanup

commit 7d94b30
Author: Stef Tervelde <[email protected]>
Date:   Tue Jul 1 12:20:17 2025 +0200

    PR Cleanup

commit 27764e9
Author: Stef Tervelde <[email protected]>
Date:   Mon Jun 23 13:33:50 2025 +0200

    Update Toolbar.kt

commit 97fc4c2
Author: Stef Tervelde <[email protected]>
Date:   Mon Jun 23 13:30:47 2025 +0200

    Removed background job differentiation

commit 85566c8
Author: Stef Tervelde <[email protected]>
Date:   Mon Jun 23 13:09:11 2025 +0200

    CLI Compatibility

commit 7f2f2b6
Merge: 1c8581e bf34ade
Author: Stef Tervelde <[email protected]>
Date:   Mon Jun 23 11:14:57 2025 +0200

    Merge branch 'main' into runner

commit 1c8581e
Author: Stef Tervelde <[email protected]>
Date:   Thu May 15 13:39:21 2025 +0200

    Move Gradle connection into GradleJob

commit d742002
Author: Stef Tervelde <[email protected]>
Date:   Thu May 15 10:10:33 2025 +0200

    Exclude jnilib from sources

commit 2c9ee1c
Author: Stef Tervelde <[email protected]>
Date:   Thu May 15 09:51:08 2025 +0200

    Linux Platform addition

commit 49988e9
Author: Stef Tervelde <[email protected]>
Date:   Thu May 15 09:34:44 2025 +0200

    Use forward slashes on Windows

commit da5092e
Author: Stef Tervelde <[email protected]>
Date:   Thu May 15 09:10:11 2025 +0200

    Add support for .java files & Cleanup

commit ab7c216
Author: Stef Tervelde <[email protected]>
Date:   Thu May 15 08:15:11 2025 +0200

    Preferences in the PDE will now be read from system before looking at files

commit 7775d01
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 18:07:50 2025 +0200

    Identified Bugs

commit 80c48f2
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 17:59:07 2025 +0200

    Windows Bugfix

commit 5ad43e0
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 17:51:57 2025 +0200

    Set a default tab size

commit 2f99a69
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 16:14:59 2025 +0200

    Bundle necessary plugins

commit f9b94c5
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 15:17:55 2025 +0200

    Only make parent dirs

commit 982c111
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 15:11:54 2025 +0200

    Show debug on gradle tests

commit 917d0d3
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 15:08:47 2025 +0200

    Listen for folder changes

commit 12ce442
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 14:25:06 2025 +0200

    Fix saved files using an old version

commit 04ac9f2
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 13:47:21 2025 +0200

    Plugin rework for caching heavy work

commit e31d37d
Merge: df1277e 540d299
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 10:43:43 2025 +0200

    Merge branch 'main' into runner

commit df1277e
Author: Stef Tervelde <[email protected]>
Date:   Wed May 14 10:39:22 2025 +0200

    Disabled modern UI for now. Added preference instead

commit c5c3b2f
Author: Stef Tervelde <[email protected]>
Date:   Mon Apr 21 14:04:39 2025 +0200

    Added todos

commit 612126a
Merge: 3e89bfe ecd219b
Author: Stef Tervelde <[email protected]>
Date:   Thu Apr 17 12:37:06 2025 +0200

    Merge branch 'main' into runner

commit 3e89bfe
Merge: efa77bb 7489870
Author: Stef Tervelde <[email protected]>
Date:   Thu Apr 17 12:34:57 2025 +0200

    Merge branch 'runner' of https://github.com/Stefterv/processing4 into runner

commit efa77bb
Author: Stef Tervelde <[email protected]>
Date:   Tue Apr 1 18:19:58 2025 +0200

    Cleanup

    [skip ci]

commit 7489870
Author: Stef Tervelde <[email protected]>
Date:   Tue Apr 1 18:19:58 2025 +0200

    Cleanup

    [skip ci]

commit 97ec5e4
Merge: 221ee28 3d6a6ce
Author: Stef Tervelde <[email protected]>
Date:   Tue Apr 1 17:54:41 2025 +0200

    Merge branch 'gradle-welcome-screen' into runner

commit 221ee28
Author: Stef Tervelde <[email protected]>
Date:   Tue Apr 1 17:53:48 2025 +0200

    Toolbar UI design start

commit a870cd0
Author: Stef Tervelde <[email protected]>
Date:   Tue Apr 1 10:14:22 2025 +0200

    GradleJob Refactor

commit 2269fd3
Author: Stef Tervelde <[email protected]>
Date:   Tue Apr 1 09:15:47 2025 +0200

    Gradle Runner, build script management

commit 6758d68
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 31 18:40:19 2025 +0200

    Richer console output and richer exception output

commit 15114a1
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 31 15:00:12 2025 +0200

    Retry vm debug connection

commit 36ce0ab
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 31 12:05:58 2025 +0200

    Runner: Fixing build errors

commit 701f9f5
Author: Stef Tervelde <[email protected]>
Date:   Sun Mar 30 23:58:36 2025 +0200

    Gradle Runner PoC Refactor

commit 947a90e
Author: Stef Tervelde <[email protected]>
Date:   Sun Mar 30 14:51:48 2025 +0200

    Toolbar functionality PoC

commit 3d6a6ce
Merge: f7f22c5 2222331
Author: Stef Tervelde <[email protected]>
Date:   Sun Mar 30 08:52:37 2025 +0200

    Merge branch 'processing:main' into gradle-welcome-screen

commit 4602ef1
Author: Stef Tervelde <[email protected]>
Date:   Sat Mar 29 22:50:35 2025 +0100

    Fixes for windows

commit 0d3795f
Author: Stef Tervelde <[email protected]>
Date:   Sat Mar 29 22:31:47 2025 +0100

    Gradle Runner, more variables

commit ab38e5f
Author: Stef Tervelde <[email protected]>
Date:   Sat Mar 29 20:54:02 2025 +0100

    Arguments refactor

commit 17acb01
Author: Stef Tervelde <[email protected]>
Date:   Sat Mar 29 20:10:15 2025 +0100

    Copy running JDK rather than download

commit b534c26
Merge: d6cb3ee 2222331
Author: Stef Tervelde <[email protected]>
Date:   Sat Mar 29 18:17:20 2025 +0100

    Merge branch 'main' into runner

commit d6cb3ee
Author: Stef Tervelde <[email protected]>
Date:   Sat Mar 29 10:20:17 2025 +0100

    Fix for signing release

commit bf82d53
Merge: 73dfa0a dd823a7
Author: Stef Tervelde <[email protected]>
Date:   Sat Mar 29 10:17:06 2025 +0100

    Merge branch 'runner' of https://github.com/Stefterv/processing4 into runner

commit 73dfa0a
Author: Stef Tervelde <[email protected]>
Date:   Sat Mar 29 10:17:04 2025 +0100

    Only sign with signing set up

commit 41ef1cc
Author: Stef Tervelde <[email protected]>
Date:   Fri Mar 28 09:00:23 2025 +0100

    Fix plugin name in tests

commit dd823a7
Author: Stef Tervelde <[email protected]>
Date:   Fri Mar 28 09:00:23 2025 +0100

    Fix plugin name in tests

commit 3a14ff4
Author: Stef Tervelde <[email protected]>
Date:   Fri Mar 28 08:18:53 2025 +0100

    Added Stubs

commit 00f8afa
Merge: 700599e 1ab2359
Author: Stef Tervelde <[email protected]>
Date:   Fri Mar 28 08:13:11 2025 +0100

    Merge branch 'schema-threading' into runner

commit 700599e
Merge: 1fae461 499d200
Author: Stef Tervelde <[email protected]>
Date:   Fri Mar 28 08:13:06 2025 +0100

    Merge branch 'main' into runner

commit 1fae461
Author: Stef Tervelde <[email protected]>
Date:   Thu Mar 27 21:37:55 2025 +0100

    UI Cleanup

commit f762a3e
Author: Stef Tervelde <[email protected]>
Date:   Thu Mar 27 20:05:01 2025 +0100

    Added debugging

commit c2071a0
Merge: f453eca 8fb9ef5
Author: Stef Tervelde <[email protected]>
Date:   Thu Mar 27 18:23:23 2025 +0100

    Merge branch 'hide-scrollbars' into runner

commit f453eca
Merge: 8f47d21 694eb0c
Author: Stef Tervelde <[email protected]>
Date:   Thu Mar 27 18:03:34 2025 +0100

    Merge remote-tracking branch 'upstream/fix-jdk-requirement' into runner

commit 8f47d21
Author: Stef Tervelde <[email protected]>
Date:   Thu Mar 27 18:00:15 2025 +0100

    Scan libaries for dependencies

commit 5d71244
Author: Stef Tervelde <[email protected]>
Date:   Thu Mar 27 14:58:11 2025 +0100

    Plugin rework

commit e164fe4
Author: Stef Tervelde <[email protected]>
Date:   Thu Mar 27 13:01:33 2025 +0100

    Gradle variables from Processing, Group resolution

commit 672c2ac
Author: Stef Tervelde <[email protected]>
Date:   Thu Mar 27 11:51:08 2025 +0100

    Removed the need for settings.gradle.kts & Embedding maven repo

commit cdec594
Author: Stef Tervelde <[email protected]>
Date:   Wed Mar 26 18:39:04 2025 +0100

    Added export support

commit 3ad3654
Author: Stef Tervelde <[email protected]>
Date:   Wed Mar 26 17:25:51 2025 +0100

    Gradle Runner visual styling

commit bc063e8
Author: Stef Tervelde <[email protected]>
Date:   Wed Mar 26 14:17:25 2025 +0100

    Gradle Runner PoC

commit 47d3428
Author: Stef Tervelde <[email protected]>
Date:   Sun Mar 23 18:18:54 2025 +0100

    More todo's

commit 29d76eb
Merge: ba49656 9760a63
Author: Stef Tervelde <[email protected]>
Date:   Sun Mar 23 17:58:39 2025 +0100

    Merge branch 'processing:main' into gradle-plugin

commit ba49656
Author: Stef Tervelde <[email protected]>
Date:   Tue Mar 18 10:15:40 2025 +0100

    Adding tests and direct linking

commit e01d02a
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 17 15:31:25 2025 +0100

    Update settings.gradle.kts

commit b0b12dd
Merge: 7e6c97a ad5c27e
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 17 15:14:35 2025 +0100

    Merge branch 'gradle-preprocessor' into gradle-plugin

commit ad5c27e
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 17 15:11:24 2025 +0100

    Apply same parser & lexer fixes from before

commit 743ea14
Merge: c28a267 8e8f7dc
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 17 13:53:40 2025 +0100

    Merge branch 'main' into gradle-preprocessor

commit 7e6c97a
Merge: f126d4b 8e8f7dc
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 17 13:43:21 2025 +0100

    Merge branch 'main' into gradle-plugin

commit f7f22c5
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 17 10:40:37 2025 +0100

    Create Directory as well

commit d17ca0c
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 17 10:36:35 2025 +0100

    Removed PlatformStart and create new file if doesn't exist

commit b0e7f96
Author: Stef Tervelde <[email protected]>
Date:   Mon Mar 17 10:28:12 2025 +0100

    Added initial tests

commit 0df4dc0
Merge: 6974811 8e8f7dc
Author: Stef Tervelde <[email protected]>
Date:   Sun Mar 16 21:18:22 2025 +0100

    Merge branch 'main' into gradle-welcome-screen

commit 6974811
Merge: 7452d65 1455512
Author: Stef Tervelde <[email protected]>
Date:   Tue Mar 11 20:42:46 2025 +0100

    Merge branch 'test-schema' into gradle-welcome-screen

commit 7452d65
Merge: babf54e fe152b7
Author: Stef Tervelde <[email protected]>
Date:   Fri Mar 7 15:07:56 2025 +0100

    Merge branch 'main' into gradle-welcome-screen

commit c28a267
Merge: e188336 fe152b7
Author: Stef Tervelde <[email protected]>
Date:   Fri Mar 7 15:06:27 2025 +0100

    Merge branch 'processing:main' into gradle-preprocessor

commit f126d4b
Merge: da852b4 fe152b7
Author: Stef Tervelde <[email protected]>
Date:   Fri Mar 7 15:06:08 2025 +0100

    Merge branch 'processing:main' into gradle-plugin

commit babf54e
Merge: 0e56f89 00c5760
Author: Stef Tervelde <[email protected]>
Date:   Mon Feb 10 17:58:35 2025 +0100

    Merge branch 'gradle-loggin' into gradle-welcome-screen

commit 0e56f89
Merge: 54944af 29b557a
Author: Stef Tervelde <[email protected]>
Date:   Sun Feb 9 21:15:36 2025 +0100

    Merge branch 'main-gradle' into gradle-welcome-screen

commit 54944af
Author: Stef Tervelde <[email protected]>
Date:   Sun Feb 9 14:36:37 2025 +0100

    Welcome Screen: JDK Module

commit 8d8bd01
Author: Stef Tervelde <[email protected]>
Date:   Sun Feb 9 13:54:07 2025 +0100

    Welcome Screen: Close Functionality

commit 3df4da9
Author: Stef Tervelde <[email protected]>
Date:   Sun Feb 9 12:57:55 2025 +0100

    Welcome Screen: Bugfixes

commit cb184fb
Author: Stef Tervelde <[email protected]>
Date:   Sun Feb 9 12:19:33 2025 +0100

    Welcome Screen: Layout fixes

commit 3d81b02
Author: Stef Tervelde <[email protected]>
Date:   Sat Feb 8 22:47:28 2025 +0100

    Welcome Screen: Language selection

commit b0c61a4
Author: Stef Tervelde <[email protected]>
Date:   Sat Feb 8 11:10:33 2025 +0100

    Welcome Screen: Load & Display examples

commit 2f12d13
Author: Stef Tervelde <[email protected]>
Date:   Fri Feb 7 21:53:49 2025 +0100

    Saveable/Reactive Preferences

commit 8ed2d1b
Author: Stef Tervelde <[email protected]>
Date:   Fri Feb 7 16:34:23 2025 +0100

    Welcome Screen: WIP

commit 5c020dd
Author: Stef Tervelde <[email protected]>
Date:   Fri Feb 7 15:49:25 2025 +0100

    Welcome Screen: Initial Layout

commit bd3a77e
Author: Stef Tervelde <[email protected]>
Date:   Fri Feb 7 12:09:58 2025 +0100

    Welcome Screen: Window Abstraction

commit b1910de
Author: Stef Tervelde <[email protected]>
Date:   Fri Feb 7 11:24:30 2025 +0100

    Welcome Screen: Initial Frame

commit da852b4
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 20:54:32 2025 +0100

    Fullscreen support

commit 44ab816
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 20:38:27 2025 +0100

    disable full screen from settings and fixed a few bugs

commit e188336
Merge: df745bb 3f3e7d7
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 13:03:51 2025 +0100

    Merge branch 'main-gradle' into gradle/preprocessor

commit 031d304
Merge: 25e147e 3f3e7d7
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 13:03:12 2025 +0100

    Merge branch 'main-gradle' into gradle/plugin

commit 25e147e
Merge: 7f00d5b 3b9aea1
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 12:56:55 2025 +0100

    Merge branch 'main-gradle' into gradle/plugin

commit df745bb
Merge: f016cc4 3b9aea1
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 12:56:38 2025 +0100

    Merge branch 'main-gradle' into gradle/preprocessor

commit 7f00d5b
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 12:36:18 2025 +0100

    added example of plugin usage

commit f4d7fbf
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 09:19:08 2025 +0100

    Changed naming

commit 1b8a8ed
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 09:10:42 2025 +0100

    Gradle Plugin from PoC

commit 5468da0
Author: Stef Tervelde <[email protected]>
Date:   Tue Feb 4 16:18:29 2025 +0100

    Removed outdated ant backwards compatibility marks

commit 23c8a46
Author: Stef Tervelde <[email protected]>
Date:   Mon Feb 3 12:07:01 2025 +0100

    - Imports cleanup
    - Disable system look & feel on macOS for readability
    - Cleaned unnecessary space
    - Cleaned finished TODO

commit f016cc4
Author: Stef Tervelde <[email protected]>
Date:   Wed Feb 5 12:01:47 2025 +0100

    Removed core dependency from the pre-processor

commit 971d98b
Author: Stef Tervelde <[email protected]>
Date:   Thu Jan 30 22:59:16 2025 +0100

    Preprocessor with antlr Plugin
@Stefterv Stefterv marked this pull request as draft July 1, 2025 11:08
@Stefterv
Copy link
Owner Author

Stefterv commented Jul 3, 2025

DRAFT: Forum post

Feature Preview: Gradle Runner

For the past few months I have been working on a new internal build system for Processing that uses Gradle instead of the Eclipse compiler and recently I got it to a state where it is testable by others.

To try the new internal gradle runner (aka the modern build system) download my testing version of Processing here:
[Download TBD]

Then go into the settings and select use modern build system in the running section. I have added a quick console reminder to indicate which version of the build system is in use.

Why the feature preview?

Of course changing the internal build system of Processing is going to be a monumental change and I am very aware that it will break something. I will outline some of the reasons for this change below, but I would like to work with the Processing community to make sure we can make this transition as smooth as possible.

⚠️ Known issues

  • Internal libraries (dxf, svg, serial, ...) are not yet included.
  • P2D and P3D do not yet work on Linux

How to report issues?

...

Why Gradle?

In the past few months developing for Processing and talking to wider community one thing was a common occurrence, people used Processing at the beginning of their journey but ultimately hit a wall in their growth that made them abandon the coding language for something more advanced. This is hopefully a foundational step in changing that.

By using Gradle internally we are much more aligned with the wider Java ecosystem, as you can see, the internal Gradle runner will add a build.gradle.kts and settings.gradle.kts file to your sketches. This means you sketches will become fully fledged standalone Gradle projects, that can be opened in any editor that supports Gradle.

On the topic of the Java ecosystem, moving to Gradle means that we will be able to integrate Maven Central (and other maven repo) dependencies in our sketches. No more downloading jars from Maven and putting them in the code folder, add the dependency in the build.gradle.kts file and viola your java library will be available to your Processing sketch. (The plan is to add this functionality to the UI at a later stage)

Also it will mean that modifying the build process for individual sketches will be possible. I know a couple of people here that are interested in JavaFX (looking at you svan and glv). In the future that will be as easy as adding the JavaFX plugin to the build.gradle.kts. Of course that is not all, I also foresee that there might be future libraries/contributions that will modify the build system in small ways to provide some setup or easy of use.

Another reason is that this change means that the build system that Processing uses will be modular, so it can be reused by others for their own purposes. The previous build system was very coupled to the Processing editor and to run Processing sketches for example in another editor, you were required to use the CLI and it was very hard to add a step in-between.

Finally it means unification, the same system that we use to build the Processing Editor is the same system we use to build Processing Sketches. This means that any improvements we make for distributing Processing also apply to Processing Sketches. One very nerdy note that I like to mention, that technically it is possible to build Processing within Processing with this build, add processing4.pde to a clone of the repo, open it in the PDE and click run, it will open another instance of Processing.

So why this post?

I would like you to try the feature preview build and let me know if your sketches work as expected. Also this feature ended up being much more backend focused than originally imagined so I hope that what is happening is clear (I had originally designed some new UI for this as well). I have not yet had time to test all of the libraries that Processing has to offer for example and I am 100% sure that there is something I have missed, some use case that is outside of my view of the use of the software.

What is next?

if we do not find any glaring issues with this somewhat public release, we will merge these changes into Processing and it will be included into an upcoming release behind the feature toggle in settings. We will write documentation and provide some insights on how this new build system could be used by the community. Then at some point in the future we will hopefully switch to this new build system by default, deprecating the old system with hopefully no (or at most a few) regressions.

I’d love for you to try this preview and share feedback. Whether your sketches work perfectly or break in strange ways, your input will help us improve it before it becomes a regular feature in Processing.

@Stefterv Stefterv force-pushed the main branch 20 times, most recently from ab3ce63 to a22d1c1 Compare August 14, 2025 14:45
Uncommented and updated the configuration to include all .java files at the project root in the source set. This ensures that Java files located directly in the project directory are recognized and compiled.
Introduces a helper to create temporary Processing libraries and implements a test that imports and uses a custom library in a Processing sketch. This enhances test coverage for library integration in the Processing Gradle plugin.
Added comments and structure for improved clarity. Also added a placeholder test for internal libraries in ProcessingPluginTest.
Refactored LibrariesTask to accept multiple input directories via ConfigurableFileCollection instead of a single DirectoryProperty.
Added headerOffset and edits fields to the SketchMeta data class in PDETask, and updated its instantiation accordingly. Introduced a new test in ProcessingPluginTest to verify that the build fails as expected when a Processing sketch contains a syntax error.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant