Current section
Files
Jump to
Current section
Files
priv/spec/types/otp-definition.json
{
"$schema": "https://packageurl.org/schemas/purl-type-definition.schema-1.0.json",
"$id": "https://packageurl.org/types/otp-definition.json",
"type": "otp",
"type_name": "BEAM/OTP Application",
"description": "BEAM/OTP applications written in Elixir, Erlang, Gleam and other BEAM languages",
"note": "- If the component was fetched from a Hex repository, prefer a ``hex`` purl\n because Hex provides a global, collision-free namespace that uniquely ties\n the version to the published source.\n- There is no default package repository. When the application can be\n fetched from a known location, add a general qualifier such as\n `repository_url`, `download_url` or `vcs_url`.",
"repository": {
"use_repository": false
},
"namespace_definition": {
"requirement": "prohibited",
"note": "The component is unused and MUST be empty"
},
"name_definition": {
"case_sensitive": false,
"native_name": "name",
"note": "The OTP application name from the `.app` file; it is case-insensitive and MUST be lower-cased.",
"requirement": "required"
},
"version_definition": {
"native_name": "version",
"note": "The OTP application version (the `vsn` attribute).",
"requirement": "optional"
},
"subpath_definition": {
"case_sensitive": false,
"native_name": "May be added to reference a specific file or directory inside the OTP application.",
"requirement": "optional"
},
"qualifiers_definition": [
{
"key": "repository_url",
"requirement": "optional",
"native_name": "Repository URL",
"description": "The canonical origin of the OTP application source. This qualifier is optional, but it should be included whenever the origin is known, and should point to a trusted source repository."
},
{
"key": "platform",
"requirement": "optional",
"native_name": "platform",
"description": "The target operating system for native code (e.g. ``linux``, ``darwin``, ``freebsd``, ``sunos``, ``win32``; case-insensitive)."
},
{
"key": "arch",
"requirement": "optional",
"native_name": "arch",
"description": "The arch is the qualifiers key for a package architecture."
}
],
"examples": [
"pkg:otp/erts@10.6.3?platform=linux&arch=amd64&repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
"pkg:otp/stdlib@3.11.2?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
"pkg:otp/crypto@4.6.4?platform=darwin&arch=x86_64&repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
"pkg:otp/elixir@1.10.0?repository_url=https:%2F%2Fgithub.com%2Felixir-lang%2Felixir&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Felixir-lang%2Felixir.git",
"pkg:otp/eex@1.10.0?repository_url=https:%2F%2Fgithub.com%2Felixir-lang%2Felixir&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Felixir-lang%2Felixir.git",
"pkg:otp/logger@1.10.0?repository_url=https:%2F%2Fgithub.com%2Felixir-lang%2Felixir&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Felixir-lang%2Felixir.git",
"pkg:otp/rebar@3.13.0?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Frebar3&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Frebar3.git",
"pkg:otp/hex@2.1.1?repository_url=https:%2F%2Fgithub.com%2Fhexpm%2Fhex&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Fhexpm%2Fhex.git"
]
}