{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "plagiarize.yaml configuration schema",
  "id": "https://json.schemastore.org/plagiarize",
  "properties": {
    "repo": {
      "required": ["url"],
      "type": "object",
      "description": "Configuration for strings, files, and file paths to replace in target file",
      "properties": {
        "url": {
          "description": "Git url of project to plagiarize",
          "type": "string"
        },
        "checkout": {
          "description": "Branch, tag, or commit to checkout from project to be plagiarized",
          "type": "string"
        }
      }
    },
    "strings": {
      "type": "object",
      "description": "Strings to find in target project and be replaced with plagiarized project's values",
      "additionalProperties": {
        "type": ["string", "integer", "boolean"]
      },
      "required": ["project"],
      "properties": {
        "project": {
          "type": "string"
        }
      }
    },
    "vars": {
      "type": "object",
      "description": "Variables available to be used for finding and replacing by variable name. For example `$var_name: hello` would replace string '$var_name' with 'hello' in target project",
      "additionalProperties": {
        "type": ["string", "integer", "boolean"]
      }
    }
  },
  "required": ["repo", "strings"],
  "title": "Plagiarize configuration",
  "type": "object"
}
