Local $refs in annotated schemas are currently mapped as relative paths. This is mostly done for schema annotation to work, since otherwise the URLs would be resolved, so only already published schemas would work (i.e., local builds would break, but so would workflows, since changes in schemas in the same repository would not be visible yet).
Also, when a remote schema is used in bblocks.json, relative references are kept as they are, so the annotated schema breaks.
The following changes in the schema annotation mechanism are required:
[x] Split reference mapping (what is written in the annotated schema) and reference resolving (what is fetched when resolving a reference) in the annotation process. Right now the two are done the same way.
[x] Use full URLs in annotated schemas where possible. This would also make them clickable in the viewer.
[x] Detect dependencies both source and annotated schemas when resolving references, and replace them with the annotated versions.
[x] Fix relative references in remote schemas (do dependency detection, and if not found replace with full URL).
Local
$ref
s in annotated schemas are currently mapped as relative paths. This is mostly done for schema annotation to work, since otherwise the URLs would be resolved, so only already published schemas would work (i.e., local builds would break, but so would workflows, since changes in schemas in the same repository would not be visible yet).Also, when a remote
schema
is used inbblocks.json
, relative references are kept as they are, so the annotated schema breaks.The following changes in the schema annotation mechanism are required: