summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--projecttemplates/projecttemplates.proj7
-rw-r--r--projecttemplates/projecttemplates.props8
-rw-r--r--tools/DotNetOpenAuth.props2
-rw-r--r--vsi/vsi.proj21
-rw-r--r--vsix/vsix.proj8
5 files changed, 29 insertions, 17 deletions
diff --git a/projecttemplates/projecttemplates.proj b/projecttemplates/projecttemplates.proj
index 2d5e883..b04eaef 100644
--- a/projecttemplates/projecttemplates.proj
+++ b/projecttemplates/projecttemplates.proj
@@ -1,13 +1,10 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildProjectDirectory)\..\tools\DotNetOpenAuth.automated.props"/>
+ <Import Project="ProjectTemplates.props"/>
<PropertyGroup>
<ProjectTemplateMaxPath Condition=" '$(ProjectTemplateMaxPath)' == '' ">50</ProjectTemplateMaxPath>
- <!-- We use GetFullPath here because IntermediatePath may be a relative directory, and we need to do full path comparisons. -->
- <ProjectTemplatesLayoutPath>$([System.IO.Path]::GetFullPath('$(IntermediatePath)projecttemplates\'))</ProjectTemplatesLayoutPath>
- <ProjectTemplates2008LayoutPath>$([System.IO.Path]::GetFullPath('$(IntermediatePath)projecttemplates2008\'))</ProjectTemplates2008LayoutPath>
-
<LayoutDependsOn>
BuildUnifiedProduct;
ReSignDelaySignedAssemblies;
@@ -220,7 +217,7 @@
IntendedFiles="@(ProjectTemplates2008Layout);@(VS2008ProjectTemplateZipFiles)" />
</Target>
- <Target Name="Zip2008" DependsOnTargets="Layout2008">
+ <Target Name="Zip2008" DependsOnTargets="Layout2008" Returns="%(VS2008ProjectTemplateContents.ZipFile)">
<DiscoverProjectTemplates TopLevelTemplates="@(TopLevelVS2008ProjectTemplates)">
<Output TaskParameter="ProjectTemplates" ItemName="SubVS2008Templates" />
<Output TaskParameter="ProjectTemplateContents" ItemName="VS2008TemplateItemContents" />
diff --git a/projecttemplates/projecttemplates.props b/projecttemplates/projecttemplates.props
new file mode 100644
index 0000000..2bdc859
--- /dev/null
+++ b/projecttemplates/projecttemplates.props
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <!-- We use GetFullPath here because IntermediatePath may be a relative directory, and we need to do full path comparisons. -->
+ <ProjectTemplatesLayoutPath>$([System.IO.Path]::GetFullPath('$(IntermediatePath)projecttemplates\'))</ProjectTemplatesLayoutPath>
+ <ProjectTemplates2008LayoutPath>$([System.IO.Path]::GetFullPath('$(IntermediatePath)projecttemplates2008\'))</ProjectTemplates2008LayoutPath>
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tools/DotNetOpenAuth.props b/tools/DotNetOpenAuth.props
index 844fe92..75bfba5 100644
--- a/tools/DotNetOpenAuth.props
+++ b/tools/DotNetOpenAuth.props
@@ -5,7 +5,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v3.5</TargetFrameworkVersion>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildThisFileDirectory)..\</ProjectRoot>
- <DropsRoot>$(ProjectRoot)drops\$(Configuration)\</DropsRoot>
+ <DropsRoot>$(ProjectRoot)drops\$(TargetFrameworkVersion)\$(Configuration)\</DropsRoot>
<OutputPath>$(ProjectRoot)bin\$(TargetFrameworkVersion)\$(Configuration)\</OutputPath>
<DocOutputPath>$(ProjectRoot)doc\</DocOutputPath>
<IntermediatePath>$(ProjectRoot)obj\$(TargetFrameworkVersion)\$(Configuration)\</IntermediatePath>
diff --git a/vsi/vsi.proj b/vsi/vsi.proj
index f5eee7c..8dcf95b 100644
--- a/vsi/vsi.proj
+++ b/vsi/vsi.proj
@@ -1,10 +1,9 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildProjectDirectory)\..\tools\DotNetOpenAuth.automated.props"/>
+ <Import Project="..\projecttemplates\ProjectTemplates.props"/>
<PropertyGroup>
- <VS2008ProjectTemplatesDirectory>$(IntermediatePath)VS2008projecttemplates\</VS2008ProjectTemplatesDirectory>
<ProjectTemplatesVsiDirectory>$(IntermediatePath)vsi\</ProjectTemplatesVsiDirectory>
-
</PropertyGroup>
<ItemGroup>
@@ -12,12 +11,16 @@
<ProjectTemplates Include="$(ProjectRoot)projecttemplates\**\*.*proj" />
</ItemGroup>
- <Target Name="vsi" DependsOnTargets="ProjectTemplates2008">
+ <Target Name="Build">
+ <MSBuild Projects="..\projecttemplates\projecttemplates.proj" Targets="Zip2008" BuildInParallel="$(BuildInParallel)">
+ <Output TaskParameter="TargetOutputs" ItemName="ProjectTemplateZipSource"/>
+ </MSBuild>
+
<PropertyGroup>
<ProjectTemplatesVsi>$(DropDirectoryNoSlash).vsi</ProjectTemplatesVsi>
</PropertyGroup>
<ItemGroup>
- <VsiTransformSource Include="$(ProjectRoot)vsi\*.vscontent">
+ <VsiTransformSource Include="*.vscontent">
<BeforeTokens>$version$</BeforeTokens>
<AfterTokens>$(BuildVersion)</AfterTokens>
<SkipUnchangedFiles>false</SkipUnchangedFiles>
@@ -28,9 +31,15 @@
$(ProjectTemplatesVsiDirectory)*.zip;
@(VsiTransformLayout);
" />
+
+ <ProjectTemplateZipSource>
+ <HardLink>true</HardLink>
+ </ProjectTemplateZipSource>
+ <ProjectTemplateZipTargets Include="@(ProjectTemplateZipSource->'$(ProjectTemplatesVsiDirectory)%(FileName)%(Extension)')" />
</ItemGroup>
<CopyWithTokenSubstitution SourceFiles="@(VsiTransformSource)" DestinationFiles="@(VsiTransformLayout)" />
+ <HardLinkCopy SourceFiles="@(ProjectTemplateZipSource)" DestinationFiles="@(ProjectTemplateZipTargets)" />
<Zip
Files="@(ProjectTemplateVsiContents)"
@@ -40,9 +49,5 @@
/>
</Target>
- <Target Name="Build" DependsOnTargets="vsi">
-
- </Target>
-
<Import Project="$(ProjectRoot)tools\DotNetOpenAuth.automated.targets"/>
</Project> \ No newline at end of file
diff --git a/vsix/vsix.proj b/vsix/vsix.proj
index d7aa9ba..9a8eaa0 100644
--- a/vsix/vsix.proj
+++ b/vsix/vsix.proj
@@ -1,10 +1,10 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildProjectDirectory)\..\tools\DotNetOpenAuth.automated.props"/>
+ <Import Project="..\projecttemplates\ProjectTemplates.props"/>
<PropertyGroup>
- <VS2010ProjectTemplatesDirectory>$(IntermediatePath)VS2010projecttemplates\</VS2010ProjectTemplatesDirectory>
- <ProjectTemplateSubdirectory>$(ExtensionVsixLayoutDirectory)PT\CSharp\Web\</ProjectTemplateSubdirectory>
<ExtensionVsixLayoutDirectory>$(IntermediatePath)Vsix\</ExtensionVsixLayoutDirectory>
+ <ProjectTemplateSubdirectory>$(ExtensionVsixLayoutDirectory)PT\CSharp\Web\</ProjectTemplateSubdirectory>
</PropertyGroup>
<Target Name="VsixManifestLayout">
@@ -22,7 +22,9 @@
<CopyWithTokenSubstitution SourceFiles="@(ProjectTemplates2010TransformSource)" DestinationFiles="@(ProjectTemplates2010TransformLayout)" />
</Target>
- <Target Name="VsixLayout" DependsOnTargets="ProjectTemplates2010;VsixManifestLayout">
+ <Target Name="VsixLayout" DependsOnTargets="VsixManifestLayout">
+ <MSBuild Projects="..\projecttemplates\projecttemplates.proj" Targets="Zip" BuildInParallel="$(BuildInParallel)" />
+
<ItemGroup>
<ExtensionVsixSources Include="
$(ProjectRoot)vsix\*;