Hello everyone ![]()
I’ve been working on an experimental Gradle plugin to simplify developing and distributing Processing libraries, and I’d like to get feedback from library authors and anyone interested in build tooling.
The goal isn’t to replace existing workflows, but to automate many of the repetitive tasks involved in maintaining a library, such as:
- Generating and validating
library.properties - Packaging releases in the expected Processing library format
- Managing examples and other library resources
- Integrating with Gradle’s incremental builds and task system
- Providing a more modern, configurable build workflow
How does this compare to processing-library-template?
The plugin takes a different approach than processing-library-template.
Instead of starting from a template repository and maintaining a large generated build script with “Do not edit” sections, you simply apply the plugin to any Gradle project and configure a processingLibrary {} block.
This means you can:
- Write a clean, readable Gradle build script instead of working around a large template.
- Integrate the plugin into your existing project rather than being locked into a predefined structure.
- Customize your workflow, including output locations and project layout.
- Use it in multi-project Gradle builds.
- Configure
library.propertiesin a type-safe way, with enums for categories, structured author configuration, numeric properties, and IDE completion instead of editing raw text files.
Usage
Applying the plugin is intended to be as simple as:
plugins {
id("net.stephcraft.processing-library") version "0.0.1"
}
processingLibrary {
properties {
name = "Cool Library"
url = "https://username.github.io/libraryName"
categories = DATA + IO
sentence = "A great library"
paragraph = ""
version = 1
prettyVersion = project.version.toString()
revisionRange = 0246..1285
}
}
Current status
The plugin is still experimental and under active development. I’m not recommending it for production use yet, I’m looking for feedback to help shape its design.
If you maintain a Processing library, I’d especially like to hear:
- Does the workflow make sense?
- What parts of maintaining your library are the most tedious?
- What features or integrations would you expect from a tool like this?
- Is there anything about your current workflow that this shouldn’t try to change?
If you’re interested, I’d also appreciate anyone willing to try it on a branch of their library or simply review the project and share their thoughts.
Repository and getting started guide in README.md:
Thanks! I’m hoping to make Processing library development a little easier, and feedback from experienced library authors would be incredibly valuable.
Cheers!