INNER CODE UNIT · Python

package_version

XRPLF/rippled · package/build_pkg.py:80

def package_version(reported: str, channel: str) -> str:
    """Normalise a reported version into one the package formats accept.

    - Release: unchanged (3.2.0 -> 3.2.0).
    - bN/rcN pre-release: '-' becomes '~', to sort before the release
      (3.2.0-b1 -> 3.2.0~b1).
    - custom, private: any version, '-' inside the pre-release and build
      metadata becomes '.' (3.4.0-custom-1 -> 3.4.0~custom.1).
    - develop, UNRELEASED: 0.0.0-dev without build metadata, so builds sort by
      package release, not commit hash (0.0.0-dev+abc1234 -> 0.0.0~dev).
      develop accepts nothing else.
    """
    # Metadata first, as it may contain '-' too.
    release, plus, metadata = reported.partition("+")
    if release == DEV_VERSION and channel in DEV_VERSION_CHANNELS:
        return DEV_VERSION.replace("-", "~")
    assert channel != "develop", (
        f"unsupported version {reported!r}: "

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…