aboutsummaryrefslogtreecommitdiff
path: root/scripts/azure-pipelines/osx/configuration/installables.schema.json
blob: b7ec7ae801e05ea81f6fcc488ef55c4a0a6ab1bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
{
  "$schema": "https://json-schema.org/draft-07/schema",
  "type": "object",
  "definitions": {
    "sha256": {
      "type": "string",
      "pattern": "[A-Z0-9]{64}"
    }
  },
  "required": [
    "Applications",
    "Brew",
    "VagrantPlugins"
  ],
  "properties": {
    "Applications": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string"
          },
          "VersionCommand": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "VersionRegex": {
            "type": "string",
            "format": "regex"
          },
          "Version": {
            "type": "string"
          },
          "DmgUrl": {
            "type": "string",
            "format": "uri"
          },
          "Sha256": {
            "$ref": "#/definitions/sha256"
          },
          "InstallerPath": {
            "type": "string"
          }
        }
      }
    },
    "Brew": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [ "Name" ],
        "properties": {
          "Name": {
            "type": "string"
          },
          "Kind": {
            "type": "string",
            "enum": [ "cask" ]
          }
        }
      }
    },
    "VagrantPlugins": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [ "Name", "Version" ],
        "properties": {
          "Name": {
            "type": "string"
          },
          "Version": {
            "type": "string"
          }
        }
      }
    }
  }
}