{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/arduino/arduino-lint/main/etc/schemas/general-definitions-schema.json", "title": "Shared definitions", "description": "Definitions for use in schemas.", "$comment": "This is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.", "type": "object", "definitions": { "patternObjects": { "semver": { "$comment": "https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string with unused non-capturing group syntax removed.", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-((0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(\\.(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\\+([0-9a-zA-Z-]+(\\.[0-9a-zA-Z-]+)*))?$" }, "relaxedSemver": { "$comment": "https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string adjusted to also allow MAJOR.MINOR, MAJOR, and with unused non-capturing group syntax removed. For details, see https://go.bug.st/relaxed-semver", "pattern": "^(0|[1-9]\\d*)(\\.(0|[1-9]\\d*))?(\\.(0|[1-9]\\d*))?(-((0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(\\.(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\\+([0-9a-zA-Z-]+(\\.[0-9a-zA-Z-]+)*))?$" }, "containsPropertyReference": { "$comment": "https://arduino.github.io/arduino-cli/dev/platform-specification/#configuration-files-format", "pattern": "{.+}" }, "notStartsWithArduino": { "not": { "pattern": "^[aA][rR][dD][uU][iI][nN][oO].*$" } } }, "enumObjects": { "booleanString": { "enum": ["true", "false"] } } } }