Skip to content

Commit 1dfcb0b

Browse files
committed
Add support for codified VUs
The following is implemented in this change: - Codified VU parsing - Codified VU reformatting in source (reflow.py) - Codified VU formatting for build either in code or english - Codified VU type checking - Codified VU customization for build with/without extensions/versions * Removes the need for ifdef - Unit tests
1 parent ccac48a commit 1dfcb0b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+11813
-744
lines changed

Makefile

+8-4
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ VERBOSE =
145145
# EXTRAATTRIBS sets additional attributes, if passed to make
146146
# ADOCMISCOPTS miscellaneous options controlling error behavior, etc.
147147
# ADOCEXTS asciidoctor extensions to load
148+
# ADOCPROCOPTS options for passes that process the spec and produce side effects (such as validusage)
148149
# ADOCOPTS options for asciidoc->HTML5 output
149150

150151
NOTEOPTS = -a editing-notes -a implementation-guide
@@ -221,10 +222,12 @@ ADOCMISCOPTS = --failure-level ERROR
221222
# Look in $(GENERATED) for explicitly required non-extension Ruby, such
222223
# as apimap.rb
223224
ADOCEXTS = -I$(GENERATED) \
225+
-I$(CONFIGS)/helpers/ \
224226
-r $(CONFIGS)/spec-macros.rb \
225227
-r $(CONFIGS)/open_listing_block.rb \
226228
-r $(CONFIGS)/ifdef-mismatch.rb
227-
ADOCOPTS = -d book $(ADOCMISCOPTS) $(ATTRIBOPTS) $(NOTEOPTS) $(VERBOSE) $(ADOCEXTS)
229+
ADOCPROCOPTS = -d book $(ADOCMISCOPTS) $(ATTRIBOPTS) $(NOTEOPTS) $(VERBOSE) $(ADOCEXTS)
230+
ADOCOPTS = $(ADOCPROCOPTS) -r $(CONFIGS)/vu-formatter.rb
228231

229232
# HTML target-specific Asciidoctor extensions and options
230233
ADOCHTMLEXTS = -r $(CONFIGS)/katex_replace.rb \
@@ -396,16 +399,17 @@ epub: $(EPUBDIR)/vkspec.epub $(SPECSRC) $(COMMONDOCS)
396399
$(EPUBDIR)/vkspec.epub: $(SPECSRC) $(COMMONDOCS)
397400
$(QUIET)$(ASCIIDOC) -b epub3 $(ADOCOPTS) $(ADOCEPUBOPTS) -o $@ $(SPECSRC)
398401

399-
validusage: $(VUDIR)/validusage.json $(SPECSRC) $(COMMONDOCS)
402+
.PHONY: validusage
403+
validusage: $(VUDIR)/validusage.json
400404

401405
# validusage.json now includes a 'page' field with a relative path in
402406
# the spec module of docs.vulkan.org to the page containing each VUID.
403407
# Generating the maps from VUID anchors to Antora pages requires
404408
# building a regular HTML spec and preprocessing the spec source to the
405409
# Antora build directory.
406-
$(VUDIR)/validusage.json: $(SPECSRC) $(COMMONDOCS) $(PYXREFMAP) $(PYPAGEMAP)
410+
$(VUDIR)/validusage.json: $(SPECSRC) $(COMMONDOCS) $(PYXREFMAP) $(PYPAGEMAP) $(CONFIGS)/vu-to-json/extension.rb $(CONFIGS)/helpers/vu_helpers.rb
407411
$(QUIET)$(MKDIR) $(VUDIR)
408-
$(QUIET)$(ASCIIDOC) $(ADOCOPTS) $(ADOCVUOPTS) --trace \
412+
$(QUIET)$(ASCIIDOC) $(ADOCPROCOPTS) $(ADOCVUOPTS) --trace \
409413
-a json_output=$@ -o $@ $(SPECSRC)
410414
$(QUIET)$(PYTHON) $(SCRIPTS)/add_validusage_pages.py \
411415
-xrefmap $(PYXREFMAP) -pagemap $(PYPAGEMAP) -validusage $@

0 commit comments

Comments
 (0)