Skip to content

Create a .pdex file and include it in the release artifacts #23

@SableRaf

Description

@SableRaf

Thanks to @enkatsu we have a first implementation of a release workflow (https://github.com/mingness/processing-library-template/pull/20) 🙏

I'm suggesting we add a step to the workflow to create a .pdex file alongside the other artifacts. The .pdex file is the same as the .zip only with the extension changed to .pdex. Once downloaded, a .pdex file can be opened directly in Processing to install the library, bypassing the Contributions Manager. In combination with the pde:// URI protocol (more about this below) this will greatly simplify the installation of libraries.

Background

Since Processing 4.0b1, it is possible to bundle libraries as archived bundles with a .pdex extension.

It's now possible to bundle sketches into a single file to be loaded inside the PDE. This is done with .pdez files, which is a sketch folder saved as a .zip but with the extension changed to .pdez. This means you can post a sketch on the web as a .pdez, and someone with Processing can click the link and have it load directly in the PDE. #73, #3987

Similar to .pdez files, you can install Libraries, Modes, Tools, and Example sets (things that would normally be installed with the Contribution Manager) by renaming their .zip file to .pdez. Double-clicking a .pdez file will open it with Processing, and ask the user whether they'd like to install it.

Source: 4.0b1 release notes

Rationale

The proposed changes will enable the addition of a quick install button to the documentation. This uses pde:// protocol like the one already present on the Processing for Android install page (see screenshot below).

image

See also for context:

  • "Register pde:// browser protocol for .pdez and .pdex files on Linux" #674
  • Processing 4.2 release notes

Suggested Implementation

(Edited based on Stef's feedback)

Generate a .pdex file in the Gradle build process then modify the release.yml to include the file in the release artifacts.

      - name: Release
        uses: softprops/action-gh-release@v2
        with:
          files: |
            release/*.zip
            release/*.pdex

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions