diff --git a/Library-Guidelines.md b/Library-Guidelines.md index 0cb1d45..67193cb 100644 --- a/Library-Guidelines.md +++ b/Library-Guidelines.md @@ -47,6 +47,34 @@ Same goes for using `Processing`, `Pro`, or `P5`, whether it's a prefix or a suf Similarly, please don't use `processing` as the prefix for your library packages. We need to keep that name space clear for official things as well. +## Release artifacts +Below is the required structure for hosting the release artifacts of a Processing library. These files must be accessible at stable URLs. + +For example, if your library is called `myLibrary` and the latest version is at `https://mywebsite.com/releases/latest/` the following links should be valid: + +* `https://mywebsite.com/releases/latest/myLibrary.zip` +* `https://mywebsite.com/releases/latest/myLibrary.txt` +* `https://mywebsite.com/releases/latest/myLibrary.pdex` + +> [!IMPORTANT] +> All release artifacts must have the same base name (differing only by extension) and be hosted in the same directory. + +### Description of Files + +1. **`myLibrary.zip` file** + + - Contains the compiled library, documentation, and examples. +2. **`myLibrary.txt` file** + + - A direct copy of the `myLibrary.properties` file but with the extension changed to `.txt` + - Provides metadata such as the library's name, version, author, and dependencies. + - Required for library submission and indexing in Processing’s Contribution Manager. +3. **`myLibrary.pdex` file** + + - Identical to the `.zip` file but with a `.pdex` extension. + - Enables direct installation via the Processing IDE using a `pde://` link. + Example: `pde://https://mywebsite.com/releases/latest/myLibrary.pdex` ([read more](https://github.com/SableRaf/testURIscheme) about the `pde://` protocol) + ## Folder Structure > [!NOTE]