Last active
January 7, 2023 16:44
-
-
Save williamboman/3ef0dbf97cac5eb5ee526888899f616d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$id": "https://github.com/mason-org/mason-registry/schemas/package", | |
"$schema": "https://json-schema.org/draft/2020-12/schema", | |
"title": "Mason Registry package schema", | |
"description": "Schema for package definitions.", | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"name": { | |
"type": "string", | |
"description": "The package name. MUST be unique within the registry it belongs to." | |
}, | |
"description": { | |
"type": "string", | |
"description": "The description of the package. Usually sourced upstream." | |
}, | |
"homepage": { | |
"type": "string", | |
"format": "uri", | |
"pattern": "^https?://", | |
"description": "A URL to the package's homepage." | |
}, | |
"licenses": { | |
"type": "array", | |
"minItems": 1, | |
"items": { | |
"$ref": "#/$defs/enums:spdx-license" | |
} | |
}, | |
"languages": { | |
"type": "array", | |
"items": { | |
"$ref": "#/$defs/enums:language" | |
} | |
}, | |
"categories": { | |
"type": "array", | |
"items": { | |
"$ref": "#/$defs/enums:category" | |
} | |
}, | |
"source": { | |
"$ref": "#/$defs/components:source" | |
}, | |
"bin": { | |
"$ref": "#/$defs/components:bin" | |
}, | |
"ci_skip": { | |
"type": "array", | |
"items": { | |
"$ref": "#/$defs/enums:platform" | |
} | |
} | |
}, | |
"required": [ | |
"name", | |
"description", | |
"homepage", | |
"licenses", | |
"languages", | |
"source" | |
], | |
"$defs": { | |
"Download": { | |
"type": "object", | |
"required": [ | |
"files" | |
], | |
"additionalProperties": true, | |
"properties": { | |
"target": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"$ref": "#/$defs/enums:platform" | |
} | |
}, | |
{ | |
"$ref": "#/$defs/enums:platform" | |
} | |
] | |
}, | |
"files": { | |
"type": "object", | |
"patternProperties": { | |
"^[a-zA-Z0-9_\\-\\.]+$": { | |
"type": "string", | |
"pattern": "^https?://" | |
} | |
}, | |
"additionalProperties": false | |
} | |
} | |
}, | |
"Asset": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"target", | |
"file" | |
], | |
"additionalProperties": true, | |
"properties": { | |
"target": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"$ref": "#/$defs/enums:platform" | |
} | |
}, | |
{ | |
"$ref": "#/$defs/enums:platform" | |
} | |
] | |
}, | |
"file": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
{ | |
"type": "string" | |
} | |
] | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"file": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"Build": { | |
"type": "object", | |
"required": [ | |
"target", | |
"run" | |
], | |
"additionalProperties": true, | |
"properties": { | |
"target": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"$ref": "#/$defs/enums:platform" | |
} | |
}, | |
{ | |
"$ref": "#/$defs/enums:platform" | |
} | |
] | |
}, | |
"run": { | |
"type": "string", | |
"description": "The shell script to run. Platform sensitive (bash on Unix, powershell on Windows)." | |
} | |
} | |
}, | |
"enums:spdx-license": { | |
"$comment": "SPDX license list; releaseDate=2022-12-15; source=https://raw.githubusercontent.com/spdx/license-list-data/master/json/licenses.json", | |
"enum": [ | |
"proprietary", | |
"0BSD", | |
"AAL", | |
"Abstyles", | |
"Adobe-2006", | |
"Adobe-Glyph", | |
"ADSL", | |
"AFL-1.1", | |
"AFL-1.2", | |
"AFL-2.0", | |
"AFL-2.1", | |
"AFL-3.0", | |
"Afmparse", | |
"AGPL-1.0", | |
"AGPL-1.0-only", | |
"AGPL-1.0-or-later", | |
"AGPL-3.0", | |
"AGPL-3.0-only", | |
"AGPL-3.0-or-later", | |
"Aladdin", | |
"AMDPLPA", | |
"AML", | |
"AMPAS", | |
"ANTLR-PD", | |
"ANTLR-PD-fallback", | |
"Apache-1.0", | |
"Apache-1.1", | |
"Apache-2.0", | |
"APAFML", | |
"APL-1.0", | |
"App-s2p", | |
"APSL-1.0", | |
"APSL-1.1", | |
"APSL-1.2", | |
"APSL-2.0", | |
"Arphic-1999", | |
"Artistic-1.0", | |
"Artistic-1.0-cl8", | |
"Artistic-1.0-Perl", | |
"Artistic-2.0", | |
"Baekmuk", | |
"Bahyph", | |
"Barr", | |
"Beerware", | |
"Bitstream-Vera", | |
"BitTorrent-1.0", | |
"BitTorrent-1.1", | |
"blessing", | |
"BlueOak-1.0.0", | |
"Borceux", | |
"BSD-1-Clause", | |
"BSD-2-Clause", | |
"BSD-2-Clause-FreeBSD", | |
"BSD-2-Clause-NetBSD", | |
"BSD-2-Clause-Patent", | |
"BSD-2-Clause-Views", | |
"BSD-3-Clause", | |
"BSD-3-Clause-Attribution", | |
"BSD-3-Clause-Clear", | |
"BSD-3-Clause-LBNL", | |
"BSD-3-Clause-Modification", | |
"BSD-3-Clause-No-Military-License", | |
"BSD-3-Clause-No-Nuclear-License", | |
"BSD-3-Clause-No-Nuclear-License-2014", | |
"BSD-3-Clause-No-Nuclear-Warranty", | |
"BSD-3-Clause-Open-MPI", | |
"BSD-4-Clause", | |
"BSD-4-Clause-Shortened", | |
"BSD-4-Clause-UC", | |
"BSD-Protection", | |
"BSD-Source-Code", | |
"BSL-1.0", | |
"BUSL-1.1", | |
"bzip2-1.0.5", | |
"bzip2-1.0.6", | |
"C-UDA-1.0", | |
"CAL-1.0", | |
"CAL-1.0-Combined-Work-Exception", | |
"Caldera", | |
"CATOSL-1.1", | |
"CC-BY-1.0", | |
"CC-BY-2.0", | |
"CC-BY-2.5", | |
"CC-BY-2.5-AU", | |
"CC-BY-3.0", | |
"CC-BY-3.0-AT", | |
"CC-BY-3.0-DE", | |
"CC-BY-3.0-IGO", | |
"CC-BY-3.0-NL", | |
"CC-BY-3.0-US", | |
"CC-BY-4.0", | |
"CC-BY-NC-1.0", | |
"CC-BY-NC-2.0", | |
"CC-BY-NC-2.5", | |
"CC-BY-NC-3.0", | |
"CC-BY-NC-3.0-DE", | |
"CC-BY-NC-4.0", | |
"CC-BY-NC-ND-1.0", | |
"CC-BY-NC-ND-2.0", | |
"CC-BY-NC-ND-2.5", | |
"CC-BY-NC-ND-3.0", | |
"CC-BY-NC-ND-3.0-DE", | |
"CC-BY-NC-ND-3.0-IGO", | |
"CC-BY-NC-ND-4.0", | |
"CC-BY-NC-SA-1.0", | |
"CC-BY-NC-SA-2.0", | |
"CC-BY-NC-SA-2.0-FR", | |
"CC-BY-NC-SA-2.0-UK", | |
"CC-BY-NC-SA-2.5", | |
"CC-BY-NC-SA-3.0", | |
"CC-BY-NC-SA-3.0-DE", | |
"CC-BY-NC-SA-3.0-IGO", | |
"CC-BY-NC-SA-4.0", | |
"CC-BY-ND-1.0", | |
"CC-BY-ND-2.0", | |
"CC-BY-ND-2.5", | |
"CC-BY-ND-3.0", | |
"CC-BY-ND-3.0-DE", | |
"CC-BY-ND-4.0", | |
"CC-BY-SA-1.0", | |
"CC-BY-SA-2.0", | |
"CC-BY-SA-2.0-UK", | |
"CC-BY-SA-2.1-JP", | |
"CC-BY-SA-2.5", | |
"CC-BY-SA-3.0", | |
"CC-BY-SA-3.0-AT", | |
"CC-BY-SA-3.0-DE", | |
"CC-BY-SA-4.0", | |
"CC-PDDC", | |
"CC0-1.0", | |
"CDDL-1.0", | |
"CDDL-1.1", | |
"CDL-1.0", | |
"CDLA-Permissive-1.0", | |
"CDLA-Permissive-2.0", | |
"CDLA-Sharing-1.0", | |
"CECILL-1.0", | |
"CECILL-1.1", | |
"CECILL-2.0", | |
"CECILL-2.1", | |
"CECILL-B", | |
"CECILL-C", | |
"CERN-OHL-1.1", | |
"CERN-OHL-1.2", | |
"CERN-OHL-P-2.0", | |
"CERN-OHL-S-2.0", | |
"CERN-OHL-W-2.0", | |
"checkmk", | |
"ClArtistic", | |
"CNRI-Jython", | |
"CNRI-Python", | |
"CNRI-Python-GPL-Compatible", | |
"COIL-1.0", | |
"Community-Spec-1.0", | |
"Condor-1.1", | |
"copyleft-next-0.3.0", | |
"copyleft-next-0.3.1", | |
"CPAL-1.0", | |
"CPL-1.0", | |
"CPOL-1.02", | |
"Crossword", | |
"CrystalStacker", | |
"CUA-OPL-1.0", | |
"Cube", | |
"curl", | |
"D-FSL-1.0", | |
"diffmark", | |
"DL-DE-BY-2.0", | |
"DOC", | |
"Dotseqn", | |
"DRL-1.0", | |
"DSDP", | |
"dvipdfm", | |
"ECL-1.0", | |
"ECL-2.0", | |
"eCos-2.0", | |
"EFL-1.0", | |
"EFL-2.0", | |
"eGenix", | |
"Elastic-2.0", | |
"Entessa", | |
"EPICS", | |
"EPL-1.0", | |
"EPL-2.0", | |
"ErlPL-1.1", | |
"etalab-2.0", | |
"EUDatagrid", | |
"EUPL-1.0", | |
"EUPL-1.1", | |
"EUPL-1.2", | |
"Eurosym", | |
"Fair", | |
"FDK-AAC", | |
"Frameworx-1.0", | |
"FreeBSD-DOC", | |
"FreeImage", | |
"FSFAP", | |
"FSFUL", | |
"FSFULLR", | |
"FSFULLRWD", | |
"FTL", | |
"GD", | |
"GFDL-1.1", | |
"GFDL-1.1-invariants-only", | |
"GFDL-1.1-invariants-or-later", | |
"GFDL-1.1-no-invariants-only", | |
"GFDL-1.1-no-invariants-or-later", | |
"GFDL-1.1-only", | |
"GFDL-1.1-or-later", | |
"GFDL-1.2", | |
"GFDL-1.2-invariants-only", | |
"GFDL-1.2-invariants-or-later", | |
"GFDL-1.2-no-invariants-only", | |
"GFDL-1.2-no-invariants-or-later", | |
"GFDL-1.2-only", | |
"GFDL-1.2-or-later", | |
"GFDL-1.3", | |
"GFDL-1.3-invariants-only", | |
"GFDL-1.3-invariants-or-later", | |
"GFDL-1.3-no-invariants-only", | |
"GFDL-1.3-no-invariants-or-later", | |
"GFDL-1.3-only", | |
"GFDL-1.3-or-later", | |
"Giftware", | |
"GL2PS", | |
"Glide", | |
"Glulxe", | |
"GLWTPL", | |
"gnuplot", | |
"GPL-1.0", | |
"GPL-1.0-only", | |
"GPL-1.0-or-later", | |
"GPL-1.0+", | |
"GPL-2.0", | |
"GPL-2.0-only", | |
"GPL-2.0-or-later", | |
"GPL-2.0-with-autoconf-exception", | |
"GPL-2.0-with-bison-exception", | |
"GPL-2.0-with-classpath-exception", | |
"GPL-2.0-with-font-exception", | |
"GPL-2.0-with-GCC-exception", | |
"GPL-2.0+", | |
"GPL-3.0", | |
"GPL-3.0-only", | |
"GPL-3.0-or-later", | |
"GPL-3.0-with-autoconf-exception", | |
"GPL-3.0-with-GCC-exception", | |
"GPL-3.0+", | |
"gSOAP-1.3b", | |
"HaskellReport", | |
"Hippocratic-2.1", | |
"HPND", | |
"HPND-sell-variant", | |
"HTMLTIDY", | |
"IBM-pibs", | |
"ICU", | |
"IJG", | |
"ImageMagick", | |
"iMatix", | |
"Imlib2", | |
"Info-ZIP", | |
"Intel", | |
"Intel-ACPI", | |
"Interbase-1.0", | |
"IPA", | |
"IPL-1.0", | |
"ISC", | |
"Jam", | |
"JasPer-2.0", | |
"JPNIC", | |
"JSON", | |
"Knuth-CTAN", | |
"LAL-1.2", | |
"LAL-1.3", | |
"Latex2e", | |
"Leptonica", | |
"LGPL-2.0", | |
"LGPL-2.0-only", | |
"LGPL-2.0-or-later", | |
"LGPL-2.0+", | |
"LGPL-2.1", | |
"LGPL-2.1-only", | |
"LGPL-2.1-or-later", | |
"LGPL-2.1+", | |
"LGPL-3.0", | |
"LGPL-3.0-only", | |
"LGPL-3.0-or-later", | |
"LGPL-3.0+", | |
"LGPLLR", | |
"Libpng", | |
"libpng-2.0", | |
"libselinux-1.0", | |
"libtiff", | |
"libutil-David-Nugent", | |
"LiLiQ-P-1.1", | |
"LiLiQ-R-1.1", | |
"LiLiQ-Rplus-1.1", | |
"Linux-man-pages-copyleft", | |
"Linux-OpenIB", | |
"LOOP", | |
"LPL-1.0", | |
"LPL-1.02", | |
"LPPL-1.0", | |
"LPPL-1.1", | |
"LPPL-1.2", | |
"LPPL-1.3a", | |
"LPPL-1.3c", | |
"LZMA-SDK-9.11-to-9.20", | |
"LZMA-SDK-9.22", | |
"MakeIndex", | |
"Minpack", | |
"MirOS", | |
"MIT", | |
"MIT-0", | |
"MIT-advertising", | |
"MIT-CMU", | |
"MIT-enna", | |
"MIT-feh", | |
"MIT-Modern-Variant", | |
"MIT-open-group", | |
"MITNFA", | |
"Motosoto", | |
"mpi-permissive", | |
"mpich2", | |
"MPL-1.0", | |
"MPL-1.1", | |
"MPL-2.0", | |
"MPL-2.0-no-copyleft-exception", | |
"mplus", | |
"MS-LPL", | |
"MS-PL", | |
"MS-RL", | |
"MTLL", | |
"MulanPSL-1.0", | |
"MulanPSL-2.0", | |
"Multics", | |
"Mup", | |
"NAIST-2003", | |
"NASA-1.3", | |
"Naumen", | |
"NBPL-1.0", | |
"NCGL-UK-2.0", | |
"NCSA", | |
"Net-SNMP", | |
"NetCDF", | |
"Newsletr", | |
"NGPL", | |
"NICTA-1.0", | |
"NIST-PD", | |
"NIST-PD-fallback", | |
"NLOD-1.0", | |
"NLOD-2.0", | |
"NLPL", | |
"Nokia", | |
"NOSL", | |
"Noweb", | |
"NPL-1.0", | |
"NPL-1.1", | |
"NPOSL-3.0", | |
"NRL", | |
"NTP", | |
"NTP-0", | |
"Nunit", | |
"O-UDA-1.0", | |
"OCCT-PL", | |
"OCLC-2.0", | |
"ODbL-1.0", | |
"ODC-By-1.0", | |
"OFL-1.0", | |
"OFL-1.0-no-RFN", | |
"OFL-1.0-RFN", | |
"OFL-1.1", | |
"OFL-1.1-no-RFN", | |
"OFL-1.1-RFN", | |
"OGC-1.0", | |
"OGDL-Taiwan-1.0", | |
"OGL-Canada-2.0", | |
"OGL-UK-1.0", | |
"OGL-UK-2.0", | |
"OGL-UK-3.0", | |
"OGTSL", | |
"OLDAP-1.1", | |
"OLDAP-1.2", | |
"OLDAP-1.3", | |
"OLDAP-1.4", | |
"OLDAP-2.0", | |
"OLDAP-2.0.1", | |
"OLDAP-2.1", | |
"OLDAP-2.2", | |
"OLDAP-2.2.1", | |
"OLDAP-2.2.2", | |
"OLDAP-2.3", | |
"OLDAP-2.4", | |
"OLDAP-2.5", | |
"OLDAP-2.6", | |
"OLDAP-2.7", | |
"OLDAP-2.8", | |
"OML", | |
"OpenSSL", | |
"OPL-1.0", | |
"OPUBL-1.0", | |
"OSET-PL-2.1", | |
"OSL-1.0", | |
"OSL-1.1", | |
"OSL-2.0", | |
"OSL-2.1", | |
"OSL-3.0", | |
"Parity-6.0.0", | |
"Parity-7.0.0", | |
"PDDL-1.0", | |
"PHP-3.0", | |
"PHP-3.01", | |
"Plexus", | |
"PolyForm-Noncommercial-1.0.0", | |
"PolyForm-Small-Business-1.0.0", | |
"PostgreSQL", | |
"PSF-2.0", | |
"psfrag", | |
"psutils", | |
"Python-2.0", | |
"Python-2.0.1", | |
"Qhull", | |
"QPL-1.0", | |
"Rdisc", | |
"RHeCos-1.1", | |
"RPL-1.1", | |
"RPL-1.5", | |
"RPSL-1.0", | |
"RSA-MD", | |
"RSCPL", | |
"Ruby", | |
"SAX-PD", | |
"Saxpath", | |
"SCEA", | |
"SchemeReport", | |
"Sendmail", | |
"Sendmail-8.23", | |
"SGI-B-1.0", | |
"SGI-B-1.1", | |
"SGI-B-2.0", | |
"SHL-0.5", | |
"SHL-0.51", | |
"SimPL-2.0", | |
"SISSL", | |
"SISSL-1.2", | |
"Sleepycat", | |
"SMLNJ", | |
"SMPPL", | |
"SNIA", | |
"Spencer-86", | |
"Spencer-94", | |
"Spencer-99", | |
"SPL-1.0", | |
"SSH-OpenSSH", | |
"SSH-short", | |
"SSPL-1.0", | |
"StandardML-NJ", | |
"SugarCRM-1.1.3", | |
"SWL", | |
"Symlinks", | |
"TAPR-OHL-1.0", | |
"TCL", | |
"TCP-wrappers", | |
"TMate", | |
"TORQUE-1.1", | |
"TOSL", | |
"TU-Berlin-1.0", | |
"TU-Berlin-2.0", | |
"UCL-1.0", | |
"Unicode-DFS-2015", | |
"Unicode-DFS-2016", | |
"Unicode-TOU", | |
"Unlicense", | |
"UPL-1.0", | |
"Vim", | |
"VOSTROM", | |
"VSL-1.0", | |
"W3C", | |
"W3C-19980720", | |
"W3C-20150513", | |
"Watcom-1.0", | |
"Wsuipa", | |
"WTFPL", | |
"wxWindows", | |
"X11", | |
"X11-distribute-modifications-variant", | |
"Xerox", | |
"XFree86-1.1", | |
"xinetd", | |
"Xnet", | |
"xpp", | |
"XSkat", | |
"YPL-1.0", | |
"YPL-1.1", | |
"Zed", | |
"Zend-2.0", | |
"Zimbra-1.3", | |
"Zimbra-1.4", | |
"Zlib", | |
"zlib-acknowledgement", | |
"ZPL-1.1", | |
"ZPL-2.0", | |
"ZPL-2.1" | |
], | |
"type": "string" | |
}, | |
"enums:language": { | |
"type": "string", | |
"enum": [ | |
".NET", | |
"1С:Enterprise", | |
"AWK", | |
"Ada", | |
"Angular", | |
"Ansible", | |
"Apex", | |
"Arduino", | |
"Assembly", | |
"Astro", | |
"Bash", | |
"Bazel", | |
"Beancount", | |
"Bicep", | |
"Blade", | |
"C", | |
"C#", | |
"C++", | |
"CMake", | |
"CSS", | |
"Clarity", | |
"Clojure", | |
"ClojureScript", | |
"CodeQL", | |
"Crystal", | |
"Csh", | |
"Cucumber", | |
"Cue", | |
"D", | |
"DOT", | |
"Dart", | |
"Dhall", | |
"Django", | |
"Dockerfile", | |
"Elixir", | |
"Elm", | |
"Ember", | |
"Emmet", | |
"Erg", | |
"Erlang", | |
"F#", | |
"Flow", | |
"Flux", | |
"Fortran", | |
"Glimmer", | |
"Go", | |
"Gradle", | |
"GraphQL", | |
"Groovy", | |
"HAML", | |
"HTML", | |
"Handlebargs", | |
"Handlebars", | |
"Haskell", | |
"Haxe", | |
"Hoon", | |
"JSON", | |
"JSX", | |
"Java", | |
"JavaScript", | |
"Jinja", | |
"Jq", | |
"Jsonnet", | |
"Julia", | |
"Kotlin", | |
"Ksh", | |
"LESS", | |
"LaTeX", | |
"Lelwel", | |
"Liquid", | |
"Lua", | |
"Luau", | |
"Markdown", | |
"Metamath Zero", | |
"Mksh", | |
"Move", | |
"Mustache", | |
"Nginx", | |
"Nickel", | |
"Nim", | |
"Nix", | |
"Nunjucks", | |
"OCaml", | |
"OneScript", | |
"OpenCL", | |
"OpenFOAM", | |
"PHP", | |
"Perl", | |
"PowerShell", | |
"Prisma", | |
"Protobuf", | |
"Puppet", | |
"PureScript", | |
"Python", | |
"R", | |
"Raku", | |
"ReScript", | |
"Reason", | |
"Robot Framework", | |
"Ruby", | |
"Rust", | |
"SCSS", | |
"SQL", | |
"Salt", | |
"Scala", | |
"Sh", | |
"Shell", | |
"Slint", | |
"Smithy", | |
"Solidity", | |
"Sphinx", | |
"Stylelint", | |
"Svelte", | |
"SystemVerilog", | |
"TOML", | |
"Teal", | |
"Terraform", | |
"Text", | |
"Twig", | |
"TypeScript", | |
"V", | |
"Vala", | |
"VimScript", | |
"Visualforce", | |
"Vue", | |
"WGSL", | |
"XML", | |
"YAML", | |
"Zig", | |
"Zsh" | |
] | |
}, | |
"enums:category": { | |
"type": "string", | |
"enum": [ | |
"Compiler", | |
"DAP", | |
"Formatter", | |
"LSP", | |
"Linter", | |
"Runtime" | |
] | |
}, | |
"components:source": { | |
"oneOf": [ | |
{ | |
"$ref": "#/$defs/components:sources:cargo" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:composer" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:gem" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:generic" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:github" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:golang" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:luarocks" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:npm" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:nuget" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:opam" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:pypi" | |
} | |
] | |
}, | |
"components:sources:cargo": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:cargo/.+@.+" | |
}, | |
"supported_platforms": { | |
"type": "array", | |
"description": "List of platforms supported by the cargo package.", | |
"items": { | |
"$ref": "#/$defs/enums:platform" | |
} | |
} | |
} | |
}, | |
"enums:platform": { | |
"type": "string", | |
"enum": [ | |
"darwin_arm64", | |
"darwin_x64", | |
"linux_arm", | |
"linux_arm64", | |
"linux_arm64_gnu", | |
"linux_arm64_openbsd", | |
"linux_arm_gnu", | |
"linux_x64", | |
"linux_x64_gnu", | |
"linux_x64_openbsd", | |
"linux_x86", | |
"linux_x86_gnu", | |
"win_arm", | |
"win_arm64", | |
"win_x64", | |
"win_x86" | |
] | |
}, | |
"components:sources:composer": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:composer/.+@.+" | |
} | |
} | |
}, | |
"components:sources:gem": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:gem/.+@.+" | |
}, | |
"extra_packages": { | |
"type": "array", | |
"description": "Extra gem packages required by the main package to function.", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"supported_platforms": { | |
"type": "array", | |
"description": "List of platforms supported by the gem package.", | |
"items": { | |
"$ref": "#/$defs/enums:platform" | |
} | |
} | |
} | |
}, | |
"components:sources:generic": { | |
"type": "object", | |
"$defs": {}, | |
"additionalProperties": false, | |
"required": [ | |
"id", | |
"download" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:generic/.+@.+" | |
}, | |
"download": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"$ref": "#/$defs/Download" | |
} | |
}, | |
{ | |
"$ref": "#/$defs/Download" | |
} | |
] | |
} | |
} | |
}, | |
"components:sources:github": { | |
"oneOf": [ | |
{ | |
"$ref": "#/$defs/components:sources:github:release" | |
}, | |
{ | |
"$ref": "#/$defs/components:sources:github:build" | |
} | |
] | |
}, | |
"components:sources:github:release": { | |
"type": "object", | |
"$defs": {}, | |
"additionalProperties": false, | |
"required": [ | |
"id", | |
"asset" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:github/.+@.+" | |
}, | |
"asset": { | |
"$ref": "#/$defs/Asset" | |
}, | |
"version_overrides": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"constraint": { | |
"type": "string", | |
"pattern": "^semver:(<=)?v?\\d+\\.\\d+\\.\\d+" | |
}, | |
"asset": { | |
"$ref": "#/$defs/Asset" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"components:sources:github:build": { | |
"type": "object", | |
"$defs": {}, | |
"additionalProperties": false, | |
"required": [ | |
"id", | |
"build" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:github/.+@.+" | |
}, | |
"build": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"$ref": "#/$defs/Build" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"run": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
"components:sources:golang": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:golang/.+@.+" | |
}, | |
"extra_packages": { | |
"type": "array", | |
"description": "Extra golang packages required by the main package to function.", | |
"items": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"components:sources:luarocks": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:luarocks/.+@.+" | |
} | |
} | |
}, | |
"components:sources:npm": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:npm/.+@.+" | |
}, | |
"extra_packages": { | |
"type": "array", | |
"description": "Extra npm packages required by the main package to function.", | |
"items": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"components:sources:nuget": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:nuget/.+@.+" | |
} | |
} | |
}, | |
"components:sources:opam": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:opam/.+@.+" | |
} | |
} | |
}, | |
"components:sources:pypi": { | |
"type": "object", | |
"additionalProperties": false, | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "string", | |
"pattern": "^pkg:pypi/.+@.+" | |
}, | |
"extra_packages": { | |
"type": "array", | |
"description": "Extra pypi packages required by the main package to function.", | |
"items": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"components:bin": { | |
"type": "object", | |
"patternProperties": { | |
"^[a-zA-Z0-9_\\-\\.]+$": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment