From dd723813d922b5fd27946787cf42b9881ab2eb46 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 21 Apr 2013 12:15:57 +0000 Subject: [PATCH] Add HV1 integration into Atmel Studio (native Help). --- LUFA/StudioIntegration/Blob/LUFA.dll | Bin 377856 -> 378880 bytes .../Docbook/mshelp/placeholder.txt | 1 + .../StudioIntegration/Docbook/placeholder.txt | 1 + .../HV1/helpcontentsetup.msha | 19 ++++++ .../HV1/lufa_helpcontentsetup_transform.xslt | 54 ++++++++++++++++++ .../VSIX/[Content_Types].xml | 2 + .../VSIX/extension.vsixmanifest | 1 + LUFA/StudioIntegration/makefile | 53 +++++++++++------ 8 files changed, 113 insertions(+), 18 deletions(-) create mode 100644 LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt create mode 100644 LUFA/StudioIntegration/Docbook/placeholder.txt create mode 100644 LUFA/StudioIntegration/HV1/helpcontentsetup.msha create mode 100644 LUFA/StudioIntegration/HV1/lufa_helpcontentsetup_transform.xslt diff --git a/LUFA/StudioIntegration/Blob/LUFA.dll b/LUFA/StudioIntegration/Blob/LUFA.dll index 069c1f84bbe94fcd69a2f88928e7404bc96aa9e0..ad8a942fc7c947c9aa32e646107fe635191cf0f5 100644 GIT binary patch delta 4246 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 O+b(#B^*!T619kw^kQQeE delta 3448 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 diff --git a/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt b/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt new file mode 100644 index 0000000000..486e9a4270 --- /dev/null +++ b/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt @@ -0,0 +1 @@ +Copy the Microsoft HV1 Docbook transform contents into this directory (i.e. with the XSLT files in the current folder). The HV1 transform proposal can be found at http://sourceforge.net/tracker/?func=detail&aid=3610290&group_id=21935&atid=373750 . diff --git a/LUFA/StudioIntegration/Docbook/placeholder.txt b/LUFA/StudioIntegration/Docbook/placeholder.txt new file mode 100644 index 0000000000..c017acfd75 --- /dev/null +++ b/LUFA/StudioIntegration/Docbook/placeholder.txt @@ -0,0 +1 @@ +Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ . diff --git a/LUFA/StudioIntegration/HV1/helpcontentsetup.msha b/LUFA/StudioIntegration/HV1/helpcontentsetup.msha new file mode 100644 index 0000000000..8bf5543388 --- /dev/null +++ b/LUFA/StudioIntegration/HV1/helpcontentsetup.msha @@ -0,0 +1,19 @@ + + + LUFA Help + + +
+ FourWalledCubicle + LUFA + LUFA Help + en-us +
+
+ +
+ + diff --git a/LUFA/StudioIntegration/HV1/lufa_helpcontentsetup_transform.xslt b/LUFA/StudioIntegration/HV1/lufa_helpcontentsetup_transform.xslt new file mode 100644 index 0000000000..f1a0add3d3 --- /dev/null +++ b/LUFA/StudioIntegration/HV1/lufa_helpcontentsetup_transform.xslt @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + lufa_help_ + + .mshc + + + lufa_help_ + + .mshc + + + diff --git a/LUFA/StudioIntegration/VSIX/[Content_Types].xml b/LUFA/StudioIntegration/VSIX/[Content_Types].xml index 04d85a7bb6..05ef8b6ba4 100644 --- a/LUFA/StudioIntegration/VSIX/[Content_Types].xml +++ b/LUFA/StudioIntegration/VSIX/[Content_Types].xml @@ -8,4 +8,6 @@ + + diff --git a/LUFA/StudioIntegration/VSIX/extension.vsixmanifest b/LUFA/StudioIntegration/VSIX/extension.vsixmanifest index d60ccb756b..e8b1db6e9c 100644 --- a/LUFA/StudioIntegration/VSIX/extension.vsixmanifest +++ b/LUFA/StudioIntegration/VSIX/extension.vsixmanifest @@ -27,6 +27,7 @@ LUFA.pkgdef GettingStarted.htm + helpcontentsetup.msha asf-manifest.xml diff --git a/LUFA/StudioIntegration/makefile b/LUFA/StudioIntegration/makefile index 3f681f8f92..5b50a2221c 100644 --- a/LUFA/StudioIntegration/makefile +++ b/LUFA/StudioIntegration/makefile @@ -11,11 +11,23 @@ LUFA_ROOT := .. LUFA_VERSION_NUM := $(shell grep LUFA_VERSION_STRING $(LUFA_ROOT)/Version.h | cut -d'"' -f2) + +ifneq ($(LUFA_VERSION_NUM),000000) + EXT_VERSION_NUM := $(shell date +"%y.%m.%d").$(LUFA_VERSION_NUM) + EXT_VSIX_NAME := LUFA-RELEASE-$(LUFA_VERSION_NUM).vsix +else + EXT_VERSION_NUM := 0.$(shell date +"%y%m%d.%H%M%S") + EXT_VSIX_NAME := LUFA-TESTING-$(shell date +"%y.%m.%d-%H.%M.%S").vsix + + $(warning No LUFA version set - assuming a test version should be created.) +endif + DOXYGEN_TAG_FILE_XML := $(LUFA_ROOT)/Documentation/lufa_doc_tags.xml DOXYGEN_COMBINED_XML := $(LUFA_ROOT)/Documentation/xml/lufa_doc.xml TEMP_MANIFEST_XML := manifest.xml EXTENSION_OUTPUT_XML := $(LUFA_ROOT)/../extension.xml MODULE_OUTPUT_XML := $(LUFA_ROOT)/asf.xml +MSHELP_OUTPUT_XML := $(LUFA_ROOT)/../lufa_help_$(EXT_VERSION_NUM).mshc XML_FILES := $(filter-out $(TEMP_MANIFEST_FILE), $(shell ls *.xml)) VSIX_ASSETS := $(LUFA_ROOT)/DoxygenPages/Images/LUFA_thumb.png \ $(LUFA_ROOT)/DoxygenPages/Images/LUFA.png \ @@ -29,21 +41,12 @@ VSIX_ASSETS := $(LUFA_ROOT)/DoxygenPages/Images/LUFA_thumb.png \ Blob/LUFA.dll \ Blob/LUFA.pkgdef -ifneq ($(LUFA_VERSION_NUM),000000) - EXT_VERSION_NUM := $(shell date +"%y.%m.%d").$(LUFA_VERSION_NUM) - EXT_VSIX_NAME := LUFA-RELEASE-$(LUFA_VERSION_NUM).vsix -else - EXT_VERSION_NUM := 0.$(shell date +"%y%m%d.%H%M%S") - EXT_VSIX_NAME := LUFA-TESTING-$(shell date +"%y.%m.%d-%H.%M.%S").vsix - - $(warning No LUFA version set - assuming a test version should be created.) -endif - all: generate_xml check_filenames generate_vsix clean: - @rm -f $(TEMP_MANIFEST_XML) $(MODULE_OUTPUT_XML) $(EXTENSION_OUTPUT_XML) $(DOXYGEN_TAG_FILE_XML) $(DOXYGEN_COMBINED_XML) - @cd $(LUFA_ROOT)/.. && rm -f contents.zip exampleProjects.xml content.xml.cache extension.vsixmanifest asf-manifest.xml extension.xml $(notdir $(VSIX_ASSETS)) LUFA-*.vsix + @rm -f $(TEMP_MANIFEST_XML) $(MODULE_OUTPUT_XML) $(EXTENSION_OUTPUT_XML) $(DOXYGEN_TAG_FILE_XML) $(DOXYGEN_COMBINED_XML) $(MSHELP_OUTPUT_XML) + @rm -rf mshelp + @cd $(LUFA_ROOT)/.. && rm -f contents.zip exampleProjects.xml content.xml.cache extension.vsixmanifest asf-manifest.xml extension.xml helpcontentsetup.msha $(notdir $(VSIX_ASSETS)) *.vsix *.mshc $(DOXYGEN_TAG_FILE_XML): @$(MAKE) -C ../ doxygen DOXYGEN_OVERRIDE_PARAMS="GENERATE_TAGFILE=Documentation/lufa_doc_tags.xml GENERATE_HTML=no GENERATE_XML=yes" @@ -72,26 +75,40 @@ $(EXTENSION_OUTPUT_XML): $(TEMP_MANIFEST_XML) @xsltproc XDK/lufa_extension_transform.xslt $< | xsltproc XDK/lufa_indent_transform.xslt - > $(EXTENSION_OUTPUT_XML) @echo "Atmel Studio extension.xml file generated." +$(MSHELP_OUTPUT_XML): $(DOXYGEN_COMBINED_XML) + @echo Converting Doxygen XML to Docbook... + @-mkdir mshelp 2> /dev/null + @xsltproc HV1/lufa_docbook_transform.xsl $(DOXYGEN_COMBINED_XML) > mshelp/lufa_docbook.xml + @cd mshelp && xsltproc ../Docbook/mshelp/docbook.xsl lufa_docbook.xml + + @echo Copying help assets... + @-mkdir mshelp/images 2> /dev/null + @cp -r $(LUFA_ROOT)/DoxygenPages/Images/* mshelp/images + + @echo Archiving help content... + @cd mshelp && zip ../$(MSHELP_OUTPUT_XML) -q -0 -r *.html images + generate_xml: $(EXTENSION_OUTPUT_XML) $(MODULE_OUTPUT_XML) -generate_vsix: $(EXTENSION_OUTPUT_XML) $(MODULE_OUTPUT_XML) +generate_vsix: $(EXTENSION_OUTPUT_XML) $(MODULE_OUTPUT_XML) $(MSHELP_OUTPUT_XML) @echo "Generating ASF cache files..." @rm -f $(LUFA_ROOT)/../content.xml.cache @rm -f $(LUFA_ROOT)/../ExampleProjects.xml @python VSIX/generate_caches.py $(LUFA_ROOT)/../ - @echo "Archiving Content..." + @echo "Archiving ASF content..." @rm -f contents.zip @cd $(LUFA_ROOT)/../ && zip contents.zip -q -0 -r --exclude=*Documentation* --exclude=*StudioIntegration* LUFA Bootloaders Demos Projects README.txt - @echo "Creating VSIX Dependencies..." + @echo "Creating VSIX dependencies..." @cp $(VSIX_ASSETS) $(LUFA_ROOT)/.. @xsltproc --stringparam extension-version "$(EXT_VERSION_NUM)" VSIX/lufa_vsmanifest_transform.xslt VSIX/extension.vsixmanifest > $(LUFA_ROOT)/../extension.vsixmanifest @xsltproc --stringparam lufa-version "$(LUFA_VERSION_NUM)" VSIX/lufa_asfmanifest_transform.xslt VSIX/asf-manifest.xml > $(LUFA_ROOT)/../asf-manifest.xml + @xsltproc --stringparam extension-version "$(EXT_VERSION_NUM)" HV1/lufa_helpcontentsetup_transform.xslt HV1/helpcontentsetup.msha > $(LUFA_ROOT)/../helpcontentsetup.msha - @echo "Generating Atmel Studio VSIX Extension file..." - cd $(LUFA_ROOT)/../ && zip $(EXT_VSIX_NAME) -q -9 contents.zip exampleProjects.xml content.xml.cache extension.vsixmanifest asf-manifest.xml extension.xml $(notdir $(VSIX_ASSETS)) + @echo "Generating Atmel Studio VSIX file..." + cd $(LUFA_ROOT)/../ && zip $(EXT_VSIX_NAME) -q -9 contents.zip exampleProjects.xml content.xml.cache extension.vsixmanifest asf-manifest.xml extension.xml helpcontentsetup.msha $(notdir $(MSHELP_OUTPUT_XML)) $(notdir $(VSIX_ASSETS)) @echo "Atmel Studio VSIX Extension file generated." check_filenames: $(MODULE_OUTPUT_XML) @@ -111,4 +128,4 @@ check_filenames: $(MODULE_OUTPUT_XML) sanity_check: python ProjectGenerator/project_generator.py -b $(LUFA_ROOT)/../ --main-ext-uuid=0e160d5c-e331-48d9-850b-e0387912171b CHECK -.PHONY: all clean generate_xml generate_vsix check_filenames +.PHONY: all clean generate_xml generate_vsix check_filenames sanity_check