How to cut a Canvas2DMX release, package it for Processing, publish it, and update the docs.
release.properties
version=1
prettyVersion = 0.0.1
library.properties during the release build.Notes:
version is the Processing Library Manager update counter and must be an integer.prettyVersion is the human-readable release version.sentence, paragraph, and url in release.properties when needed.From repo root:
./gradlew clean buildReleaseArtifacts packageRelease
This produces:
release/canvas2dmx.zip — the library package Processing expectsrelease/canvas2dmx.txt — a hosted copy of library.properties for Processing’s aggregatorrelease/canvas2dmx.pdex — optional duplicate artifactTo stage the hosted Processing submission files into GitHub Pages:
./gradlew stageContributionArtifactsToDocs
That copies the latest canvas2dmx.zip and canvas2dmx.txt into docs/download/.
Quick local install for testing:
./gradlew deployToProcessingSketchbook
git tag v0.0.1
git push origin v0.0.1
v0.0.1.library/, examples/, library.properties).If you want GitHub Pages to host the Processing submission files, run:
./gradlew stageContributionArtifactsToDocs
and commit the updated docs/download/ assets.
Processing’s current library submission flow is based on hosting a .zip and matching .txt file at stable URLs, then emailing the Processing librarian.
Checklist:
library.properties is complete:
nameauthorsurlcategoriessentenceversionhttps://jshaw.github.io/Canvas2DMX/download/canvas2dmx.ziphttps://jshaw.github.io/Canvas2DMX/download/canvas2dmx.txt.txt URL to contributions@processing.org.Suggested email:
Subject: Processing library submission: Canvas2DMX
Hi Processing team,
I'd like to submit Canvas2DMX for the Processing Library Manager.
Project URL:
https://github.com/jshaw/Canvas2DMX
Hosted library.properties (.txt):
https://jshaw.github.io/Canvas2DMX/download/canvas2dmx.txt
Hosted release zip:
https://jshaw.github.io/Canvas2DMX/download/canvas2dmx.zip
Thanks,
Jordan Shaw
Your site is served from /docs.
docs/ (Markdown + images in docs/_img/).main — Pages updates automatically.gh-pages for the current repo setup.First-time only (repo → Settings → Pages): set Source = Deploy from a branch, Branch = main, Folder = /docs.
Embedding media
YouTube:
<iframe width="560" height="315"
src="https://www.youtube.com/embed/VIDEO_ID"
title="Canvas2DMX demo" frameborder="0" allowfullscreen></iframe>
docs/download/canvas2dmx.zip updateddocs/download/canvas2dmx.txt updatedcontributions@processing.orgMIT License © 2025 Studio Jordan Shaw