Bazel · Schema

BCR Module Source

Fetch instructions for a module version, served at /modules/{module}/{version}/source.json. The type discriminator selects the variant.

Build SystemsBuild ToolBzlmodCI/CDDeveloper ToolsHermetic BuildsMonorepoOpen SourceRemote ExecutionStarlark

Properties

Name Type Description
type string
View JSON Schema on GitHub

JSON Schema

bcr-source-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/bazel-build/main/json-schema/bcr-source-schema.json",
  "title": "BCR Module Source",
  "description": "Fetch instructions for a module version, served at /modules/{module}/{version}/source.json. The type discriminator selects the variant.",
  "type": "object",
  "required": ["type"],
  "properties": {
    "type": {
      "type": "string",
      "enum": ["archive", "git_repository", "local_path"]
    }
  },
  "oneOf": [
    {
      "type": "object",
      "required": ["type", "url", "integrity"],
      "properties": {
        "type": { "const": "archive" },
        "url": { "type": "string", "format": "uri" },
        "integrity": { "type": "string", "description": "Subresource Integrity checksum." },
        "strip_prefix": { "type": "string" },
        "patches": {
          "type": "object",
          "additionalProperties": { "type": "string" }
        },
        "patch_strip": { "type": "integer", "minimum": 0 },
        "overlay": {
          "type": "object",
          "additionalProperties": { "type": "string" }
        }
      }
    },
    {
      "type": "object",
      "required": ["type", "remote"],
      "properties": {
        "type": { "const": "git_repository" },
        "remote": { "type": "string", "format": "uri" },
        "commit": { "type": "string" },
        "tag": { "type": "string" },
        "shallow_since": { "type": "string" },
        "patches": {
          "type": "object",
          "additionalProperties": { "type": "string" }
        },
        "patch_strip": { "type": "integer", "minimum": 0 }
      }
    },
    {
      "type": "object",
      "required": ["type", "path"],
      "properties": {
        "type": { "const": "local_path" },
        "path": { "type": "string" }
      }
    }
  ]
}