- Timestamp:
- Mar 20, 2023 2:38:04 AM (19 months ago)
- Location:
- trunk/doc/manual
- Files:
-
- 2 edited
-
Makefile.kmk (modified) (7 diffs)
-
build_id_to_file_mapping.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/manual/Makefile.kmk
r99058 r99059 657 657 $$(QUIET)$$(TOUCH) -- "$$@" 658 658 659 ## @todo r=bird: Not sure why this is needed, it's in Docbook format.660 ## Logically, it belongs to the refentry -> dita conversion below...661 $$(VBOX_PATH_MANUAL_OUTBASE)/$1/dita/topics/man_VBoxManage-dhcpserver-dhcpoptions.xml: \662 $(VBOX_PATH_MANUAL_SRC)/en_US/man_VBoxManage-dhcpserver-dhcpoptions.xml | $$$$(dir $$$$@)663 $$(QUIET)$$(INSTALL_STAGING) -m 0644 -- "$$<" "$$(@D)/"664 665 659 endef 666 660 $(foreach lang, $(VBOX_MANUAL_ALL_LANGUAGES),$(evalcall2 def_vbox_copy_manual_dita_src_files,$(lang))) 667 668 ## @todo r=bird: Will be eliminated.669 $(VBOX_PATH_MANUAL_OUTBASE)/dita_common: \670 $(VBOX_USER_MANUAL_DITA_STAGED_FILES_en_US) \671 $$(VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES)672 $(call MSG_L1, Ran common dita steps)673 $(QUIET)$(TOUCH) -- "$@"674 661 675 662 … … 683 670 # 684 671 685 686 ########################################################################################## 687 # 688 # Docbook to Dita conversion of our refentry files 689 # 690 ########################################################################################## 691 692 # Generate a ID to FILE mapping database that def_vbox_refentry_to_dita can apply below. 693 VBOX_USER_MANUAL_ID_MAPPING_FILE := $(VBOX_PATH_MANUAL_OUTBASE)/en_US/id-mapping-file.db 694 OTHER_CLEAN += $(VBOX_USER_MANUAL_ID_MAPPING_FILE) 695 $(VBOX_USER_MANUAL_ID_MAPPING_FILE): \ 696 $(VBOX_PATH_MANUAL_SRC)/build_id_to_file_mapping.py \ 697 $(wildcard $(VBOX_PATH_MANUAL_SRC)/en_US/*.xml $(VBOX_PATH_MANUAL_SRC)/en_US/dita/topics/*.dita) \ 698 | $(dir $@) 699 $(call MSG_L1, $<) 700 $(QUIET)$(VBOX_BLD_PYTHON) "$<" --output "$@" \ 701 "$(VBOX_PATH_MANUAL_SRC)/en_US/*.xml" \ 702 "$(VBOX_PATH_MANUAL_SRC)/en_US/dita/topics/*.dita" 703 704 # Accumulated list of conversion output file names used by dita_common above. 705 VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES := $(VBOX_PATH_MANUAL_OUTBASE)/en_US/dita/topics/user_isomakercmd-man.dita 706 707 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/dita/topics/user_isomakercmd-man.dita: \ 708 $(VBOX_DITA_CONVERTER_PATH)/db2dita/docbook2dita.xsl \ 709 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/user_isomakercmd-man.xml | $$(dir $$@) 710 $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \ 672 ## 673 # Do per-language stuff for the refentry -> dita file conversion. 674 # 675 # The variable VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES_<lang> is defined 676 # by this define and should be expaneded as a prerequisite for any rule 677 # producing a version of the user manual. 678 # 679 # @param 1 Language. 680 # 681 define def_vbox_refentry_to_dita 682 # Generate a ID to FILE mapping database that def_vbox_refentry_to_dita can apply below. 683 VBOX_USER_MANUAL_ID_MAPPING_FILE_$(1) := $$(VBOX_PATH_MANUAL_OUTBASE)/$1/id-mapping-file.db 684 OTHER_CLEAN += $(VBOX_USER_MANUAL_ID_MAPPING_FILE_$(1)) 685 $$(VBOX_USER_MANUAL_ID_MAPPING_FILE_$(1)) + $$(VBOX_USER_MANUAL_ID_MAPPING_FILE_$(1)).lst: \ 686 $$(VBOX_PATH_MANUAL_SRC)/build_id_to_file_mapping.py \ 687 $$(wildcard $$(VBOX_PATH_MANUAL_SRC)/$1/*.xml) \ 688 $$(filter %.dita,$$(VBOX_USER_MANUAL_DITA_STAGED_FILES_$(1))) \ 689 | $$$$(dir $$$$@) 690 $$(call MSG_L1, $$<) 691 $$(APPEND) -nt "$$@.lst" $$(filter-out %.py,$$^) 692 $$(QUIET)$$(VBOX_BLD_PYTHON) "$$<" --output "$$@" @"$$@.lst" 693 694 # We must copy over the man_VBoxManage-dhcpserver-dhcpoptions.xml include 695 # file, so that xsltproc can easily find it when running docbook2dita.xsl. 696 $$(VBOX_PATH_MANUAL_OUTBASE)/$1/dita/topics/man_VBoxManage-dhcpserver-dhcpoptions.xml: \ 697 $$(qfirstfile , $$(qwildcard , $$(VBOX_PATH_MANUAL_SRC)/$(1)/man_VBoxManage-dhcpserver-dhcpoptions.xml) \ 698 $$(VBOX_PATH_MANUAL_SRC)/en_US/man_VBoxManage-dhcpserver-dhcpoptions.xml) | $$$$(dir $$$$@) 699 $$(QUIET)$$(INSTALL_STAGING) -m 0644 -- "$$<" "$$(@D)/" 700 701 # Accumulated list of conversion output file names to be used as a 702 # prerequisite in rules producing a version of the user manual. 703 VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES_$1 := \ 704 $$(VBOX_PATH_MANUAL_OUTBASE)/$1/dita/topics/user_isomakercmd-man.dita 705 706 ## @todo r=bird: quite not sure why this isn't treated like the rest... 707 $$(VBOX_PATH_MANUAL_OUTBASE)/$1/dita/topics/user_isomakercmd-man.dita: \ 708 $$(VBOX_DITA_CONVERTER_PATH)/db2dita/docbook2dita.xsl \ 709 $$(VBOX_PATH_MANUAL_OUTBASE)/en_US/user_isomakercmd-man.xml | $$$$(dir $$$$@) 710 $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) \ 711 711 --maxdepth 6000 \ 712 --output "$@" \ 713 "$<" \ 714 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/user_isomakercmd-man.xml 715 716 define def_vbox_refentry_to_dita 717 VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES += $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(basename $(2)).dita 718 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(basename $(2)).dita \ 719 + $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(2): \ 712 --output "$$@" \ 713 "$$<" \ 714 $$(VBOX_PATH_MANUAL_OUTBASE)/$1/user_isomakercmd-man.xml 715 endef 716 717 ## Convert a single refentry file to dita. 718 # @param 1 Language 719 # @param 2 Filename w/o extension. 720 define def_vbox_refentry_file_to_dita 721 VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES_$1 += $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(2).dita 722 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(2).dita \ 723 + $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(2).xml: \ 720 724 $$(VBOX_DITA_CONVERTER_PATH)/db2dita/docbook2dita.xsl \ 721 $$(qfirstfile , $$(qwildcard , $$(VBOX_PATH_MANUAL_SRC)/$(1)/$(2) ) $$(VBOX_PATH_MANUAL_SRC)/en_US/$(2)) \725 $$(qfirstfile , $$(qwildcard , $$(VBOX_PATH_MANUAL_SRC)/$(1)/$(2).xml) $$(VBOX_PATH_MANUAL_SRC)/en_US/$(2).xml) \ 722 726 $$(VBOX_PATH_MANUAL_SRC)/mark_external_urls.xsl \ 723 727 $$(VBOX_PATH_MANUAL_SRC)/add_file_to_id_only_references.py \ 724 $$(VBOX_USER_MANUAL_ID_MAPPING_FILE ) \725 $$(VBOX_PATH_MANUAL_OUTBASE)/ en_US/dita/topics/man_VBoxManage-dhcpserver-dhcpoptions.xml \728 $$(VBOX_USER_MANUAL_ID_MAPPING_FILE_$1) \ 729 $$(VBOX_PATH_MANUAL_OUTBASE)/$1/dita/topics/man_VBoxManage-dhcpserver-dhcpoptions.xml \ 726 730 $$(VBOX_XML_CATALOG) \ 727 731 $$(VBOX_XML_CATALOG_DOCBOOK) \ … … 733 737 $$(QUIET)$$(RM) -f "$$@" 734 738 $$(QUIET)$$(VBOX_BLD_PYTHON) $$(VBOX_PATH_MANUAL_SRC)/refsect2_to_refsect1.py \ 735 -i $$(qfirstfile , $$(qwildcard , $$(VBOX_PATH_MANUAL_SRC)/$(1)/$(2) ) $$(VBOX_PATH_MANUAL_SRC)/en_US/$(2)) \736 -o "$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(2) "739 -i $$(qfirstfile , $$(qwildcard , $$(VBOX_PATH_MANUAL_SRC)/$(1)/$(2).xml) $$(VBOX_PATH_MANUAL_SRC)/en_US/$(2).xml) \ 740 -o "$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(2).xml" 737 741 $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --maxdepth 6000 --output "$$@" \ 738 742 "$$(VBOX_DITA_CONVERTER_PATH)/db2dita/docbook2dita.xsl" \ 739 "$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(2) "743 "$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita/topics/$(2).xml" 740 744 $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --maxdepth 6000 --output "$$@" \ 741 745 "$$(VBOX_PATH_MANUAL_SRC)/mark_external_urls.xsl" "$$@" 742 746 $$(QUIET)$$(VBOX_BLD_PYTHON) $$(VBOX_PATH_MANUAL_SRC)/add_file_to_id_only_references.py \ 743 --mapping-file "$$(VBOX_USER_MANUAL_ID_MAPPING_FILE )" "$$@"747 --mapping-file "$$(VBOX_USER_MANUAL_ID_MAPPING_FILE_$1)" "$$@" 744 748 endef 745 749 $(foreach lang,$(VBOX_MANUAL_ALL_LANGUAGES) \ 746 ,$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) man_vboximg-mount.xml man_VBoxHeadless.xml \ 747 ,$(evalcall2 def_vbox_refentry_to_dita,$(lang),$(file)))) 750 ,$(evalcall2 def_vbox_refentry_to_dita,$(lang)) \ 751 $(foreach file, $(basename $(VBOX_MANUAL_XML_REFENTRY_FILES) man_vboximg-mount man_VBoxHeadless) \ 752 ,$(evalcall2 def_vbox_refentry_file_to_dita,$(lang),$(file)))) 753 748 754 749 755 … … 763 769 $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html: \ 764 770 $(VBOX_USER_MANUAL_DITA_STAGED_FILES_en_US) \ 765 $(VBOX_ PATH_MANUAL_OUTBASE)/dita_common771 $(VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES_en_US) 766 772 $(call MSG_L1,Building html chunks $@) 767 773 $(QUIET)$(RM) -Rf -- "$(VBOX_PATH_MANUAL_OUTBASE)/en_US/dita-ot-html-chunks/" … … 770 776 "/transtype:xhtml" \ 771 777 "/outdir:$(@D)" \ 772 "/tempdir:$(VBOX_PATH_MANUAL_OUTBASE)/en_US/dita/temp_xhtml" 778 "/tempdir:$(VBOX_PATH_MANUAL_OUTBASE)/en_US/dita/temp_xhtml" "/debug" 773 779 774 780 # disable for now … … 822 828 $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \ 823 829 $$(VBOX_USER_MANUAL_DITA_STAGED_FILES_$(lang)) \ 824 $$(VBOX_ PATH_MANUAL_OUTBASE)/dita_common830 $$(VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES_$(lang)) 825 831 $$(QUIET)$(RM) -f -- "$$@" 826 832 $$(QUIET)$(RM) -Rf -- "$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita-ot-pdf/" … … 968 974 $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/qhelp/UserManual.hhp: \ 969 975 $(VBOX_USER_MANUAL_DITA_STAGED_FILES_$(1)) \ 970 $(VBOX_ PATH_MANUAL_OUTBASE)/dita_common976 $(VBOX_USER_MANUAL_CONVERTED_REFENTRY_DITA_FILES_$(1)) 971 977 $$(QUIET)$(RM) -Rf -- "$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita-ot-qhelp/" 972 978 $$(QUIET)$$(call VBOX_DITA_RUN_DOST,$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/dita-ot-qhelp, -EHHCDIR="$$(@D)") \ -
trunk/doc/manual/build_id_to_file_mapping.py
r99038 r99059 115 115 else: 116 116 # Input files. 117 asFiles = glob.glob(sArg); 117 if sArg[0] == '@': 118 with open(sArg[1:], 'r', encoding = 'utf-8') as oFile: 119 asFiles = oFile.read().split(); 120 else: 121 asFiles = glob.glob(sArg); 118 122 if not asFiles: 119 123 return error('File not found: %s' % (sArg,));
Note:
See TracChangeset
for help on using the changeset viewer.

