json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "title": "avalon-core:application-1.0",
      "description": "An application definition.",
      "type": "object",
      "additionalProperties": true,
      "required": [
          "schema",
          "label",
          "application_dir",
          "executable"
      ],
      "properties": {
          "schema": {
              "description": "Schema identifier for payload",
              "type": "string"
          },
          "label": {
              "description": "Nice name of application.",
              "type": "string"
          },
          "application_dir": {
              "description": "Name of directory used for application resources.",
              "type": "string"
          },
          "executable": {
              "description": "Name of callable executable, this is called to launch the application",
              "type": "string"
          },
          "description": {
              "description": "Description of application.",
              "type": "string"
          },
          "environment": {
              "description": "Key/value pairs for environment variables related to this application. Supports lists for paths, such as PYTHONPATH.",
              "type": "object",
              "items": {
                  "oneOf": [
                      {
                          "type": "string"
                      },
                      {
                          "type": "array",
                          "items": {
                              "type": "string"
                          }
                      }
                  ]
              }
          },
          "default_dirs": {
              "type": "array",
              "items": {
                  "type": "string"
              }
          },
          "copy": {
              "type": "object",
              "patternProperties": {
                  "^.*$": {
                      "anyOf": [
                          {
                              "type": "string"
                          },
                          {
                              "type": "null"
                          }
                      ]
                  }
              },
              "additionalProperties": false
          }
      }
  }