{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "",
    "type": "object",
    "properties": {
      "$schema": {
        "type": "string",
        "minLength": 1
      },
      "meta": {
        "description": "Meta information about the application and current setting. This is mainly for information purpose and not used by the application itself",
        "type": "object",
        "properties": {
          "inputFileType": {
            "type": "string",
            "minLength": 1
          },
          "inputFileVersion": {
            "type": "string",
            "minLength": 1
          },
          "targetMachine": {
            "type": "string",
            "minLength": 1
          },
          "programName": {
            "type": "string",
            "minLength": 1
          },
          "programVersion": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "inputFileType",
          "inputFileVersion",
          "targetMachine",
          "programName",
          "programVersion"
        ]
      },
      "modules": {
        "type": "array",
        "description": "List of module setting files that will be loaded by the application",
        "items": {
          "type":"string",
          "description": "Module setting file",
          "properties": {}
        },

        "minItems": 1
      },
      "system": {
        "type": "object",
        "$ref": "system.schema.json"
      }
    },
    "required": [
      "meta",
      "modules"
    ]
  }