diff --git a/tools/projmgr/schemas/common.schema.json b/tools/projmgr/schemas/common.schema.json index 603e05e58..d1cdee154 100644 --- a/tools/projmgr/schemas/common.schema.json +++ b/tools/projmgr/schemas/common.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/2.6.0/tools/projmgr/schemas/common.schema.json", "title": "CMSIS common", - "description": "common and reusable properties from other schemas", + "description": "Common and reusable properties for other schemas.", "version": "2.6.0", "definitions": { "ArrayOfStrings": { @@ -72,14 +72,14 @@ {"$ref": "#/definitions/ArrayOfBuildContext" }, {"$ref": "#/definitions/BuildContext" } ], - "description": "Include node for a list of [.][+]" + "description": "Include node for a list of [.][+]." }, "NotForType": { "oneOf": [ {"$ref": "#/definitions/ArrayOfBuildContext" }, {"$ref": "#/definitions/BuildContext" } ], - "description": "Exclude node for a list of [.][+]" + "description": "Exclude node for a list of [.][+]." }, "TypeListMutualExclusion": { "oneOf": [ @@ -104,31 +104,33 @@ {"$ref": "#/definitions/ArrayOfBuildContext" }, {"$ref": "#/definitions/BuildContext" } ], - "description": "Include node for a list of [.][+]" + "description": "Apply to a specific context or a context list\nFormat: [.][+]." }, "NotForContext": { "oneOf": [ {"$ref": "#/definitions/ArrayOfBuildContext" }, {"$ref": "#/definitions/BuildContext" } ], - "description": "Exclude node for a list of [.][+]" + "description": "Exclude for a specific context or a context list\nFormat: [.][+]." + }, "SelectCompilersType": { "type": "array", "minItems": 1, - "description": "List tested compilers that can be selected", + "description": "List of compilers supported in the solution.", "items": { "$ref": "#/definitions/SelectCompilerType" } }, "SelectCompilerType": { "type": "object", "properties": { "compiler": { "$ref": "#/definitions/CompilerType" } - } + }, + "required" : [ "compiler"] }, "CompilerType": { "type": "string", "pattern": "^(GCC|CLANG|AC6|IAR)(@(>=)?([0-9]+\\.[0-9]+\\.[0-9]+((\\+|\\-)[a-zA-Z0-9_\\.\\+-]+)?))?$", - "description": "Selection of the toolchain used in the project (GCC, CLANG, AC6, IAR), optionally with version, for example AC6@6.16.0" + "description": "Compiler toolchain to be used, optionally with version, for example AC6@6.23.0." }, "ConsumesProvidesType": { "oneOf": [ @@ -140,12 +142,13 @@ "type": "array", "uniqueItems": true, "minItems": 1, + "description": "List of variables. Can be used to define project components/layers.", "items": {"type": "object", "additionalProperties": {"type": "string"}} }, "VersionType": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(-[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$", - "description": "A version consists of 3 mandatory and 2 optional sections: MAJOR.MINOR.PATCH[-Pre Release][+Build Metadata]" + "description": "A version consists of 3 mandatory and 2 optional sections: MAJOR.MINOR.PATCH[-Pre Release][+Build Metadata]." }, "ArrayOfCompilerType": { "type": "array", @@ -158,7 +161,7 @@ {"$ref": "#/definitions/ArrayOfCompilerType" }, {"$ref": "#/definitions/CompilerType" } ], - "description": "Include node for a list of compilers" + "description": "Include node for a list of compilers." }, "ArrayOfBuildContextWithProjectName": { "type": "array", @@ -171,25 +174,25 @@ {"$ref": "#/definitions/ArrayOfContextMapAlternativeContext" }, {"$ref": "#/definitions/ContextMapAlternativeContext" } ], - "description": "Remapping of build contexts" + "description": "Remapping of build contexts." }, "DeviceType": { "type": "string", "pattern": "^(([ -9;-~]+::)?[ -9;-~]+)?(:[ -9;-~]+)?$", - "description": "Unique device name optionally preceded by device vendor in the format [[vendor::]device][:processor]. A unique processor identifier is required in case of devices with multiple processors, even if the device is implicitly inferred from the board. If both board and device fields are present the given device overrules the device inferred from the board setting." + "description": "Unique device name. Overrules default board device setting.\nA unique processor ID is reqiured for devices with multiple processors.\nExample: STMicroelectronics::STM32H735IGK" }, "BoardType": { "type": "string", "pattern": "^([ -9;-~]+::)?[ -9;-~]+(:[ -9;-~]+)?$", - "description": "Unique board name, optionally preceded by board vendor and succeeded by board revision string, in the format [vendor::]board[:revision]" + "description": "Unique board name optionally preceded by board vendor and followed by revision.\nFormat [vendor::]board[:revision].\nExample: NXP::LPCXpresso55S28:Rev.A" }, "OptimizeType": { "enum": [ "size", "speed", "balanced", "none", "debug" ], - "description": "Generic optimize levels (size, speed, balanced, none, debug) for code generation." + "description": "Generic optimization levels for code generation (size, speed, balanced, none, debug)." }, "DebugType": { "enum": [ "on", "off" ], - "description": "Generic control for the generation of debug information (on, off)." + "description": "Enable/disable generation of debug information (on, off)." }, "WarningsType": { "enum": [ "on", "off", "all" ], @@ -197,15 +200,15 @@ }, "LanguageCType": { "enum": [ "c90", "gnu90", "c99", "gnu99", "c11", "gnu11", "c17", "gnu17", "c23", "gnu23" ], - "description": "Language standard for C (c90, gnu90, c99, gnu99, c11, gnu11, c17, gnu17, c23, gnu23)." + "description": "Language standard to apply for compiling C source files.\nFor example c17, or gnu11." }, "LanguageCppType": { "enum": [ "c++98", "gnu++98", "c++03", "gnu++03", "c++11", "gnu++11", "c++14", "gnu++14", "c++17", "gnu++17", "c++20", "gnu++20", "c++23", "gnu++23" ], - "description": "Language standard for C++ (c++98, gnu++98, c++03, gnu++03, c++11, gnu++11, c++14, gnu++14, c++17, gnu++17, c++20, gnu++20, c++23, gnu++23)." + "description": "Language standard to apply for compiling C++ source files.\nFor example c++17 or gnu++17." }, "PLMStatusType": { "enum": [ "missing file", "missing base", "update suggested", "update recommended", "update required" ], - "description": "PLM Status of component configuration file" + "description": "PLM Status of component configuration file." }, "ArrayOfArtifactType": { "type": "array", @@ -215,7 +218,7 @@ }, "ArtifactType": { "enum": [ "elf", "hex", "bin", "lib", "cmse-lib", "map" ], - "description": "Output type: elf (default), hex, bin, lib, cmse-lib or map" + "description": "Output type: elf (default), hex, bin, lib, cmse-lib or map." }, "ArtifactsType": { "oneOf": [ @@ -234,10 +237,11 @@ }, "OutputDirectoriesType": { "type": "object", + "description": "Directories for saving the build output and temporary files.", "properties": { - "intdir": { "type": "string" }, - "outdir": { "type": "string" }, - "tmpdir": { "type": "string" }, + "intdir": { "type": "string", "description": "Legacy option applied instead of tmpdir when using cbuild with --cbuildgen." }, + "outdir": { "type": "string", "description": "Directory for saving the build output files \n (.elf, .bin, .map, and others)." }, + "tmpdir": { "type": "string", "description": "Directory for saving the interim temporary files." }, "cprjdir": { "type": "string" } }, "additionalProperties": false @@ -269,7 +273,28 @@ }, "DefinesType": { "type": "array", - "description": "List of #define symbol settings for the code generation.", + "description": "List of #define symbols for C/C++ files and linker script preprocessor.", + "uniqueItems": true, + "minItems": 1, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { "type": "string" }, + "value": { "type": ["number", "string"], "minLength": 1 } + } + }, + { + "type": "string", + "pattern": "^([^=:]+)$" + } + ] + } + }, + "DefinesAsmType": { + "type": "array", + "description": "List of #define symbols for assembler source files.", "uniqueItems": true, "minItems": 1, "items": { @@ -318,23 +343,30 @@ }, "AddpathsType": { "type": "array", - "description": "List of include path settings for the code generation.", + "description": "List of additional include paths for C/C++ source files.", + "uniqueItems": true, + "minItems": 1, + "items": { "type": "string" } + }, + "AddAsmPathsType": { + "type": "array", + "description": "List of additional include paths for assembly source files.", "uniqueItems": true, "minItems": 1, "items": { "type": "string" } }, "DelpathsType": { "type": "array", - "description": "List of include path settings to be removed for the code generation.", + "description": "List of include paths to be removed for code generation.", "uniqueItems": true, "minItems": 1, "items": { "type": "string" } }, "MiscTypes": { + "description": "List of miscellaneous literal tool-specific controls that are passed directly to the tools depending on the file type.", "oneOf": [ { "type": "array", - "description": "List of miscellaneous literal tool-specific controls that are passed directly to the tools depending on the file type", "uniqueItems": true, "minItems": 1, "items": { "$ref": "#/definitions/MiscType" } @@ -346,15 +378,15 @@ "type": ["object", "null"], "properties": { "for-compiler": { "$ref": "#/definitions/CompilerType" }, - "C": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of C flags" }, - "CPP": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of CPP flags" }, - "C-CPP": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of C & CPP flags" }, - "ASM": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of ASM flags" }, - "Link": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of Linker flags" }, - "Link-C": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of Linker flags for pure C project" }, - "Link-CPP": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of Linker flags for project with C++ files" }, - "Library": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of Linker flags for libraries handling" }, - "Lib": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of Library Manager or Archiver flags" } + "C": { "$ref": "#/definitions/ArrayOfStrings", "description": "Flags for *.c files." }, + "CPP": { "$ref": "#/definitions/ArrayOfStrings", "description": "Flags for *.cpp files." }, + "C-CPP": { "$ref": "#/definitions/ArrayOfStrings", "description": "Flags for *.c and *.cpp files." }, + "ASM": { "$ref": "#/definitions/ArrayOfStrings", "description": "Flags for assembler source files." }, + "Link": { "$ref": "#/definitions/ArrayOfStrings", "description": "Linker flags." }, + "Link-C": { "$ref": "#/definitions/ArrayOfStrings", "description": "Linker flags for a pure C project." }, + "Link-CPP": { "$ref": "#/definitions/ArrayOfStrings", "description": "Linker flags for a project with C++ files." }, + "Library": { "$ref": "#/definitions/ArrayOfStrings", "description": "Set libraries to the correct position in the linker command line (for GCC)." }, + "Lib": { "$ref": "#/definitions/ArrayOfStrings", "description": "List of Library Manager or Archiver flags." } }, "additionalProperties": false }, @@ -377,31 +409,31 @@ "pattern": "^([a-zA-Z0-9_-]{1,32})$", "description": "Name of the target type." }, + "add-path": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "board": { "$ref": "#/definitions/BoardType" }, - "device": { "$ref": "#/definitions/DeviceType" }, - "processor": { "$ref": "#/definitions/ProcessorType" }, "compiler": { "$ref": "#/definitions/CompilerType" }, - "optimize": { "$ref": "#/definitions/OptimizeType" }, + "context-map": { "$ref": "#/definitions/ContextMapType" }, "debug": { "$ref": "#/definitions/DebugType" }, - "warnings": { "$ref": "#/definitions/WarningsType" }, - "language-C": { "$ref": "#/definitions/LanguageCType" }, - "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "define": { "$ref": "#/definitions/DefinesType" }, - "define-asm": { "$ref": "#/definitions/DefinesType" }, - "undefine": { "$ref": "#/definitions/UndefinesType" }, - "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "define-asm": { "$ref": "#/definitions/DefinesAsmType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, + "device": { "$ref": "#/definitions/DeviceType" }, + "language-C": { "$ref": "#/definitions/LanguageCType" }, + "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, + "optimize": { "$ref": "#/definitions/OptimizeType" }, + "processor": { "$ref": "#/definitions/ProcessorType" }, + "undefine": { "$ref": "#/definitions/UndefinesType" }, "variables": { "$ref": "#/definitions/VariablesType" }, - "context-map": { "$ref": "#/definitions/ContextMapType" } + "warnings": { "$ref": "#/definitions/WarningsType" } }, "additionalProperties": false, "required" : [ "type"] }, "BuildTypes": { "type": "array", - "description": "Build type declaration list that allow to switch among different build settings such as: Release, Debug, Test.", + "description": "List of build type declarations that allow to switch among different build settings such as: Release, Debug, Test.", "uniqueItems": true, "minItems": 1, "items": { "$ref": "#/definitions/BuildType" } @@ -412,31 +444,31 @@ "type": { "type": "string", "pattern": "^([a-zA-Z0-9_-]{1,32})$", - "description": "Name of build configuration type. (Debug | Test | Release)" + "description": "Name of a build configuration type.\nExample: Release | Debug | Test ." }, - "processor": { "$ref": "#/definitions/ProcessorType" }, + "add-path": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "compiler": { "$ref": "#/definitions/CompilerType" }, - "optimize": { "$ref": "#/definitions/OptimizeType" }, + "context-map": { "$ref": "#/definitions/ContextMapType" }, "debug": { "$ref": "#/definitions/DebugType" }, - "warnings": { "$ref": "#/definitions/WarningsType" }, - "language-C": { "$ref": "#/definitions/LanguageCType" }, - "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "define": { "$ref": "#/definitions/DefinesType" }, - "define-asm": { "$ref": "#/definitions/DefinesType" }, - "undefine": { "$ref": "#/definitions/UndefinesType" }, - "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "define-asm": { "$ref": "#/definitions/DefinesAsmType"}, "del-path": { "$ref": "#/definitions/DelpathsType" }, + "language-C": { "$ref": "#/definitions/LanguageCType" }, + "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, + "optimize": { "$ref": "#/definitions/OptimizeType" }, + "processor": { "$ref": "#/definitions/ProcessorType" }, + "undefine": { "$ref": "#/definitions/UndefinesType" }, "variables": { "$ref": "#/definitions/VariablesType" }, - "context-map": { "$ref": "#/definitions/ContextMapType" } + "warnings": { "$ref": "#/definitions/WarningsType" } }, "additionalProperties": false, "required" : [ "type"] }, "ProjectsType": { "type": "array", - "description": "This section defines the collection of related projects", + "description": "List of projects defined as part of this solution.", "uniqueItems": true, "minItems": 1, "items": { "$ref": "#/definitions/ProjectType" } @@ -447,7 +479,7 @@ "project": { "type": "string", "pattern": "^.*[/]([^.+]*\\.cproject\\.(yml|yaml))$|^([^.+]+)\\.cproject\\.(yml|yaml)$", - "description": "Path to the valid project file" + "description": "Path to the valid project file." }, "for-context": { "$ref": "#/definitions/ForContext" }, "not-for-context": { "$ref": "#/definitions/NotForContext" } @@ -460,35 +492,35 @@ }, "ProcessorTrustzone": { "enum": [ "secure", "secure-only", "non-secure", "off" ], - "description": "Select TrustZone mode: secure | secure-only | non-secure | off" + "description": "Select TrustZone mode:\n secure | secure-only | non-secure | off ." }, "ProcessorFpu": { "enum": [ "dp", "sp", "off" ], - "description": "Controls usage of FPU registers (S-Registers that are used for Helium and FPU hardware): dp (double precision) | sp (single precision) | off (disabled)" + "description": "Controls usage of FPU instructions:\ndp (double precision)\n sp (single precision)\n off (disabled) ." }, "BuildProcessorFpu": { "enum": [ "on", "dp", "sp", "off" ], - "description": "Controls usage of FPU registers (S-Registers that are used for Helium and FPU hardware): on (enabled) | dp (double precision) | sp (single precision) | off (disabled)" + "description": "Controls usage of FPU instructions:\non (enabled)\n dp (double precision)\n sp (single precision)\n off (disabled) ." }, "ProcessorDsp": { "enum": [ "on", "off" ], - "description": "Controls usage of DSP: on (enabled) | off (disabled)" + "description": "Controls usage of DSP instruction set extensions as supported by the processor:\n on (enabled) | off (disabled) ." }, "ProcessorMve": { "enum": [ "fp", "int", "off" ], - "description": "Controls usage of M-Profile Vector Extension Instructions: fp (floating point and integer instructions) | int (integer instructions) | off (disabled)" + "description": "Controls usage of M-Profile Vector Extension Instructions:\n fp (floating point and integer instructions)\n int (integer instructions)\n off (disabled) ." }, "ProcessorEndian": { "enum": [ "little", "big" ], - "description": "Controls endianess: little | big" + "description": "Controls endianess: little | big ." }, "ProcessorBranchProtection": { "enum": [ "bti", "bti-signret", "off" ], - "description": "Select Branch Protection mode: bti (branch target identification) | bit-signret (branch target identification and pointer authentication) | off (disabled)" + "description": "Select Branch Protection mode:\n bti (branch target identification)\n bit-signret (bti and pointer authentication)\n off (disabled) ." }, "ProcessorType": { "type": ["object", "null"], - "description": "Processor specific settings", + "description": "Configures usage of processor features.", "properties": { "trustzone": { "$ref": "#/definitions/ProcessorTrustzone" }, "fpu": { "$ref": "#/definitions/ProcessorFpu" }, @@ -501,7 +533,7 @@ }, "BuildProcessorType": { "type": ["object", "null"], - "description": "Processor specific settings", + "description": "Processor specific settings.", "properties": { "trustzone": { "$ref": "#/definitions/ProcessorTrustzone" }, "fpu": { "$ref": "#/definitions/BuildProcessorFpu" }, @@ -509,13 +541,13 @@ "mve": { "$ref": "#/definitions/ProcessorMve" }, "endian": { "$ref": "#/definitions/ProcessorEndian" }, "branch-protection": { "$ref": "#/definitions/ProcessorBranchProtection" }, - "core": {"type": "string", "description": "Processor core"} + "core": {"type": "string", "description": "Processor core."} }, "additionalProperties": false }, "GroupsType": { "type": "array", - "description": "List of source groups to be added to a project or layer.", + "description": "List of file groups to be added to a project or layer.", "uniqueItems": true, "minItems": 1, "items": { "$ref": "#/definitions/GroupType" } @@ -523,7 +555,7 @@ "GroupType": { "type": "object", "properties": { - "group": { "type": "string", "description": "Name of the group." }, + "group": { "type": "string", "description": "Name of the source file group." }, "for-context": { "$ref": "#/definitions/ForContext" }, "not-for-context": { "$ref": "#/definitions/NotForContext" }, "for-compiler": { "$ref": "#/definitions/CompilersType" }, @@ -533,10 +565,10 @@ "language-C": { "$ref": "#/definitions/LanguageCType" }, "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "define": { "$ref": "#/definitions/DefinesType" }, - "define-asm": { "$ref": "#/definitions/DefinesType" }, + "define-asm": { "$ref": "#/definitions/DefinesAsmType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, "groups": { "$ref": "#/definitions/GroupsType" }, @@ -554,7 +586,7 @@ }, "BuildGroupsType": { "type": "array", - "description": "List of source groups.", + "description": "List of file groups.", "uniqueItems": true, "minItems": 1, "items": { "$ref": "#/definitions/BuildGroupType" } @@ -562,7 +594,7 @@ "BuildGroupType": { "type": "object", "properties": { - "group": { "type": "string", "description": "Name of the group." }, + "group": { "type": "string", "description": "Name of the file group." }, "for-context": { "$ref": "#/definitions/ForContext" }, "not-for-context": { "$ref": "#/definitions/NotForContext" }, "for-compiler": { "$ref": "#/definitions/CompilersType" }, @@ -572,10 +604,10 @@ "language-C": { "$ref": "#/definitions/LanguageCType" }, "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "define": { "$ref": "#/definitions/DefinesType" }, - "define-asm": { "$ref": "#/definitions/DefinesType" }, + "define-asm": { "$ref": "#/definitions/DefinesAsmType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, "groups": { "$ref": "#/definitions/BuildGroupsType" }, @@ -624,15 +656,15 @@ "language-C": { "$ref": "#/definitions/LanguageCType" }, "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "define": { "$ref": "#/definitions/DefinesType" }, - "define-asm": { "$ref": "#/definitions/DefinesType" }, + "define-asm": { "$ref": "#/definitions/DefinesAsmType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, - "select": { "type": "string", "description": "Description and purpose of the file" }, - "base": { "type": "string", "description": "Current configuration file with version" }, - "update": { "type": "string", "description": "New configuration file used for merge utility" }, + "select": { "type": "string", "description": "Description and purpose of the file." }, + "base": { "type": "string", "description": "Current configuration file with version." }, + "update": { "type": "string", "description": "New configuration file used for merge utility." }, "status": { "$ref": "#/definitions/PLMStatusType" } }, "allOf": [ @@ -643,26 +675,26 @@ }, "GeneratorsType": { "type": "array", - "description": "Information for calling generators", + "description": "Information for calling generators.", "uniqueItems": true, "minItems": 1, "items": { "$ref": "#/definitions/GeneratorType" } }, "GeneratorType": { - "description": "General generator info", + "description": "General generator info.", "type": "object", "properties": { "from-pack": { "$ref": "#/definitions/PackID" }, - "generator": { "type": "string", "description": "Section for a specific generator" }, - "path": { "type": "string", "description": "Path name for storing the files generated" }, - "gpdsc": { "type": "string", "description": "File name of the *.GDPSC file that stores the information in path" }, + "generator": { "type": "string", "description": "Section for a specific generator." }, + "path": { "type": "string", "description": "Path name for storing the files generated." }, + "gpdsc": { "type": "string", "description": "File name of the *.GDPSC file that stores the information in path." }, "command": { "$ref": "#/definitions/CommandType" } }, "required": [ "generator", "path", "gpdsc", "command" ] }, "CommandType": { "type": "object", - "description": "Section for invoking the generator on different Host operating systems", + "description": "Section for invoking the generator on different Host operating systems.", "properties": { "win": { "$ref": "#/definitions/HostSpecificCommand" }, "linux": { "$ref": "#/definitions/HostSpecificCommand" }, @@ -672,25 +704,25 @@ }, "HostSpecificCommand": { "type": "object", - "description": "Command for one of the supported host types (Windows, Linux, Mac or other)", + "description": "Command for one of the supported host types (Windows, Linux, Mac or other).", "properties": { "file": { "type": "string", - "description": "Path to the executable" + "description": "Path to the executable." }, "arguments": { "type": "array", "items": { "type": "string" }, - "description": "Arguments passed when executing the command" + "description": "Arguments passed when executing the command." } } }, "ComponentGeneratorType": { - "description": "Component specific generator info. Any field in this object overrides the corresponding value from the general GeneratorType", + "description": "Component specific generator info. Any field in this object overrides the corresponding value from the general GeneratorType.", "type": "object", "properties": { - "id": { "type": "string", "description": "Generator identifier" }, - "path": { "type": "string", "description": "Path name for storing the files generated" }, + "id": { "type": "string", "description": "Generator identifier." }, + "path": { "type": "string", "description": "Path name for storing the files generated." }, "from-pack": { "$ref": "#/definitions/PackID"}, "files": { "$ref": "#/definitions/FilesType" } }, @@ -699,11 +731,12 @@ "ComponentID": { "type": "string", "pattern": "(^[A-Za-z0-9][a-zA-Z0-9_\\+()'\\/\\- \\.]+$)|(^([A-Za-z0-9][A-Za-z0-9 \\-]+::)?([A-Za-z0-9][a-zA-Z0-9_\\+()'\\/\\- \\.]+)(&[A-Za-z0-9][a-zA-Z0-9_\\+()'\\/\\- \\.]+)?(:[A-Za-z0-9][a-zA-Z0-9_\\+()'\\/\\- \\.]+)(:[A-Za-z0-9][a-zA-Z0-9_\\+():\\/\\- \\.]*)?(&[A-Za-z0-9][a-zA-Z0-9_\\+()'\\/\\- \\.]+)?(@(>=)?((0|[1-9][0-9]*)\\.([0-9]+)(\\.([0-9]+))?(\\-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?))?$)", - "description": "Name of the software component. It can be a free text or a component identifier in the format [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion]" + "description": "Name of the software component\nFormat: [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion]." }, "ComponentsType": { "type": "array", - "description": "List of software components to be added in a project or layer.", + "title": "Software components from packs\nDocumentation: https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/YML-Input-Format.md#components", + "description": "List of software components that are added from packs. Can be applied in *.cproject.yml and *.clayer.yml files.", "uniqueItems": true, "minItems": 1, "items": { "$ref": "#/definitions/ComponentType" } @@ -722,10 +755,10 @@ "language-C": { "$ref": "#/definitions/LanguageCType" }, "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "define": { "$ref": "#/definitions/DefinesType" }, - "define-asm": { "$ref": "#/definitions/DefinesType" }, + "define-asm": { "$ref": "#/definitions/DefinesAsmType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, "instances": { "$ref": "#/definitions/InstancesType" } @@ -738,22 +771,22 @@ }, "RteType": { "type": ["object", "null"], - "description": "Allows to control the directory structure for RTE (run-time environment) files", + "description": "Allows to control the directory structure for RTE (run-time environment) files.", "properties": { "base-dir": { "type": "string", - "description": "Base directory for RTE files; default: $ProjectDir()$/RTE" + "description": "Base directory for RTE files; default: $ProjectDir()$/RTE ." } }, "additionalProperties": false }, "GeneratorsOutputType": { "type": ["object", "null"], - "description": "Allows to control the directory structure for generator output files", + "description": "Directory structure for generator output files.", "properties": { "base-dir": { "type": "string", - "description": "Base directory for unspecified generators; default: $ProjectDir()$/generated" + "description": "Base directory for unspecified generators; default: $ProjectDir()$/generated." }, "options": { "$ref": "#/definitions/GeneratorOptionsType" } }, @@ -761,7 +794,7 @@ }, "GeneratorOptionsType": { "type": "array", - "description": "Specific generator options; allows explicit directory configuration for a generator", + "description": "Specific generator options; allows explicit directory configuration for a generator.", "uniqueItems": true, "minItems": 1, "items": { "$ref": "#/definitions/GeneratorOptionType" } @@ -771,19 +804,19 @@ "properties": { "generator": { "type": "string", - "description": "Identifier of the generator tool, specified with id in the generators element of the PDSC file" + "description": "Identifier of the generator tool, specified with id in the generators element of the PDSC file." }, "path": { "type": "string", - "description": "Specifies the directory for generated files. Relative paths used the location of the yml file as base directory" + "description": "Directory path for generated files. Relative paths use the location of the yml file as base directory." }, "name": { "type": "string", - "description": "Specifies the base name of the generator import file, typically used for a board layer" + "description": "Base name of the generator import file, typically used for a board layer." }, "map": { "type": "string", - "description": "Mapping of the csolution project to a generator specific run-time context name" + "description": "Mapping of the csolution project to a generator specific run-time context name." } }, "additionalProperties": false, @@ -799,15 +832,15 @@ "properties": { "layer": { "type": "string", - "description": "Path to the '*.clayer.yml' file that defines the layer" + "description": "Path to the '*.clayer.yml' file that defines the layer." }, "type": { "type": "string", - "description": "Layer type for compatible layers matching" + "description": "Layer type for compatible layers matching." }, "optional": { "type": "boolean", - "description": "Set optional to 'false' to require the layer type when searching compatible layers; default: 'true'" + "description": "Set optional to 'false' to require the layer type when searching compatible layers; default: 'true'." }, "for-context": { "$ref": "#/definitions/ForContext" }, "not-for-context": { "$ref": "#/definitions/NotForContext" } @@ -825,54 +858,56 @@ "DefaultDescType": { "type": "object", "properties": { - "compiler": { "$ref": "#/definitions/CompilerType", "description": "'compiler' setting in cdefault.yml will be deprecated in CMSIS-Toolbox 3.0.0" }, - "select-compiler": { "$ref": "#/definitions/SelectCompilersType", "description": "'select-compiler' setting in cdefault.yml will be deprecated in CMSIS-Toolbox 3.0.0" }, + "compiler": { "$ref": "#/definitions/CompilerType", "description": "'compiler' setting in cdefault.yml will be deprecated in CMSIS-Toolbox 3.0.0." }, + "select-compiler": { "$ref": "#/definitions/SelectCompilersType", "description": "'select-compiler' setting in cdefault.yml will be deprecated in CMSIS-Toolbox 3.0.0." }, "misc": { "$ref": "#/definitions/MiscTypes" } }, "additionalProperties": false }, "SolutionDescType": { "type": "object", + "description": "Defines projects, targets and build types implemented within this solution.", "properties": { - "description": { "type": "string" }, - "target-types": { "$ref": "#/definitions/TargetTypes" }, - "build-types": { "$ref": "#/definitions/BuildTypes" }, - "output-dirs": { "$ref": "#/definitions/OutputDirectoriesType" }, - "packs": { "$ref": "#/definitions/PacksType" }, - "projects": { "$ref": "#/definitions/ProjectsType" }, - "processor": { "$ref": "#/definitions/ProcessorType" }, - "compiler": { "$ref": "#/definitions/CompilerType" }, - "select-compiler": { "$ref": "#/definitions/SelectCompilersType" }, - "optimize": { "$ref": "#/definitions/OptimizeType" }, - "debug": { "$ref": "#/definitions/DebugType" }, - "warnings": { "$ref": "#/definitions/WarningsType" }, - "language-C": { "$ref": "#/definitions/LanguageCType" }, - "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, - "define": { "$ref": "#/definitions/DefinesType" }, - "define-asm": { "$ref": "#/definitions/DefinesType" }, - "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, - "del-path": { "$ref": "#/definitions/DelpathsType" }, - "misc": { "$ref": "#/definitions/MiscTypes" }, - "variables": { "$ref": "#/definitions/VariablesType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType"}, + "build-types": { "$ref": "#/definitions/BuildTypes" }, + "cdefault": { "type": "null", "description": "Enables use of cdefault.yml file for compiler controls." }, + "compiler": { "$ref": "#/definitions/CompilerType" }, "created-by": { "$ref": "#/definitions/CreatedInfoType", - "description": " The tool that creates this csolution project" + "description": "The tool that creates this csolution project." }, "created-for": { "$ref": "#/definitions/CreatedInfoType", - "description": "The tool required to build this csolution project" + "description": "The tool required to build this csolution project." }, - "cdefault": { "type": "null", "description": "Enable use of cdefault.yml file" }, - "generators": { "$ref": "#/definitions/GeneratorsOutputType" }, - "executes": { "$ref": "#/definitions/ExecutesType" } + "debug": { "$ref": "#/definitions/DebugType" }, + "define": { "$ref": "#/definitions/DefinesType" }, + "define-asm": { "$ref": "#/definitions/DefinesAsmType" }, + "del-path": { "$ref": "#/definitions/DelpathsType" }, + "description": { "type": "string", "description":"Brief description of this solution." }, + "executes": { "$ref": "#/definitions/ExecutesType" }, + "generators": { "$ref": "#/definitions/GeneratorsOutputType" }, + "language-C": { "$ref": "#/definitions/LanguageCType" }, + "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, + "misc": { "$ref": "#/definitions/MiscTypes" }, + "optimize": { "$ref": "#/definitions/OptimizeType" }, + "output-dirs": { "$ref": "#/definitions/OutputDirectoriesType" }, + "packs": { "$ref": "#/definitions/PacksType" }, + "processor": { "$ref": "#/definitions/ProcessorType" }, + "projects": { "$ref": "#/definitions/ProjectsType" }, + "select-compiler": { "$ref": "#/definitions/SelectCompilersType" }, + "target-types": { "$ref": "#/definitions/TargetTypes" }, + "undefine": { "$ref": "#/definitions/UndefinesType" }, + "variables": { "$ref": "#/definitions/VariablesType" }, + "warnings": { "$ref": "#/definitions/WarningsType" } }, "additionalProperties": false, "required": [ "target-types", "projects" ] }, "ProjectDescType": { "type": ["object", "null"], + "description": "Defines files, components, and layers which can be independently translated to a binary image or library.", "properties": { "description": { "type": "string" }, "packs": { "$ref": "#/definitions/PacksType" }, @@ -887,10 +922,10 @@ "language-CPP": { "$ref": "#/definitions/LanguageCppType" }, "processor": { "$ref": "#/definitions/ProcessorType" }, "define": { "$ref": "#/definitions/DefinesType" }, - "define-asm": { "$ref": "#/definitions/DefinesType" }, + "define-asm": { "$ref": "#/definitions/DefinesAsmType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, "groups": { "$ref": "#/definitions/GroupsType" }, @@ -909,16 +944,16 @@ "type": "object", "properties": { "description": { "type": "string" }, - "generated-by": { "type": "string", "description": "Tool name along with version information used to generate this file" }, - "cdefault": { "type": "string", "description": "Path to cdefault.yml file" }, - "csolution": { "type": "string", "description": "Path to csolution.yml file" }, - "tmpdir": { "type": "string", "description": "Specifies the directory for the interim temporary files" }, + "generated-by": { "type": "string", "description": "Tool name along with version information used to generate this file." }, + "cdefault": { "type": "string", "description": "Path to cdefault.yml file." }, + "csolution": { "type": "string", "description": "Path to csolution.yml file." }, + "tmpdir": { "type": "string", "description": "Specifies the directory for the interim temporary files." }, "cprojects": { "$ref": "#/definitions/BuildProjectsType" }, "cbuilds": { "$ref": "#/definitions/BuildContextsType" }, "configurations": { "$ref": "#/definitions/BuildConfigurationsType" }, "select-compiler": { "$ref": "#/definitions/SelectCompilersType" }, "executes": { "$ref": "#/definitions/BuildExecutesType" }, - "rebuild": { "type": "boolean", "description": "Flag indicating intermediate files need to be cleaned before the next build" } + "rebuild": { "type": "boolean", "description": "Flag indicating intermediate files need to be cleaned before the next build." } }, "additionalProperties": false, "required": ["generated-by", "csolution", "cprojects"] @@ -927,12 +962,12 @@ "type": "array", "uniqueItems": true, "minItems": 1, - "items": { "$ref": "#/definitions/BuildProjectType", "description": "Paths to cproject.yml files" } + "items": { "$ref": "#/definitions/BuildProjectType", "description": "Paths to cproject.yml files." } }, "BuildProjectType": { "type": "object", "properties": { - "cproject": { "type": "string", "description": "Path to cproject.yml file" }, + "cproject": { "type": "string", "description": "Path to cproject.yml file." }, "clayers": { "$ref": "#/definitions/BuildLayersType" } }, "additionalProperties": false, @@ -942,12 +977,12 @@ "type": "array", "uniqueItems": true, "minItems": 1, - "items": { "$ref": "#/definitions/BuildLayerType", "description": "List of clayers" } + "items": { "$ref": "#/definitions/BuildLayerType", "description": "List of clayers." } }, "BuildLayerType": { "type": "object", "properties": { - "clayer": { "type": "string", "description": "Path to clayer.yml file" } + "clayer": { "type": "string", "description": "Path to clayer.yml file." } }, "additionalProperties": false, "required": ["clayer"] @@ -961,8 +996,8 @@ "BuildContextType": { "type": "object", "properties": { - "cbuild": { "type": "string", "description": "Path to .cbuild.yml file" }, - "project": { "type": "string", "description": "Project name" }, + "cbuild": { "type": "string", "description": "Path to .cbuild.yml file." }, + "project": { "type": "string", "description": "Project name." }, "configuration": { "$ref": "#/definitions/BuildContext" }, "depends-on": { "type": "array", @@ -972,10 +1007,10 @@ } }, "errors": { "type": "boolean", "description": "Indicates error(s) during conversion" }, - "packs-missing": { "$ref": "#/definitions/BuildPacksInfoType", "description": "Names of the missing packs" }, - "packs-unused": { "$ref": "#/definitions/BuildPacksInfoType", "description": "Names of the unused packs" }, + "packs-missing": { "$ref": "#/definitions/BuildPacksInfoType", "description": "Names of the missing packs." }, + "packs-unused": { "$ref": "#/definitions/BuildPacksInfoType", "description": "Names of the unused packs." }, "clayers": { "$ref": "#/definitions/BuildLayersType" }, - "rebuild": { "type": "boolean", "description": "Flag indicating intermediate files need to be cleaned before the next build" }, + "rebuild": { "type": "boolean", "description": "Flag indicating intermediate files need to be cleaned before the next build." }, "messages": { "$ref": "#/definitions/MessagesType" } }, "additionalProperties": false, @@ -985,12 +1020,12 @@ "type": "array", "uniqueItems": true, "minItems": 1, - "items": { "$ref": "#/definitions/BuildConfigurationType", "description": "Target specific layer configurations" } + "items": { "$ref": "#/definitions/BuildConfigurationType", "description": "Target specific layer configurations." } }, "BuildConfigurationType": { "type": "object", "properties": { - "target-type": { "type": "string", "description": "Name of the target" }, + "target-type": { "type": "string", "description": "Name of the target." }, "target-configurations" : { "$ref": "#/definitions/BuildTargetConfigurationsType" } }, "additionalProperties": false, @@ -1000,13 +1035,13 @@ "type": "array", "uniqueItems": true, "minItems": 1, - "items": { "$ref": "#/definitions/BuildTargetConfigurationType", "description": "Target compatible configurations" } + "items": { "$ref": "#/definitions/BuildTargetConfigurationType", "description": "Target compatible configurations." } }, "BuildTargetConfigurationType": { "type": "object", "properties": { "configuration": { "type": "null" }, - "variables": { "$ref": "#/definitions/BuildLayerVariablesType", "description": "List of layer variables" } + "variables": { "$ref": "#/definitions/BuildLayerVariablesType", "description": "List of layer variables." } }, "additionalProperties": false, "required": ["configuration", "variables"] @@ -1020,12 +1055,12 @@ "BuildLayerVariableType": { "type": "object", "patternProperties": { - "^.*-Layer$": { "type": "string", "description": "Unique variable name for the layer" }, - "description": { "type": "string", "description": "Brief description text (from *.clayer.yml)" }, + "^.*-Layer$": { "type": "string", "description": "Unique variable name for the layer." }, + "description": { "type": "string", "description": "Brief description text (from *.clayer.yml)." }, "settings": { "$ref": "#/definitions/BuildConnectionSettingsType" }, - "path": { "type": "string", "description": "Path to the directory that contains the layer (from *.PDSC file)" }, - "file": { "type": "string", "description": "Name of the *.clayer.yml file relative to the directory specified with path (from *.PDSC file)"}, - "copy-to": { "type": "string", "description": "Proposed directory for the layer in the csolution project (from *.PDSC file)" } + "path": { "type": "string", "description": "Path to the directory that contains the layer (from *.PDSC file)." }, + "file": { "type": "string", "description": "Name of the *.clayer.yml file relative to the directory specified with path (from *.PDSC file)."}, + "copy-to": { "type": "string", "description": "Proposed directory for the layer in the csolution project (from *.PDSC file)." } }, "additionalProperties": false }, @@ -1038,22 +1073,22 @@ "BuildConnectionSetType": { "type": "object", "properties": { - "set": { "type": "string", "description": "Connection set configurations" } + "set": { "type": "string", "description": "Connection set configurations." } }, "additionalProperties": false, "required": ["set"] }, "BuildDescType": { - "description": "The lock info that describes the resolved state of contexts and also can be used as input for generators", + "description": "The lock info that describes the resolved state of contexts and also can be used as input for generators.", "type": "object", "properties": { "generated-by": { "type": "string", - "description": "Tool name along with version information used to generate this application" + "description": "Tool name along with version information used to generate this application." }, "current-generator": { "type": "object", - "description": "What generator configuration to use", + "description": "What generator configuration to use.", "properties": { "from-pack": { "$ref": "#/definitions/PackID" }, "id": { "type": "string" } @@ -1063,11 +1098,11 @@ }, "solution": { "type": "string", - "description": "Relative path to the csolution file for this context" + "description": "Relative path to the csolution file for this context." }, "project": { "type": "string", - "description": "Relative path to the cproject file for this context" + "description": "Relative path to the cproject file for this context." }, "context": { "$ref": "#/definitions/BuildContextWithProjectName" }, "compiler": { "$ref": "#/definitions/CompilerType" }, @@ -1088,7 +1123,7 @@ "define": { "$ref": "#/definitions/BuildDefinesType" }, "define-asm": { "$ref": "#/definitions/BuildDefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "output-dirs": { "$ref": "#/definitions/BuildOutputDirectoriesType" }, "output": { "$ref": "#/definitions/OutputFilesType" }, "components": { "$ref": "#/definitions/ResolvedComponentsType" }, @@ -1117,7 +1152,7 @@ "BuildPackInfoType": { "type": "object", "properties": { - "pack": { "type": "string", "description": "Name of the missing pack" } + "pack": { "type": "string", "description": "Name of the missing pack." } }, "additionalProperties": false, "required": ["pack"] @@ -1129,7 +1164,7 @@ "description": { "type": "string" }, "type": { "type": "string", - "description": "Layer type for compatible layers matching" + "description": "Layer type for compatible layers matching." }, "for-board": { "$ref": "#/definitions/BoardType" }, "for-device": { "$ref": "#/definitions/DeviceType" }, @@ -1147,7 +1182,7 @@ "define-asm": { "$ref": "#/definitions/DefinesType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, "groups": { "$ref": "#/definitions/GroupsType" }, @@ -1172,15 +1207,15 @@ }, "LicenseInfoType": { "type": "object", - "description": "License information about packs and components", + "description": "License information about packs and components.", "properties": { "license": { "type": "string", - "description": "License SPDX name or title" + "description": "License SPDX name or title." }, "license-agreement": { "type": "string", - "description": "Path to license agreement file" + "description": "Path to license agreement file." }, "packs": { "type": "array", @@ -1188,7 +1223,7 @@ }, "components": { "type": "array", - "description": "List of components or APIs component to license agreement file", + "description": "List of components or APIs component to license agreement file.", "items": { "$ref": "#/definitions/LicenseInfoComponentType" } } } @@ -1227,19 +1262,21 @@ "BuildPacksType": { "type": "array", "uniqueItems": true, + "minItems": 1, "items": { "$ref": "#/definitions/BuildPackType" } }, "BuildPackType": { "type": "object", "properties": { "pack": { "$ref": "#/definitions/PackID" }, - "path": { "type": "string", "description": "Path to software pack" } + "path": { "type": "string", "description": "Local path to the software pack." } }, "required": [ "pack", "path" ], "additionalProperties": false }, "PacksType": { "type": "array", + "description": "List of required CMSIS software packs.", "uniqueItems": true, "items": { "oneOf": [ @@ -1251,12 +1288,12 @@ "PackID": { "type": "string", "pattern": "^([a-zA-Z0-9_ \\.-]+)((::[a-zA-Z0-9_ \\.\\*-]+)(@(>=|\\~|\\^)?([0-9]+\\.[0-9]+\\.[0-9]+((\\+|\\-)[a-zA-Z0-9_\\.\\+-]+)?))?)?$", - "description": "Name of a required Software Pack in the format Vendor [:: Pack [@[>=|~|^] version]]" + "description": "Name of a software pack.\nFormat: Vendor [:: Pack [@[>=|~|^] version]].\nExample: ARM::CMSIS@6.1.0." }, "VersionlessPackID": { "type": "string", "pattern": "^([a-zA-Z0-9_ \\.\\-]+)(::[a-zA-Z0-9_ \\.\\*-]+)?$", - "description": "Name of a required Software Pack in the format Vendor [:: Pack]" + "description": "Name of a software pack.\nFormat: Vendor [:: Pack].\nExample: ARM::CMSIS." }, "PackType": { "type": "object", @@ -1275,7 +1312,7 @@ "type": "object", "properties": { "pack": { "$ref": "#/definitions/VersionlessPackID" }, - "path": { "type": "string", "description": "Path to software pack" }, + "path": { "type": "string", "description": "Local path to the software pack." }, "for-context": { "$ref": "#/definitions/ForContext" }, "not-for-context": { "$ref": "#/definitions/NotForContext" } }, @@ -1293,7 +1330,7 @@ }, "ResolvedComponentType": { "type": "object", - "description": "Software component in its resolved state", + "description": "Software component in its resolved state.", "properties": { "component": { "$ref": "#/definitions/ComponentID" }, "condition": { "$ref": "#/definitions/ConditionIDType" }, @@ -1309,7 +1346,7 @@ "define-asm": { "$ref": "#/definitions/DefinesType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, "files": { "$ref": "#/definitions/FilesType" }, @@ -1321,13 +1358,13 @@ }, "ResolvedApisType": { "type": "array", - "description": "List of API in their resolved state", + "description": "List of API in their resolved state.", "uniqueItems": true, "items": { "$ref": "#/definitions/ResolvedApiType" } }, "ResolvedApiType": { "type": "object", - "description": "API in its resolved state", + "description": "API in its resolved state.", "properties": { "api": { "$ref": "#/definitions/ComponentID" }, "condition": { "$ref": "#/definitions/ConditionIDType" }, @@ -1345,7 +1382,7 @@ }, "SetupsType": { "type": "array", - "description": "List of setup nodes that collects various toolchain options", + "description": "List of setup nodes that collects various toolchain options.", "uniqueItems": true, "items": { "$ref": "#/definitions/SetupType" } }, @@ -1365,7 +1402,7 @@ "define-asm": { "$ref": "#/definitions/DefinesType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "misc": { "$ref": "#/definitions/MiscTypes" }, "output": { "$ref": "#/definitions/OutputType" }, @@ -1378,36 +1415,36 @@ "additionalProperties": false }, "ConnectionsType": { - "description": "List of consumed and provided connections compatibility", + "description": "List of consumed and provided connections compatibility.", "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/ConnectType" } }, "ConnectType": { "type": "object", - "description": "Group of specific functionality", + "description": "Group of specific functionality.", "properties": { "connect": { "type": "string", - "description": "Description of specific functionality" + "description": "Description of specific functionality." }, "set": { "type": "string", "pattern": "^.+\\..+$", - "description": "Set configuration option in the format 'config-id.select'" + "description": "Set configuration option in the format 'config-id.select'." }, "info": { "type": "string", - "description": "Display description when connect is selected" + "description": "Display description when connect is selected." }, "consumes": { "type": "array", - "description": "Consumed connections", + "description": "Consumed connections.", "items": { "$ref": "#/definitions/ConsumesProvidesType" } }, "provides": { "type": "array", - "description": "Provided connections", + "description": "Provided connections.", "items": { "$ref": "#/definitions/ConsumesProvidesType" } } }, @@ -1415,7 +1452,8 @@ "required": [ "connect" ] }, "LinkersType": { - "description": "Linker Scripts and/or memory regions header files", + "title": "Control Linker Script Generation\nDocumentation: https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/YML-Input-Format.md#linker", + "description": "Specifies an explicit linker script and/or memory regions header file. Can be applied in *.cproject.yml and *.clayer.yml files.", "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/LinkerType" } @@ -1423,14 +1461,14 @@ "LinkerType": { "type": "object", "properties": { - "auto": { "type": "null", "description": "Use automatic linker script generation" }, + "auto": { "type": "null", "description": "Use automatic linker script generation." }, "regions": { "type": "string", - "description": "Path and file name of regions_.h, used to generate a Linker Script" + "description": "Path and file name of regions_.h, used to generate a Linker Script." }, "script": { "type": "string", - "description": "Explicit file name of the Linker Script, overrules files provided with file: or components" + "description": "Explicit file name of the Linker Script, overrules files provided with file: or components." }, "define": { "$ref": "#/definitions/DefinesType" }, "for-context": { "$ref": "#/definitions/ForContext" }, @@ -1449,9 +1487,9 @@ "BuildSetDescType": { "type": "object", "properties": { - "generated-by": { "type": "string", "description": "Tool name along with version information used to generate this application" }, - "contexts": { "$ref": "#/definitions/BuildSetContextsType", "description": "List of fully specified contexts" }, - "compiler": { "type": "string", "description": "Selection of compiler used" } + "generated-by": { "type": "string", "description": "Tool name along with version information used to generate this application." }, + "contexts": { "$ref": "#/definitions/BuildSetContextsType", "description": "List of fully specified contexts." }, + "compiler": { "type": "string", "description": "Selection of compiler used." } }, "additionalProperties": false, "required": ["generated-by", "contexts"] @@ -1460,16 +1498,16 @@ "type": "array", "uniqueItems": true, "minItems": 1, - "items": { "$ref": "#/definitions/GeneratorRegistryType", "description": "List of global generator description" } + "items": { "$ref": "#/definitions/GeneratorRegistryType", "description": "List of global generator description." } }, "GeneratorRegistryType": { "type": "object", "properties": { - "id": { "type": "string", "description": "Generator identifier" }, + "id": { "type": "string", "description": "Generator identifier." }, "description": { "type": "string", "description": "Generator description" }, - "download-url": { "type": "string", "description": "URL for downloading generator tool" }, - "run": { "type": "string", "description": "Related bridge program" }, - "path": { "type": "string", "description": "Specifies the directory for generated files" } + "download-url": { "type": "string", "description": "URL for downloading generator tool." }, + "run": { "type": "string", "description": "Related bridge program." }, + "path": { "type": "string", "description": "Specifies the directory for generated files." } }, "additionalProperties": false, "required": ["id", "run", "path"] @@ -1477,9 +1515,9 @@ "BuildGenIdxDescType": { "type": "object", "properties": { - "generated-by": { "type": "string", "description": "Tool name along with version information used to generate this file" }, - "generators": { "$ref": "#/definitions/BuildGeneratorsType", "description": "List of generators to be run" }, - "compiler": { "type": "string", "description": "Selection of compiler used" } + "generated-by": { "type": "string", "description": "Tool name along with version information used to generate this file." }, + "generators": { "$ref": "#/definitions/BuildGeneratorsType", "description": "List of generators to be run." }, + "compiler": { "type": "string", "description": "Selection of compiler used." } }, "additionalProperties": false, "required": ["generated-by", "generators"] @@ -1488,13 +1526,13 @@ "type": "array", "uniqueItems": true, "minItems": 1, - "items": { "$ref": "#/definitions/BuildGeneratorType", "description": "Build Generator solution related information" } + "items": { "$ref": "#/definitions/BuildGeneratorType", "description": "Build Generator solution related information." } }, "BuildGeneratorType": { "type": "object", "properties": { - "id": { "type": "string", "description": "Generator identifier" }, - "output": { "type": "string", "description": "Specifies the directory for generated files" }, + "id": { "type": "string", "description": "Generator identifier." }, + "output": { "type": "string", "description": "Specifies the directory for generated files." }, "board": { "$ref": "#/definitions/BoardType" }, "device": { "$ref": "#/definitions/DeviceType" }, "project-type": { "$ref": "#/definitions/BuildGeneratorProjectType" }, @@ -1516,12 +1554,12 @@ "BuildGeneratorContextType": { "type": "object", "properties": { - "cbuild-gen": { "type": "string", "description": "Path to .cbuild-gen.yml file" }, - "project": { "type": "string", "description": "Project name" }, + "cbuild-gen": { "type": "string", "description": "Path to .cbuild-gen.yml file." }, + "project": { "type": "string", "description": "Project name." }, "configuration": { "$ref": "#/definitions/BuildContext" }, - "for-project-part": { "type": "string", "description": "For project part (secure, non-secure, )" }, - "name": { "type": "string", "description": "Explicit name for the *.cgen.yml generator import file" }, - "map": { "type": "string", "description": "Mapping of the csolution project to a generator specific run-time context name" } + "for-project-part": { "type": "string", "description": "For project part (secure, non-secure, )." }, + "name": { "type": "string", "description": "Explicit name for the *.cgen.yml generator import file." }, + "map": { "type": "string", "description": "Mapping of the csolution project to a generator specific run-time context name." } }, "additionalProperties": false, "required": ["cbuild-gen", "project", "configuration"] @@ -1530,7 +1568,7 @@ "type": "object", "description": "This section describes generated contents", "properties": { - "generated-by": { "type": "string", "description": "Tool name along with version information used to generate this file" }, + "generated-by": { "type": "string", "description": "Tool name along with version information used to generate this file." }, "for-board": { "$ref": "#/definitions/BoardType" }, "for-device": { "$ref": "#/definitions/DeviceType" }, "packs": { "$ref": "#/definitions/PacksType" }, @@ -1538,7 +1576,7 @@ "define-asm": { "$ref": "#/definitions/DefinesType" }, "undefine": { "$ref": "#/definitions/UndefinesType" }, "add-path": { "$ref": "#/definitions/AddpathsType" }, - "add-path-asm": { "$ref": "#/definitions/AddpathsType" }, + "add-path-asm": { "$ref": "#/definitions/AddAsmPathsType" }, "del-path": { "$ref": "#/definitions/DelpathsType" }, "groups": { "$ref": "#/definitions/GroupsType" }, "components": { "$ref": "#/definitions/ComponentsType" } @@ -1546,21 +1584,26 @@ "additionalProperties": false }, "ExecutesType": { - "description": "Execute and external command for pre or post build steps", + "description": "Additional pre or post build steps using external tools.", "type": "array", "uniqueItems": true, + "minItems": 1, "items": { "$ref": "#/definitions/ExecuteType" } }, "ExecuteType": { "type": "object", "properties": { - "execute": { "type": "string", "pattern": "^([a-zA-Z0-9_-]{1,32})$", "description": "Description of the build step" }, - "run": { "type": "string", "description": "Command string with name of the program or script (optionally with path) along with argument string" }, - "always": { "type": "null", "description": "When present, the build step always runs and bypasses check for outdated files" }, - "input": { "type": "array", "description": "A list of input files (may contain Access Sequences)", "items": { "type": "string"} }, - "output": { "type": "array", "description": "A list of output files (may contain Access Sequences)", "items": { "type": "string"} }, + "execute": { + "type": "string", + "pattern": "^([a-zA-Z0-9_-]{1,32})$", + "description": "Unique name of the execution step." + }, + "always": { "type": "null", "description": "When present, the build step always runs and bypasses check for outdated files." }, "for-context": { "$ref": "#/definitions/ForContext" }, - "not-for-context": { "$ref": "#/definitions/NotForContext" } + "input": { "type": "array", "description": "A list of input files (may contain Access Sequences).", "items": { "type": "string"} }, + "not-for-context": { "$ref": "#/definitions/NotForContext" }, + "output": { "type": "array", "description": "A list of output files (may contain Access Sequences).", "items": { "type": "string"} }, + "run": { "type": "string", "description": "Command string with name of the program or script (optionally with path) along with argument string." } }, "additionalProperties": false, "allOf": [ @@ -1569,7 +1612,7 @@ ] }, "BuildExecutesType": { - "description": "Execute and external command for pre or post build steps", + "description": "Additional pre or post build steps using external tools.", "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/BuildExecuteType" } @@ -1577,11 +1620,11 @@ "BuildExecuteType": { "type": "object", "properties": { - "execute": { "type": "string", "description": "Description of the build step" }, - "run": { "type": "string", "description": "Command string with name of the program or script (optionally with path) along with argument string" }, - "always": { "type": "null", "description": "When present, the build step always runs and bypasses check for outdated files" }, - "input": { "type": "array", "description": "A list of input files (may contain Access Sequences)", "items": { "type": "string"} }, - "output": { "type": "array", "description": "A list of output files (may contain Access Sequences)", "items": { "type": "string"} }, + "execute": { "type": "string", "description": "Description of the build step." }, + "run": { "type": "string", "description": "Command string with name of the program or script (optionally with path) along with argument string." }, + "always": { "type": "null", "description": "When present, the build step always runs and bypasses check for outdated files." }, + "input": { "type": "array", "description": "A list of input files (may contain Access Sequences).", "items": { "type": "string"} }, + "output": { "type": "array", "description": "A list of output files (may contain Access Sequences).", "items": { "type": "string"} }, "depends-on": { "type": "array", "items": { @@ -1595,7 +1638,7 @@ }, "MessagesType": { "type": ["object", "null"], - "description": "Errors, warnings and info messages", + "description": "Errors, warnings and info messages.", "properties": { "errors": { "type": "array", "items": { "type": "string"} }, "warnings": { "type": "array", "items": { "type": "string"} }, diff --git a/tools/projmgr/schemas/cproject.schema.json b/tools/projmgr/schemas/cproject.schema.json index a9acb7b9d..e56ee73f1 100644 --- a/tools/projmgr/schemas/cproject.schema.json +++ b/tools/projmgr/schemas/cproject.schema.json @@ -1,8 +1,8 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/2.6.0/tools/projmgr/schemas/cproject.schema.json", - "title": "CMSIS cproject", - "description": "source files and pre-configured components of a sub-project that builds independently", + "title": "CMSIS Project\nDocumentation: https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/YML-Input-Format.md#project", + "description": "Source files and pre-configured components of a sub-project that builds independently.", "version": "2.6.0", "type": "object", "properties": { diff --git a/tools/projmgr/schemas/csolution.schema.json b/tools/projmgr/schemas/csolution.schema.json index 78fa4ad19..f52a56735 100644 --- a/tools/projmgr/schemas/csolution.schema.json +++ b/tools/projmgr/schemas/csolution.schema.json @@ -1,8 +1,8 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/2.6.0/tools/projmgr/schemas/csolution.schema.json", - "title": "CMSIS csolution", - "description": "complete scope of an application composed of sub-projects; defines a target and build types", + "title": "CMSIS Solution\nDocumentation: https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/YML-Input-Format.md#solution", + "description": "Complete scope of an application composed of sub-projects; defines target and build types.", "version": "2.6.0", "type": "object", "properties": {