From 78e6e4f4c237123f97bbfcc2e8fc0fda01fc1bd8 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sat, 5 Jan 2013 11:18:49 +0000
Subject: [PATCH] Add Atmel Studio Extension (VSIX) packaging files and
 scripts.

---
 .../VSIX/[Content_Types].xml                  | 22 +++++++++++++++++
 .../VSIX/extension.vsixmanifest               | 24 +++++++++++++++++++
 LUFA/StudioIntegration/makefile               |  8 +++++--
 3 files changed, 52 insertions(+), 2 deletions(-)
 create mode 100644 LUFA/StudioIntegration/VSIX/[Content_Types].xml
 create mode 100644 LUFA/StudioIntegration/VSIX/extension.vsixmanifest

diff --git a/LUFA/StudioIntegration/VSIX/[Content_Types].xml b/LUFA/StudioIntegration/VSIX/[Content_Types].xml
new file mode 100644
index 000000000..bb630d84e
--- /dev/null
+++ b/LUFA/StudioIntegration/VSIX/[Content_Types].xml
@@ -0,0 +1,22 @@
+<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
+  <Default Extension="vsixmanifest" ContentType="text/xml"/>
+
+  <Default Extension="jpg" ContentType="image/jpg"/>
+  <Default Extension="png" ContentType="application/octet-stream"/>
+  <Default Extension="bmp" ContentType="application/octet-stream"/>
+
+  <Default Extension="c" ContentType="application/octet-stream"/>
+  <Default Extension="h" ContentType="application/octet-stream"/>
+  <Default Extension="S" ContentType="application/octet-stream"/>
+
+  <Default Extension="txt" ContentType="text/plain"/>
+
+  <Default Extension="conf" ContentType="application/octet-stream"/>
+  <Default Extension="inf" ContentType="application/octet-stream"/>
+
+  <Default Extension="xml" ContentType="text/xml"/>
+
+  <Default Extension="css" ContentType="application/octet-stream"/>
+  <Default Extension="html" ContentType="text/html"/>
+  <Default Extension="js" ContentType="application/octet-stream"/>
+</Types>
diff --git a/LUFA/StudioIntegration/VSIX/extension.vsixmanifest b/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
new file mode 100644
index 000000000..0adf42656
--- /dev/null
+++ b/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
+	<Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b">
+		<Name>LUFA Library</Name>
+		<Author>Dean Camera</Author>
+		<Version>00.00.00</Version>
+		<MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl>
+		<Description xml:space="preserve">LUFA USB Framework</Description>
+
+	    <Icon>LUFA\DoxygenPages\Images\LUFA_thumb.png</Icon>
+	    <PreviewImage>LUFA\DoxygenPages\Images\LUFA.png</PreviewImage>
+
+		<SupportedProducts>
+			<IsolatedShell Version="6.1">AtmelStudio</IsolatedShell>
+		</SupportedProducts>
+		<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.0" />
+
+		<Locale>1033</Locale>
+	</Identifier>
+
+	<References/>
+	<Content/>
+</Vsix>
diff --git a/LUFA/StudioIntegration/makefile b/LUFA/StudioIntegration/makefile
index aa1feb1de..442e8fdeb 100644
--- a/LUFA/StudioIntegration/makefile
+++ b/LUFA/StudioIntegration/makefile
@@ -9,7 +9,7 @@
 #  Makefile for the LUFA Atmel Studio Integration.
 # ---------------------------------------
 
-LUFA_ROOT            := ../
+LUFA_ROOT            := ..
 DOXYGEN_TAG_FILE_XML := $(LUFA_ROOT)/Documentation/lufa_doc_tags.xml
 TEMP_MANIFEST_XML    := manifest.xml
 EXTENSION_OUTPUT_XML := $(LUFA_ROOT)/../extension.xml
@@ -17,7 +17,7 @@ MODULE_OUTPUT_XML    := $(LUFA_ROOT)/asf.xml
 XML_FILES            := $(filter-out $(TEMP_MANIFEST_FILE), $(shell ls *.xml))
 LUFA_VERSION_NUM     := $(shell grep LUFA_VERSION_STRING $(LUFA_ROOT)/Version.h | cut -d'"' -f2)
 
-all: check_filenames generate_xml
+all: check_filenames generate_xml generate_vsix
 
 clean:
 	@rm $(TEMP_MANIFEST_XML) $(MODULE_OUTPUT_XML) $(EXTENSION_OUTPUT_XML)
@@ -47,6 +47,10 @@ generate_xml: $(TEMP_MANIFEST_XML)
 
 	@rm $(TEMP_MANIFEST_XML)
 
+generate_vsix: $(EXTENSION_OUTPUT_XML) $(MODULE_OUTPUT_XML)
+	cp VSIX/* $(LUFA_ROOT)/../
+	cd $(LUFA_ROOT)/../; zip LUFA_AS_Extension.vsix -r --exclude=*StudioIntegration* *
+
 check_filenames: $(TEMP_MANIFEST_XML)
 	@for i in `xsltproc XSLT/lufa_filelist_transform.xslt $< | grep -v "^<" | sed -e "/^$$/d"`; do \
 		if ( ! test -f "$(LUFA_ROOT)/$$i" ); then \
-- 
GitLab