{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://oss-review-toolkit.org/.ort.yml", "title": "ORT repository configuration", "description": "The OSS-Review-Toolkit (ORT) provides a possibility to configure exclusions, resolutions and more in a file called `.ort.yml`. A full list of all available options can be found at https://oss-review-toolkit.org/ort/docs/configuration/ort-yml.", "type": "object", "properties": { "analyzer": { "$ref": "https://raw.githubusercontent.com/oss-review-toolkit/ort/main/integrations/schemas/repository-configurations/analyzer-configuration-schema.json" }, "includes": { "type": "object", "description": "Defines which parts of a repository should be included.", "properties": { "paths": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "description": "A glob to match the path of the project definition file, relative to the root of the repository.", "type": "string" }, "reason": { "$ref": "#/definitions/pathIncludeReason" }, "comment": { "type": "string" } }, "required": [ "pattern", "reason" ] } }, "scopes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "reason": { "$ref": "#/definitions/scopeIncludeReason" }, "comment": { "type": "string" } }, "required": [ "pattern", "reason" ] } } } }, "excludes": { "type": "object", "description": "Defines which parts of a repository should be excluded.", "properties": { "paths": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "description": "A glob to match the path of the project definition file, relative to the root of the repository.", "type": "string" }, "reason": { "$ref": "#/definitions/pathExcludeReason" }, "comment": { "type": "string" } }, "required": [ "pattern", "reason" ] } }, "scopes": { "type": "array", "items": { "type": "object", "properties": { "pattern": { "type": "string" }, "reason": { "$ref": "#/definitions/scopeExcludeReason" }, "comment": { "type": "string" } }, "required": [ "pattern", "reason" ] } } } }, "resolutions": { "$ref": "https://raw.githubusercontent.com/oss-review-toolkit/ort/main/integrations/schemas/resolutions-schema.json" }, "curations": { "type": "object", "description": "Curations for artifacts in a repository.", "properties": { "license_findings": { "type": "array", "items": { "$ref": "#/definitions/licenseFindingCurations" } }, "packages": { "$ref": "https://raw.githubusercontent.com/oss-review-toolkit/ort/main/integrations/schemas/curations-schema.json" } }, "anyOf": [ { "required": [ "license_findings" ] }, { "required": [ "packages" ] } ] }, "package_configurations": { "type": "array", "description": "A configuration for a specific package and provenance.", "items": { "$ref": "https://raw.githubusercontent.com/oss-review-toolkit/ort/main/integrations/schemas/package-configuration-schema.json" } }, "license_choices": { "type": "object", "description": "A configuration to select a license from a multi-licensed package.", "properties": { "package_license_choices": { "type": "array", "items": { "type": "object", "properties": { "package_id": { "type": "string" }, "license_choices": { "type": "array", "items": { "type": "object", "properties": { "given": { "type": "string" }, "choice": { "type": "string" } }, "required": [ "choice" ] } } }, "required": [ "package_id", "license_choices" ] } }, "repository_license_choices": { "type": "array", "items": { "given": { "type": "string" }, "choice": { "type": "string" } } } } }, "snippet_choices": { "type": "array", "description": "A configuration to select a snippet from a package with multiple snippet findings.", "items": { "type": "object", "properties": { "provenance": { "type": "object", "properties": { "url": { "type": "string" } }, "required": [ "url" ] }, "choices": { "type": "array", "items": { "type": "object", "properties": { "given": { "type": "object", "properties": { "source_location": { "type": "object", "properties": { "path": { "type": "string" }, "start_line": { "type": "integer" }, "end_line": { "type": "integer" } }, "required": [ "path", "start_line", "end_line" ] } } }, "choice": { "type": "object", "properties": { "purl": { "type": "string" }, "reason": { "$ref": "#/definitions/snippetChoiceReason" }, "comment": { "type": "string" } }, "required": [ "reason" ] } }, "required": [ "given", "choice" ] } } }, "required": [ "provenance", "choices" ] } } }, "definitions": { "licenseFindingCurations": { "type": "object", "properties": { "path": { "type": "string" }, "start_lines": { "type": [ "integer", "string" ] }, "line_count": { "type": "integer" }, "detected_license": { "type": "string" }, "concluded_license": { "type": "string" }, "reason": { "$ref": "#/definitions/licenseFindingCurationReason" }, "comment": { "type": "string" } }, "required": [ "path", "concluded_license", "reason" ] }, "pathIncludeReason": { "enum": [ "SOURCE_OF", "OTHER" ] }, "pathExcludeReason": { "enum": [ "BUILD_TOOL_OF", "DATA_FILE_OF", "DOCUMENTATION_OF", "EXAMPLE_OF", "OPTIONAL_COMPONENT_OF", "OTHER", "PROVIDED_BY", "TEST_OF", "TEST_TOOL_OF" ] }, "scopeIncludeReason": { "enum": [ "SOURCE_OF", "OTHER" ] }, "scopeExcludeReason": { "enum": [ "BUILD_DEPENDENCY_OF", "DEV_DEPENDENCY_OF", "DOCUMENTATION_DEPENDENCY_OF", "PROVIDED_DEPENDENCY_OF", "TEST_DEPENDENCY_OF", "RUNTIME_DEPENDENCY_OF" ] }, "licenseFindingCurationReason": { "enum": [ "CODE", "DATA_OF", "DOCUMENTATION_OF", "INCORRECT", "NOT_DETECTED", "REFERENCE" ] }, "snippetChoiceReason": { "enum": [ "NO_RELEVANT_FINDING", "ORIGINAL_FINDING", "OTHER" ] } } }