# Looking for feedback: Experimental Gradle plugin for Processing libraries

**URL:** https://discourse.processing.org/t/looking-for-feedback-experimental-gradle-plugin-for-processing-libraries/49041
**Category:** Development
**Created:** [July 23, 2026, 4:56pm UTC](https://discourse.processing.org/t/looking-for-feedback-experimental-gradle-plugin-for-processing-libraries/49041 "2026-07-23T16:56:52Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Stephcraft](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/stephcraft/32/22024_2.png) [@Stephcraft](https://discourse.processing.org/u/Stephcraft)
#### Post date: [July 23, 2026, 4:56pm UTC](https://discourse.processing.org/t/looking-for-feedback-experimental-gradle-plugin-for-processing-libraries/49041/1 "2026-07-23T16:56:53Z")

</div>

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](https://github.com/processing/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.properties` in 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:

```apache
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:

> **[GitHub - Stephcraft/Processing-Library-Plugin: 🔌 Gradle plugin for Processing Library development](https://github.com/Stephcraft/Processing-Library-Plugin)**
>
> 🔌 Gradle plugin for Processing Library development

Thanks! I’m hoping to make Processing library development a little easier, and feedback from experienced library authors would be incredibly valuable.

Cheers!

---

<div class="post-metadata">

### Author: ![hamoid](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/hamoid/32/58_2.png) [@hamoid](https://discourse.processing.org/u/hamoid)
#### Post date: [July 29, 2026, 7:59am UTC](https://discourse.processing.org/t/looking-for-feedback-experimental-gradle-plugin-for-processing-libraries/49041/2 "2026-07-29T07:59:42Z")

</div>

Hi! Sounds great to me, but I can’t give much feedback because I haven’t maintained my library much in recent years. I don’t remember being it much work to do new releases, but the plugin configuration you show above looks great to me. And I do use Gradle, so the syntax looks familiar.

Cheers!
