@@ -33,7 +33,59 @@ GENERATED = \
3333 schemas/iso/currency/2015/historical/alpha-code.json \
3434 schemas/iso/currency/2015/historical/alpha-currency.json \
3535 schemas/iso/currency/2015/historical/numeric-code.json \
36- schemas/iso/currency/2015/historical/numeric-currency.json
36+ schemas/iso/currency/2015/historical/numeric-currency.json \
37+ schemas/xbrl/utr/area-item-type-normative.json \
38+ schemas/xbrl/utr/area-item-type.json \
39+ schemas/xbrl/utr/duration-item-type-normative.json \
40+ schemas/xbrl/utr/duration-item-type.json \
41+ schemas/xbrl/utr/electric-charge-item-type-normative.json \
42+ schemas/xbrl/utr/electric-charge-item-type.json \
43+ schemas/xbrl/utr/electric-current-item-type-normative.json \
44+ schemas/xbrl/utr/electric-current-item-type.json \
45+ schemas/xbrl/utr/energy-item-type-normative.json \
46+ schemas/xbrl/utr/energy-item-type.json \
47+ schemas/xbrl/utr/energy-per-monetary-item-type-normative.json \
48+ schemas/xbrl/utr/energy-per-monetary-item-type.json \
49+ schemas/xbrl/utr/flow-item-type-normative.json \
50+ schemas/xbrl/utr/flow-item-type.json \
51+ schemas/xbrl/utr/force-item-type-normative.json \
52+ schemas/xbrl/utr/force-item-type.json \
53+ schemas/xbrl/utr/frequency-item-type-normative.json \
54+ schemas/xbrl/utr/frequency-item-type.json \
55+ schemas/xbrl/utr/ghg-emissions-item-type-normative.json \
56+ schemas/xbrl/utr/ghg-emissions-item-type.json \
57+ schemas/xbrl/utr/ghg-emissions-per-monetary-item-type-normative.json \
58+ schemas/xbrl/utr/ghg-emissions-per-monetary-item-type.json \
59+ schemas/xbrl/utr/length-item-type-normative.json \
60+ schemas/xbrl/utr/length-item-type.json \
61+ schemas/xbrl/utr/mass-item-type-normative.json \
62+ schemas/xbrl/utr/mass-item-type.json \
63+ schemas/xbrl/utr/memory-item-type-normative.json \
64+ schemas/xbrl/utr/memory-item-type.json \
65+ schemas/xbrl/utr/monetary-item-type-normative.json \
66+ schemas/xbrl/utr/monetary-item-type.json \
67+ schemas/xbrl/utr/per-share-item-type-normative.json \
68+ schemas/xbrl/utr/per-share-item-type.json \
69+ schemas/xbrl/utr/per-unit-item-type-normative.json \
70+ schemas/xbrl/utr/per-unit-item-type.json \
71+ schemas/xbrl/utr/plane-angle-item-type-normative.json \
72+ schemas/xbrl/utr/plane-angle-item-type.json \
73+ schemas/xbrl/utr/power-item-type-normative.json \
74+ schemas/xbrl/utr/power-item-type.json \
75+ schemas/xbrl/utr/pressure-item-type-normative.json \
76+ schemas/xbrl/utr/pressure-item-type.json \
77+ schemas/xbrl/utr/pure-item-type-normative.json \
78+ schemas/xbrl/utr/pure-item-type.json \
79+ schemas/xbrl/utr/shares-item-type-normative.json \
80+ schemas/xbrl/utr/shares-item-type.json \
81+ schemas/xbrl/utr/temperature-item-type-normative.json \
82+ schemas/xbrl/utr/temperature-item-type.json \
83+ schemas/xbrl/utr/voltage-item-type-normative.json \
84+ schemas/xbrl/utr/voltage-item-type.json \
85+ schemas/xbrl/utr/volume-item-type-normative.json \
86+ schemas/xbrl/utr/volume-item-type.json \
87+ schemas/xbrl/utr/volume-per-monetary-item-type-normative.json \
88+ schemas/xbrl/utr/volume-per-monetary-item-type.json
3789
3890# TODO: Make `jsonschema fmt` automatically detect test files
3991all : common test
@@ -42,19 +94,20 @@ all: common test
4294
4395.PHONY : common
4496common : $(GENERATED )
45- $(JSONSCHEMA ) metaschema schemas meta --verbose
46- $(JSONSCHEMA ) lint schemas meta --verbose
47- $(JSONSCHEMA ) validate meta/schemas-root.json --verbose $(SCHEMAS )
48- $(JSONSCHEMA ) validate meta/schemas.json --verbose $(SCHEMAS )
49- $(JSONSCHEMA ) validate meta/test.json --verbose $(TESTS )
97+ $(JSONSCHEMA ) metaschema schemas meta
98+ $(JSONSCHEMA ) lint schemas meta
99+ $(JSONSCHEMA ) validate meta/schemas-root.json $(SCHEMAS )
100+ $(JSONSCHEMA ) validate meta/schemas.json $(SCHEMAS )
101+ $(JSONSCHEMA ) validate meta/test.json $(TESTS )
50102 $(SHELLCHECK ) scripts/* .sh
51- ./scripts/schemas-tests-mirror.sh
103+ ./scripts/quality-schemas-tests-mirror.sh
104+ ./scripts/quality-templates-xbrl-utr-mirror.sh
52105
53106# TODO: Make `jsonschema fmt` automatically detect test files
54107.PHONY : lint
55108lint : common
56- $(JSONSCHEMA ) fmt schemas meta --verbose -- check
57- $(JSONSCHEMA ) fmt test --verbose -- default-dialect " https://json-schema.org/draft/2020-12/schema"
109+ $(JSONSCHEMA ) fmt schemas meta --check
110+ $(JSONSCHEMA ) fmt test --default-dialect " https://json-schema.org/draft/2020-12/schema"
58111
59112.PHONY : test
60113test :
@@ -83,14 +136,19 @@ schemas/iso/currency/2015/%.json: build/iso/currency/list-one.json templates/iso
83136 $(JQ ) --from-file $(word 2,$^ ) $< > $@
84137 $(JSONSCHEMA ) fmt $@
85138
139+ build/xbrl/utr/% .json : scripts/xml2json.py vendor/data/xbrl/utr/% .xml
140+ $(MKDIRP ) $(dir $@ )
141+ $(PYTHON ) $< $(word 2,$^ ) $@
142+ schemas/xbrl/utr/% .json : build/xbrl/utr/utr.json templates/xbrl/utr/% .jq
143+ $(MKDIRP ) $(dir $@ )
144+ $(JQ ) --from-file $(word 2,$^ ) $< > $@
145+ $(JSONSCHEMA ) fmt $@
146+
86147generate-iso-language : generate/iso/language/main.py
87148 $(PYTHON ) $<
88149generate-iso-country : generate/iso/country/main.py
89150 $(PYTHON ) $<
90- build/xbrl/utr/% .json : scripts/xml2json.py vendor/data/xbrl/utr/% .xml
91- $(PYTHON ) $< $(word 2,$^ ) $@
92- generate-xbrl-utr : generate/xbrl/utr/main.py build/xbrl/utr/utr.json
93- $(PYTHON ) $<
151+
94152
95153# TODO: Add a `jsonschema pkg` command instead
96154.PHONY : dist
0 commit comments