Closed bmcfee closed 9 years ago
Note that validation fails only at the top level. Validating individual annotations still works fine.
FWIW, I've run into this elsewhere, and I'm not totally convinced this isn't jsonschema's issue (i.e. not our fault). I think, with their recent upgrade, something got hosed traversing referentially defined schema. I'd check that project and see if someone else hasn't hit the same snag.
It's for sure due to an API change in jsonschema from 2.4 to 2.5. We just need to catch up.
That's what I'm saying, I'm not convinced it's a "catch up"?
Killing the "id" field in jams_schema.json actually fixes this.
EDIT: this "fix" also works in 2.4.0.
EDIT EDIT: changing "id": "#root"
to "id": "JAMS"
also works.
wat. which one, the top-level "id": "#root"
?
wat. which one, the top-level "id": "#root"?
Yes. It's trying to resolve "root" against the draft-04 schema, and can't find it. Hence fail.
.. after reading the above article, I think the right thing to do here is kill the id field. It doesn't seem necessary here, right?
without knowing more things, I'd say that sounds reasonable.
Ok. Shall I close this one out then?
Addendum to yesterday: I think we were previously just mis-using the id field.
The id field would be useful down the line if we decide to refactor the namespace schema implementation via inheritance / schema references (see here). It does seem like jams.schema
is currently doing a bit of work that probably is redundant with jsonschema
.
I'm not sure yet if rewriting the namespace schema definitions to refer back to the master jams schema would allow us to simplify the implementation, but it's worth investigating (for 0.3.0).
Title says it all. This doesn't show up in travis because conda still has jsonschema 2.4.0.
Running the test suite locally, I get the following: