summaryrefslogtreecommitdiffstats
path: root/nuget/nuget.proj
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2012-01-29 14:32:45 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2012-01-29 14:32:45 -0800
commit5fec515095ee10b522f414a03e78f282aaf520dc (patch)
tree204c75486639c23cdda2ef38b34d7e5050a1a2e3 /nuget/nuget.proj
parentf1a4155398635a4fd9f485eec817152627682704 (diff)
parent8f4165ee515728aca3faaa26e8354a40612e85e4 (diff)
downloadDotNetOpenAuth-5fec515095ee10b522f414a03e78f282aaf520dc.zip
DotNetOpenAuth-5fec515095ee10b522f414a03e78f282aaf520dc.tar.gz
DotNetOpenAuth-5fec515095ee10b522f414a03e78f282aaf520dc.tar.bz2
Merge branch 'splitDlls'.
DNOA now builds and (in some cases) ships as many distinct assemblies.
Diffstat (limited to 'nuget/nuget.proj')
-rw-r--r--nuget/nuget.proj88
1 files changed, 44 insertions, 44 deletions
diff --git a/nuget/nuget.proj b/nuget/nuget.proj
index f8b8e93..efa8845 100644
--- a/nuget/nuget.proj
+++ b/nuget/nuget.proj
@@ -3,60 +3,60 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " />
<Import Project="$(MSBuildProjectDirectory)\..\tools\DotNetOpenAuth.automated.props"/>
- <Target Name="Layout" DependsOnTargets="BuildUnifiedProduct;ReSignDelaySignedAssemblies">
- <PropertyGroup>
- <NuGetLayoutPath>$(DropsRoot)NuGet\$(BuildVersion)\</NuGetLayoutPath>
- </PropertyGroup>
+ <Target Name="BuildIntermediates">
+ <ItemGroup>
+ <ProductTargets Include="BuildUnifiedProduct;ReSignDelaySignedAssemblies" Condition=" '$(SkipNugetDependenciesBuild)' != 'true' " />
+ <ProductTargets Include="GetOutputPath" />
+ </ItemGroup>
- <MSBuild Projects="$(ProjectRoot)src\DotNetOpenAuth\DotNetOpenAuth.csproj" Targets="DocumentationProjectOutputGroup" BuildInParallel="$(BuildInParallel)">
- <Output TaskParameter="TargetOutputs" ItemName="NuGetSource"/>
+ <!-- We build the entire unified, signed product targeting both CLRs, since NuGet supports packages that contain both,
+ and by building against CLR 4, several assembly references fall away from dotnetopenauth.dll, which makes some folks happy. -->
+ <MSBuild
+ Projects="$(ProjectRoot)src\DotNetOpenAuth\DotNetOpenAuth.proj"
+ Targets="@(ProductTargets)"
+ Properties="TargetFrameworkVersion=v3.5"
+ BuildInParallel="$(BuildInParallel)">
+ <Output TaskParameter="TargetOutputs" ItemName="TargetOutputs35"/>
+ </MSBuild>
+ <MSBuild
+ Projects="$(ProjectRoot)src\DotNetOpenAuth\DotNetOpenAuth.proj"
+ Targets="@(ProductTargets)"
+ Properties="TargetFrameworkVersion=v4.0"
+ BuildInParallel="$(BuildInParallel)">
+ <Output TaskParameter="TargetOutputs" ItemName="TargetOutputs40"/>
</MSBuild>
- <!-- IMPORTANT: These must appear as separate ItemGroups or else batching screws it up. -->
<ItemGroup>
- <NuGetSource Include="%(ResignedAssembliesOutputs.Identity)" Condition=" '%(FileName)%(Extension)' == 'DotNetOpenAuth.dll' "/>
- <NuGetSource>
- <TargetPath>$(NuGetLayoutPath)lib\%(FileName)%(Extension)</TargetPath>
- </NuGetSource>
+ <ResignedAssembliesOutputs Include="@(TargetOutputs35)" Condition=" '%(MSBuildSourceTargetName)' == 'Sign' ">
+ <TargetFramework>v3.5</TargetFramework>
+ </ResignedAssembliesOutputs>
+ <ResignedAssembliesOutputs Include="@(TargetOutputs40)" Condition=" '%(MSBuildSourceTargetName)' == 'Sign' ">
+ <TargetFramework>v4.0</TargetFramework>
+ </ResignedAssembliesOutputs>
</ItemGroup>
- <ItemGroup>
- <NuGetContentSource Include="$(ProjectRoot)NuGet\content\**"/>
- </ItemGroup>
- <ItemGroup>
- <NuGetSource Include="@(NuGetContentSource)">
- <TargetPath>$(NuGetLayoutPath)content\%(RecursiveDir)%(FileName)%(Extension)</TargetPath>
- </NuGetSource>
-
- <NuSpecSource Include="DotNetOpenAuth.nuspec">
- <LayoutPath>$(NuGetLayoutPath)</LayoutPath>
- <BeforeTokens>$version$</BeforeTokens>
- <AfterTokens>$(BuildVersion)</AfterTokens>
- </NuSpecSource>
+ <PropertyGroup>
+ <OutputPath35 Condition=" '%(MSBuildSourceTargetName)' == 'GetOutputPath' ">@(TargetOutputs35)</OutputPath35>
+ <OutputPath40 Condition=" '%(MSBuildSourceTargetName)' == 'GetOutputPath' ">@(TargetOutputs40)</OutputPath40>
+ </PropertyGroup>
+ </Target>
- <NuSpecTarget Include="@(NuSpecSource->'$(NuGetLayoutPath)%(FileName)%(Extension)')" />
- </ItemGroup>
+ <Target Name="Build" DependsOnTargets="BuildIntermediates">
<ItemGroup>
- <NuGetContentsTarget Include="%(NuGetSource.TargetPath)" />
- </ItemGroup>
+ <NuGetPackages Include="*.nuspec" Exclude="DotNetOpenAuth.Ultimate.nuspec">
+ <Symbols>true</Symbols>
+ </NuGetPackages>
+ <NuGetPackages Include="DotNetOpenAuth.Ultimate.nuspec" />
- <CopyWithTokenSubstitution
- SourceFiles="@(NuSpecSource)"
- DestinationFiles="@(NuSpecTarget)"
- />
-
- <Copy
- SourceFiles="@(NuGetSource)"
- DestinationFiles="@(NuGetContentsTarget)"
- SkipUnchangedFiles="true" />
-
- <Purge Directories="$(NuGetLayoutPath)" IntendedFiles="@(NuGetContentsTarget);@(NuSpecTarget)" />
- </Target>
-
- <Target Name="Build" DependsOnTargets="Layout">
+ <NuGetProperties Include="version=$(NuGetPackageVersion)" />
+ <NuGetProperties Include="oauth2version=0.11.0-draft" />
+ <NuGetProperties Include="OutputPath35=$(OutputPath35)" />
+ <NuGetProperties Include="OutputPath40=$(OutputPath40)" />
+ </ItemGroup>
<NuGetPack
- NuSpec="%(NuSpecTarget.Identity)"
- BaseDirectory="%(NuSpecTarget.LayoutPath)"
+ NuSpec="%(NuGetPackages.Identity)"
OutputPackageDirectory="$(DropsRoot)"
+ Properties="@(NuGetProperties)"
+ Symbols="%(NuGetPackages.Symbols)"
ToolPath="$(NuGetToolPath)" />
</Target>