diff options
-rw-r--r-- | projecttemplates/projecttemplates.proj | 7 | ||||
-rw-r--r-- | projecttemplates/projecttemplates.props | 8 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.props | 2 | ||||
-rw-r--r-- | vsi/vsi.proj | 21 | ||||
-rw-r--r-- | vsix/vsix.proj | 8 |
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\*; |