Skip to content

How to handle versioning of sc3-plugins? #434

@dyfer

Description

@dyfer

I was trying to update sc3-plugins' cmake to properly get SC version from the upcoming 3.15 release: #429. As of now, when building sc3-plugins against the develop branch of SC, the project version is not set at all.

In the process there was a suggestion that sc3-plugins should keep track of its own version independently from supercollider. Up to now, sc3-plugins would take the version from SC, i.e. it would not report its own version consistent with e.g. git tag.

I'd like us to discuss this, especially that sc3-plugins is in "maintenance mode" and once we (hopefully!) get a package manager for SC, the plugins would be split up.

Currently, the version number in cmake is used to set:

I think we have a few paths forward:

  1. leave this as is and the plugins version would not be set, though this would leave the version unset in the places mentioned above
  2. set sc3-plugins version from supercollider version as before, updating cmake variables appropriately (so that sc3-plugins would report its version according to the sc version they're built against, i.e. inconsistently with its own version)
  3. introduce a proper version setting through a version file (Version.txt? Version.cmake?), like in the main supercollider repo
  4. put version directly in the cmake file

For 3 and 4, we could also post which version of SC we are building the plugins against, as suggested by @Spacechild1.

If we go for option 3 or 4, we would need to decide if we keep the version differentiated between -dev, -rcX etc, or if we just set it to 3.15.0. If it was the former, we would need to remember to update it when making releases... which may be irrelevant, if plugins get split up and moved to a package manager.

To make the change minimal, I think I'd lean towards option 2 or 4.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions