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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 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