| { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "https://raw.githubusercontent.com/lowRISC/opentitan/master/rules/scripts/bitstreams_manifest.schema.json", |
| "title": "Bitstreams Cache Manifest v1", |
| "description": |
| "A manifest of bitstreams in a cache entry, informing what is there and how to reproduce", |
| "type": "object", |
| "properties": { |
| "schemaVersion": { |
| "description": "Version number of this manifest's schema", |
| "type": "number", |
| "minimum": 1, |
| "maximum": 1 |
| }, |
| "buildId": { |
| "description": "Build ID associated with this entry (typically a git hash)", |
| "type": "string" |
| }, |
| "outputFiles": { |
| "description": "Map of output file paths to their metadata objects", |
| "type": "object", |
| "additionalProperties": { "$ref": "#/$defs/outputFile" } |
| } |
| }, |
| "required": [ |
| "schemaVersion", |
| "buildId", |
| "outputFiles" |
| ], |
| "$defs": { |
| "bitstreamInfo": { |
| "description": "Bitstream build output", |
| "type": "object", |
| "properties": { |
| "@type": { |
| "description": "Tag for type of this object", |
| "type": "string", |
| "const": "bitstreamInfo" |
| }, |
| "design": { |
| "description": "Design name / top for the bitstream", |
| "type": "string" |
| } |
| }, |
| "required": [ |
| "@type", |
| "design" |
| ] |
| }, |
| "memoryMapInfo": { |
| "description": "Build output that maps memories to cells in a hardware implementation", |
| "type": "object", |
| "properties": { |
| "@type": { |
| "description": "Tag for type of this object", |
| "type": "string", |
| "const": "memoryMapInfo" |
| }, |
| "design": { |
| "description": "Design name / top for the bitstream", |
| "type": "string" |
| }, |
| "memoryId": { |
| "description": "Name or key identifying the associated memory", |
| "type": "string" |
| } |
| }, |
| "required": [ |
| "@type", |
| "design", |
| "memoryId" |
| ] |
| }, |
| "outputFile": { |
| "description": "Information about a build output file", |
| "type": "object", |
| "properties": { |
| "buildTarget": { |
| "description": "Build target that generated the output", |
| "type": "string" |
| }, |
| "outputInfo": { |
| "oneOf": [ |
| { "$ref": "#/$defs/bitstreamInfo" }, |
| { "$ref": "#/$defs/memoryMapInfo" } |
| ] |
| } |
| }, |
| "required": [ |
| "outputInfo" |
| ] |
| } |
| } |
| } |