{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Oberon project", "description": "Project description consumed by the Oberon IDE (build, run, tasks, wizards).", "type": "object", "required": ["name", "main"], "properties": { "name": { "type": "string", "minLength": 1, "description": "Project name. Defaults the built executable to bin/." }, "main": { "type": "string", "minLength": 1, "description": "Main file relative to the project root, e.g. \"src/Main.Mod\"." }, "output": { "type": "string", "description": "Built executable relative to the root. Defaults to bin/." }, "compiler": { "type": "object", "description": "Compiler selection: voc (Oberon-2) or the Ulm Oberon compiler.", "properties": { "type": { "type": "string", "enum": ["voc", "ulm"], "description": "Compiler family." }, "path": { "type": "string", "description": "Compiler executable. Defaults to \"voc\" (or \"ulmo\" for that family, or the oberon.compiler.path preference)." }, "options": { "type": "array", "items": { "type": "string" }, "description": "Extra compiler options appended to the build command." } }, "additionalProperties": false }, "sourceDirectories": { "type": "array", "items": { "type": "string" }, "description": "Source folders searched by the New Module wizard. Defaults to [\"src\"]." }, "libraryDirectories": { "type": "array", "items": { "type": "string" }, "description": "Third-party library folders searched by language services after the source folders." } }, "additionalProperties": false }