{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/partial-pdm-dockerize.json",
  "$comment": "PDM Dockerize plugin table in pyproject.toml",
  "definitions": {
    "fnmatch-filter": {
      "type": "string",
      "description": "A Unix filename pattern filter",
      "examples": ["filename", "filename.*", "*.ext", "script?/*-[!-_].sh"],
      "x-taplo": {
        "links": {
          "key": "https://docs.python.org/3/library/fnmatch.html"
        }
      }
    },
    "selector": {
      "oneOf": [
        { "$ref": "#/definitions/fnmatch-filter" },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/fnmatch-filter"
          }
        }
      ]
    }
  },
  "properties": {
    "include": {
      "$ref": "#/definitions/selector",
      "description": "fnmatch filter patterns for included PDM scripts",
      "x-taplo": {
        "links": {
          "key": "https://github.com/noirbizarre/pdm-dockerize?#selecting-scripts"
        }
      }
    },
    "exclude": {
      "$ref": "#/definitions/selector",
      "description": "fnmatch filter patterns for excluded PDM scripts",
      "x-taplo": {
        "links": {
          "key": "https://github.com/noirbizarre/pdm-dockerize?#selecting-scripts"
        }
      }
    },
    "include_bins": {
      "$ref": "#/definitions/selector",
      "description": "fnmatch filter patterns for included binaries",
      "x-taplo": {
        "links": {
          "key": "https://github.com/noirbizarre/pdm-dockerize?#selecting-binaries"
        }
      }
    },
    "exclude_bins": {
      "$ref": "#/definitions/selector",
      "description": "fnmatch filter patterns for excluded binaries",
      "x-taplo": {
        "links": {
          "key": "https://github.com/noirbizarre/pdm-dockerize?#selecting-binaries"
        }
      }
    },
    "env_file": {
      "type": "string",
      "description": "Path to a file with environment variables",
      "x-taplo": {
        "links": {
          "key": "https://github.com/noirbizarre/pdm-dockerize?#loading-docker-only-environment-files"
        }
      }
    },
    "env": {
      "type": "object",
      "description": "Environment variables applied when running the script",
      "additionalProperties": { "type": "string" },
      "x-taplo": {
        "links": {
          "key": "https://github.com/noirbizarre/pdm-dockerize?#defining-docker-only-environment-variables"
        }
      }
    }
  },
  "type": "object",
  "additionalProperties": false,
  "x-taplo": {
    "links": {
      "key": "https://github.com/noirbizarre/pdm-dockerize?#usage"
    }
  }
}
