|
| 1 | +{ |
| 2 | + "$schema": "https://packageurl.org/schemas/purl-type-definition.schema-1.0.json", |
| 3 | + "$id": "https://packageurl.org/types/otp-definition.json", |
| 4 | + "type": "otp", |
| 5 | + "type_name": "BEAM/OTP Application", |
| 6 | + "description": "BEAM/OTP applications written in Elixir, Erlang, Gleam and other BEAM languages", |
| 7 | + "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`.", |
| 8 | + "repository": { |
| 9 | + "use_repository": false |
| 10 | + }, |
| 11 | + "namespace_definition": { |
| 12 | + "requirement": "prohibited", |
| 13 | + "note": "The component is unused and MUST be empty" |
| 14 | + }, |
| 15 | + "name_definition": { |
| 16 | + "case_sensitive": false, |
| 17 | + "native_name": "name", |
| 18 | + "note": "The OTP application name from the `.app` file; it is case-insensitive and MUST be lower-cased.", |
| 19 | + "requirement": "required" |
| 20 | + }, |
| 21 | + "version_definition": { |
| 22 | + "native_name": "version", |
| 23 | + "note": "The OTP application version (the `vsn` attribute).", |
| 24 | + "requirement": "optional" |
| 25 | + }, |
| 26 | + "subpath_definition": { |
| 27 | + "case_sensitive": false, |
| 28 | + "native_name": "May be added to reference a specific file or directory inside the OTP application.", |
| 29 | + "requirement": "optional" |
| 30 | + }, |
| 31 | + "qualifiers_definition": [ |
| 32 | + { |
| 33 | + "key": "repository_url", |
| 34 | + "requirement": "optional", |
| 35 | + "native_name": "Repository URL", |
| 36 | + "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." |
| 37 | + }, |
| 38 | + { |
| 39 | + "key": "platform", |
| 40 | + "requirement": "optional", |
| 41 | + "native_name": "platform", |
| 42 | + "description": "The target operating system for native code (e.g. ``linux``, ``darwin``, ``freebsd``, ``sunos``, ``win32``; case-insensitive)." |
| 43 | + }, |
| 44 | + { |
| 45 | + "key": "arch", |
| 46 | + "requirement": "optional", |
| 47 | + "native_name": "arch", |
| 48 | + "description": "The arch is the qualifiers key for a package architecture." |
| 49 | + } |
| 50 | + ], |
| 51 | + "examples": [ |
| 52 | + "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", |
| 53 | + "pkg:otp/stdlib@3.11.2?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Fotp.git", |
| 54 | + "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", |
| 55 | + "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", |
| 56 | + "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", |
| 57 | + "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", |
| 58 | + "pkg:otp/rebar@3.13.0?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Frebar3&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Frebar3.git", |
| 59 | + "pkg:otp/hex@2.1.1?repository_url=https:%2F%2Fgithub.com%2Fhexpm%2Fhex&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Fhexpm%2Fhex.git" |
| 60 | + ] |
| 61 | +} |
0 commit comments