summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-11-24 09:06:07 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2009-11-24 09:06:50 -0800
commit266ba24e03c2dd23ef4cafede0a76909456d3ee4 (patch)
tree54768e463ff91a64ffa9d0b136307e0f7b92f7e0
parent71ba020b6cdec56990363e4808453da2e80d0e7f (diff)
downloadDotNetOpenAuth-266ba24e03c2dd23ef4cafede0a76909456d3ee4.zip
DotNetOpenAuth-266ba24e03c2dd23ef4cafede0a76909456d3ee4.tar.gz
DotNetOpenAuth-266ba24e03c2dd23ef4cafede0a76909456d3ee4.tar.bz2
Project templates now build as a .vsi file instead of a raw .zip file.
Thanks to John Kirk (http://johnckirk.livejournal.com/289696.html) for suggesting use of a .vsi file.
-rw-r--r--build.proj34
-rw-r--r--projecttemplates/DotNetOpenAuth Starter Kits.vscontent14
2 files changed, 42 insertions, 6 deletions
diff --git a/build.proj b/build.proj
index a66e94f..7f3ff14 100644
--- a/build.proj
+++ b/build.proj
@@ -6,6 +6,7 @@
<ILMergeOutputAssemblyDirectory>$(OutputPath)unified\</ILMergeOutputAssemblyDirectory>
<ILMergeOutputAssembly>$(ILMergeOutputAssemblyDirectory)$(ProductName).dll</ILMergeOutputAssembly>
<ProjectTemplatesLayoutPath>$(IntermediatePath)projecttemplates\</ProjectTemplatesLayoutPath>
+ <ProjectTemplatesVsi>$(ProjectTemplatesLayoutPath)DotNetOpenAuth Starter Kits.vsi</ProjectTemplatesVsi>
</PropertyGroup>
<Import Project="$(ProjectRoot)tools\$(ProductName).Versioning.targets"/>
@@ -196,7 +197,9 @@
<FixupReferenceAssemblies Include="@(ProjectTemplateLibrariesTargets)" Condition="'%(Extension)' == '.dll'" />
<InjectedLibraryItems Include="@(ProjectTemplateLibrariesTargets->'lib\%(FileName)%(Extension)')" />
+ <VSProjectTemplateZipFiles Include="@(TopLevelVSProjectTemplates->'%(RootDir)%(Directory)%(FileName).zip')" />
</ItemGroup>
+
<Trim Inputs="@(_ProjectTemplatesTransformSource)" MetadataName="BeforeTokens" AllAfter="\">
<Output TaskParameter="Outputs" ItemName="ProjectTemplatesTransformSource" />
</Trim>
@@ -205,6 +208,13 @@
<CopyWithTokenSubstitution SourceFiles="@(ProjectTemplatesTransformSource)" DestinationFiles="@(ProjectTemplatesTransformLayout)" SkipUnchangedFiles="true">
<Output TaskParameter="CopiedFiles" ItemName="CopiedProjectTemplateFiles" />
</CopyWithTokenSubstitution>
+ <Purge Directories="$(ProjectTemplatesLayoutPath)"
+ IntendedFiles="
+ @(ProjectTemplatesLayout);
+ @(ProjectTemplatesTransformLayout);
+ @(VSProjectTemplateZipFiles);
+ $(ProjectTemplatesVsi);
+ " />
<ChangeProjectReferenceToAssemblyReference
Projects="@(CopiedProjectTemplateFiles)"
Condition="'%(Extension)' == '.csproj'"
@@ -228,10 +238,6 @@
</Target>
<Target Name="ProjectTemplates" DependsOnTargets="ProjectTemplatesLayout">
- <ItemGroup>
- <VSProjectTemplateZipFiles Include="@(TopLevelVSProjectTemplates->'%(RootDir)%(Directory)%(FileName).zip')" />
- </ItemGroup>
-
<DiscoverProjectTemplates TopLevelTemplates="@(TopLevelVSProjectTemplates)">
<Output TaskParameter="ProjectTemplates" ItemName="SubVSTemplates" />
<Output TaskParameter="ProjectTemplateContents" ItemName="TemplateItemContents" />
@@ -265,6 +271,22 @@
/>
</Target>
+ <Target Name="vsi" DependsOnTargets="ProjectTemplates">
+ <ItemGroup>
+ <ProjectTemplateVsiContents Include="
+ $(ProjectTemplatesLayoutPath)*.vscontent;
+ $(ProjectTemplatesLayoutPath)*.zip
+ " />
+ </ItemGroup>
+
+ <Delete Files="$(ProjectTemplatesVsi)" />
+ <Zip
+ Files="@(ProjectTemplateVsiContents)"
+ ZipFileName="$(ProjectTemplatesVsi)"
+ WorkingDirectory="$(ProjectTemplatesLayoutPath)"
+ />
+ </Target>
+
<Target Name="Documentation" DependsOnTargets="BuildProduct;Chm" Condition="'$(NoDocumentation)' != 'true'">
</Target>
@@ -285,7 +307,7 @@
</PropertyGroup>
</Target>
- <Target Name="DropLayout" DependsOnTargets="GetBuildVersion;_SetDropProperties;BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildSamples;ProjectTemplates;Documentation">
+ <Target Name="DropLayout" DependsOnTargets="GetBuildVersion;_SetDropProperties;BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildSamples;vsi;Documentation">
<PropertyGroup>
<DropBinDirectory>$(DropDirectory)Bin\</DropBinDirectory>
<DropLibDirectory>$(DropDirectory)Lib\</DropLibDirectory>
@@ -321,7 +343,7 @@
<DropLibSourceFiles Include="
$(ProjectRoot)Lib\log4net.*;
" />
- <DropProjectTemplatesSourceFiles Include="$(ProjectTemplatesLayoutPath)*.zip" />
+ <DropProjectTemplatesSourceFiles Include="$(ProjectTemplatesVsi)" />
<DropSamplesSourceFiles Include="$(ProjectRoot)Samples\**" Exclude="
$(ProjectRoot)**\obj\**;
$(ProjectRoot)**\*.sln.cache;
diff --git a/projecttemplates/DotNetOpenAuth Starter Kits.vscontent b/projecttemplates/DotNetOpenAuth Starter Kits.vscontent
new file mode 100644
index 0000000..8a424f6
--- /dev/null
+++ b/projecttemplates/DotNetOpenAuth Starter Kits.vscontent
@@ -0,0 +1,14 @@
+<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005">
+ <Content>
+ <FileName>WebFormsRelyingParty.zip</FileName>
+ <DisplayName>ASP.NET OpenID-InfoCard RP</DisplayName>
+ <Description>An ASP.NET web forms web site that accepts OpenID and InfoCard logins</Description>
+ <FileContentType>VSTemplate</FileContentType>
+ <ContentVersion>2.0</ContentVersion>
+ <Attributes>
+ <Attribute name="ProjectType" value="Visual C#"/>
+ <Attribute name="ProjectSubType" value="Web"/>
+ <Attribute name="TemplateType" value="Project"/>
+ </Attributes>
+ </Content>
+</VSContent> \ No newline at end of file