{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "atcoder-cli Task Template File",
  "required": [
    "task"
  ],
  "properties": {
    "contest": {
      "$ref": "#contest"
    },
    "task": {
      "$ref": "#task"
    }
  },
  "definitions": {
    "contest": {
      "$id": "#contest",
      "type": "object",
      "properties": {
        "static": {
          "$ref": "#copyfile-list"
        },
        "cmd": {
          "type": "string"
        }
      }
    },
    "task": {
      "$id": "#task",
      "type": "object",
      "required": [
        "submit",
        "program"
      ],
      "properties": {
        "submit": {
          "type": "string"
        },
        "program": {
          "$ref": "#copyfile-list"
        },
        "static": {
          "$ref": "#copyfile-list"
        },
        "cmd": {
          "type": "string"
        },
        "testdir": {
          "type": "string"
        }
      }
    },
    "copyfile-list": {
      "$id": "#copyfile-list",
      "type": "array",
      "items": {
        "$ref": "#copyfile"
      }
    },
    "copyfile": {
      "$id": "#copyfile",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "minItems": 2,
          "maxItems": 2,
          "items": {
            "type": "string"
          }
        }
      ]
    }
  }
}
