summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2010-02-02 20:39:52 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2010-02-02 20:39:52 -0800
commit08b0d4456dbcf25a3a0b57d0d1154455e7dc033f (patch)
tree0d8a954c0ec7f31c1498885e0a4967c32af759f1
parentad1da88a61ca9ab4d59df68c432ba1d4dd3bbc99 (diff)
downloadDotNetOpenAuth-08b0d4456dbcf25a3a0b57d0d1154455e7dc033f.zip
DotNetOpenAuth-08b0d4456dbcf25a3a0b57d0d1154455e7dc033f.tar.gz
DotNetOpenAuth-08b0d4456dbcf25a3a0b57d0d1154455e7dc033f.tar.bz2
Work toward generating VSIX files for each individual project template.
-rw-r--r--build.proj50
-rw-r--r--projecttemplates/MvcRelyingParty.vsixmanifest27
-rw-r--r--projecttemplates/WebFormsRelyingParty.vsixmanifest27
-rw-r--r--tools/Documentation.targets1
4 files changed, 99 insertions, 6 deletions
diff --git a/build.proj b/build.proj
index c59d564..6a5324d 100644
--- a/build.proj
+++ b/build.proj
@@ -12,6 +12,7 @@
<VS2010ProjectTemplatesDirectory>$(IntermediatePath)VS2010projecttemplates\</VS2010ProjectTemplatesDirectory>
<ExtensionVsixLayoutDirectory>$(IntermediatePath)Vsix\</ExtensionVsixLayoutDirectory>
+ <ProjectTemplateSubdirectory>$(ExtensionVsixLayoutDirectory)PT\CSharp\Web\</ProjectTemplateSubdirectory>
<ZipLevel>6</ZipLevel>
</PropertyGroup>
@@ -158,7 +159,7 @@
<MSBuild Projects="@(ProjectTemplates)" />
</Target>
- <Target Name="ProjectTemplatesLayout" DependsOnTargets="GetBuildVersion;BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildProjectTemplates;VsixManifestLayout">
+ <Target Name="ProjectTemplatesLayout" DependsOnTargets="GetBuildVersion;VsixManifestLayout">
<ItemGroup>
<ProjectTemplatesSource Include="$(ProjectRoot)projecttemplates\**\*"
Exclude="
@@ -323,9 +324,6 @@
</Target>
<Target Name="ProjectTemplates2010" DependsOnTargets="ProjectTemplatesLayout">
- <PropertyGroup>
- <ProjectTemplateSubdirectory>$(ExtensionVsixLayoutDirectory)PT\CSharp\Web\</ProjectTemplateSubdirectory>
- </PropertyGroup>
<ItemGroup>
<ProjectTemplates2010Source Include="$(ProjectTemplatesLayoutPath)**" />
<ProjectTemplates2010Layout Include="@(ProjectTemplates2010Source->'$(VS2010ProjectTemplatesDirectory)%(RecursiveDir)%(FileName)%(Extension)')" />
@@ -440,6 +438,41 @@
<Copy SourceFiles="@(ExtensionVsixSources)" DestinationFiles="@(ExtensionVsixTargets)" SkipUnchangedFiles="true" />
<Purge Directories="$(ExtensionVsixLayoutDirectory)" IntendedFiles="@(ExtensionVsixContents)" />
+
+ <!-- Build individual VSIX files for each project template for the Visual Studio Gallery,
+ which only allows one project template per VSIX. -->
+ <ItemGroup>
+ <VSGalleryProjectTemplates Include="$(ProjectTemplateSubdirectory)*.zip" />
+ <VSGalleryVsixRawSources Include="$(ExtensionVsixLayoutDirectory)**"
+ Exclude="$(ProjectTemplateSubdirectory)*.zip;$(ExtensionVsixLayoutDirectory)*.vsixmanifest">
+ <VSGalleryVsix>$(DropsRoot)$(ProductName) %(VSGalleryProjectTemplates.FileName)-$(BuildVersion).vsix</VSGalleryVsix>
+ <TopLevelTemplate>%(VSGalleryProjectTemplates.FileName)</TopLevelTemplate>
+ </VSGalleryVsixRawSources>
+ <VSGalleryVsixSources Include="@(VSGalleryVsixRawSources)">
+ <TargetPath>$(IntermediatePath)%(TopLevelTemplate).vsix\%(FileName)%(Extension)</TargetPath>
+ </VSGalleryVsixSources>
+
+ <VSGalleryVsixZipSources Include="$(ExtensionVsixLayoutDirectory)**\*.zip"/>
+ <VSGalleryVsixSources Include="@(VSGalleryVsixZipSources)">
+ <TopLevelTemplate>%(FileName)</TopLevelTemplate>
+ <VSGalleryVsix>$(DropsRoot)$(ProductName) %(FileName)-$(BuildVersion).vsix</VSGalleryVsix>
+ <TargetPath>$(IntermediatePath)%(FileName).vsix\%(RecursiveDir)%(FileName)%(Extension)</TargetPath>
+ </VSGalleryVsixSources>
+
+ <VSGalleryVsixSources Include="@(VSGalleryProjectTemplates->'$(ProjectRoot)projecttemplates\%(FileName).vsixmanifest')">
+ <VSGalleryVsix>$(DropsRoot)$(ProductName) %(VSGalleryProjectTemplates.FileName)-$(BuildVersion).vsix</VSGalleryVsix>
+ <TopLevelTemplate>%(VSGalleryProjectTemplates.FileName)</TopLevelTemplate>
+ <TargetPath>$(IntermediatePath)%(VSGalleryProjectTemplates.FileName).vsix\extension.vsixmanifest</TargetPath>
+ </VSGalleryVsixSources>
+
+ <VSGalleryVsixTargets Include="@(VSGalleryVsixSources->'%(TargetPath)')">
+ <WorkingDirectory>$(IntermediatePath)%(TopLevelTemplate).vsix</WorkingDirectory>
+ </VSGalleryVsixTargets>
+ </ItemGroup>
+ <Message Importance="high" Text="VSGalleryVsixSources: @(VSGalleryVsixSources)" />
+ <Message Importance="high" Text="VSGalleryVsixTargets: @(VSGalleryVsixTargets)" />
+ <Message Importance="high" Text="ZZZ %(VSGalleryVsixSources.Identity) -> %(VSGalleryVsixSources.TargetPath)" />
+ <HardLinkCopy SourceFiles="@(VSGalleryVsixSources)" DestinationFiles="@(VSGalleryVsixTargets)" />
</Target>
<Target Name="vsix" DependsOnTargets="VsixLayout;_SetDropProperties">
@@ -452,6 +485,13 @@
WorkingDirectory="$(ExtensionVsixLayoutDirectory)"
ZipLevel="$(ZipLevel)"
/>
+
+ <Zip
+ Files="@(VSGalleryVsixTargets)"
+ ZipFileName="%(VSGalleryVsixTargets.VSGalleryVsix)"
+ WorkingDirectory="%(VSGalleryVsixTargets.WorkingDirectory)"
+ ZipLevel="$(ZipLevel)"
+ />
</Target>
<Target Name="Documentation" DependsOnTargets="BuildProduct;Chm" Condition="'$(NoDocumentation)' != 'true'">
@@ -470,7 +510,7 @@
ExcludeCategory="$(NUnitExcludeCategories)"/>
</Target>
- <Target Name="_SetDropProperties">
+ <Target Name="_SetDropProperties" DependsOnTargets="GetBuildVersion">
<!-- This target is necessary because PropertyGroups within the same Target as
where CallTarget is fired do NOT affect those called targets. -->
<!-- The rest of these are here so that other DependsOn targets have access to these properties. -->
diff --git a/projecttemplates/MvcRelyingParty.vsixmanifest b/projecttemplates/MvcRelyingParty.vsixmanifest
new file mode 100644
index 0000000..023e42a
--- /dev/null
+++ b/projecttemplates/MvcRelyingParty.vsixmanifest
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
+ <Identifier Id="DotNetOpenAuth.MvcRelyingParty.15E8EC96-BDC3-47E2-8BB1-0483E9D16705">
+ <Name>MvcRelyingParty</Name>
+ <Author>DotNetOpenAuth</Author>
+ <Version>$version$</Version>
+ <Description>Resources for developing applications that use OpenID, OAuth, and InfoCard.</Description>
+ <Locale>1033</Locale>
+ <License>LICENSE.txt</License>
+ <GettingStartedGuide>http://www.dotnetopenauth.net/ProjectTemplateGettingStarted</GettingStartedGuide>
+ <Icon>VSIXProject_small.png</Icon>
+ <PreviewImage>VSIXProject_large.png</PreviewImage>
+ <InstalledByMsi>false</InstalledByMsi>
+ <SupportedProducts>
+ <VisualStudio Version="10.0">
+ <Edition>VSTS</Edition>
+ <Edition>VSTD</Edition>
+ <Edition>Pro</Edition>
+ </VisualStudio>
+ </SupportedProducts>
+ <SupportedFrameworkRuntimeEdition MinVersion="3.5" MaxVersion="3.5" />
+ </Identifier>
+ <References />
+ <Content>
+ <ProjectTemplate>PT</ProjectTemplate>
+ </Content>
+</Vsix>
diff --git a/projecttemplates/WebFormsRelyingParty.vsixmanifest b/projecttemplates/WebFormsRelyingParty.vsixmanifest
new file mode 100644
index 0000000..bd8eb13
--- /dev/null
+++ b/projecttemplates/WebFormsRelyingParty.vsixmanifest
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
+ <Identifier Id="DotNetOpenAuth.WebFormsRelyingParty.FB0AB0B2-B447-4F10-A03E-F488DDAF024A">
+ <Name>WebFormsRelyingParty</Name>
+ <Author>DotNetOpenAuth</Author>
+ <Version>$version$</Version>
+ <Description>Resources for developing applications that use OpenID, OAuth, and InfoCard.</Description>
+ <Locale>1033</Locale>
+ <License>LICENSE.txt</License>
+ <GettingStartedGuide>http://www.dotnetopenauth.net/ProjectTemplateGettingStarted</GettingStartedGuide>
+ <Icon>VSIXProject_small.png</Icon>
+ <PreviewImage>VSIXProject_large.png</PreviewImage>
+ <InstalledByMsi>false</InstalledByMsi>
+ <SupportedProducts>
+ <VisualStudio Version="10.0">
+ <Edition>VSTS</Edition>
+ <Edition>VSTD</Edition>
+ <Edition>Pro</Edition>
+ </VisualStudio>
+ </SupportedProducts>
+ <SupportedFrameworkRuntimeEdition MinVersion="3.5" MaxVersion="3.5" />
+ </Identifier>
+ <References />
+ <Content>
+ <ProjectTemplate>PT</ProjectTemplate>
+ </Content>
+</Vsix>
diff --git a/tools/Documentation.targets b/tools/Documentation.targets
index dff4d88..faf1f75 100644
--- a/tools/Documentation.targets
+++ b/tools/Documentation.targets
@@ -5,7 +5,6 @@
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot>
<OutputAssembly>DotNetOpenAuth</OutputAssembly>
<DocOutputPath>$(ProjectRoot)doc\</DocOutputPath>
- <IntermediatePath>$(ProjectRoot)obj\$(Configuration)\</IntermediatePath>
<DocumentationFile>$(OutputPath)$(OutputAssembly).xml</DocumentationFile>
</PropertyGroup>