11<?xml version =" 1.0" encoding =" utf-8" ?>
22<Project DefaultTargets =" Default"
3- xmlns =' http://schemas.microsoft.com/developer/msbuild/2003' ToolsVersion =" 4.0" >
3+ xmlns =' http://schemas.microsoft.com/developer/msbuild/2003' ToolsVersion =" 4.0" >
44 <Import Project =" $(MSBuildProjectDirectory)/build.tasks" />
55
66 <PropertyGroup >
1313 <BuildSolutionDir >$(MSBuildProjectDirectory)/..</BuildSolutionDir >
1414 <SrcDir >$(BuildSolutionDir)/src</SrcDir >
1515 <Configuration Condition =" $(Configuration) == ''" >Release</Configuration >
16- <NuGetPath >$(BuildSolutionDir)/src/.nuget/nuget.exe</NuGetPath >
1716 <NuGetPackageDir >$(BuildSolutionDir)/NuGet/</NuGetPackageDir >
18- <Version >$(MajorVersion).$(MinorVersion).$(PatchVersion).0</Version >
1917 <PackageVersion >$(MajorVersion).$(MinorVersion).$(PatchVersion)</PackageVersion >
2018 </PropertyGroup >
2119
22- <ItemGroup >
23- <NugetPackageFilesToDelete Include =" $(NuGetPackageDir)/*.nupkg" />
24- </ItemGroup >
25-
2620 <PropertyGroup >
2721 <DoBuildSolutionsDependsOn >
2822 BeforeBuildSolutions;
2923 BuildSolutions
3024 </DoBuildSolutionsDependsOn >
3125 </PropertyGroup >
3226
33- <Target Name =" Default" DependsOnTargets =" $(DoBuildSolutionsDependsOn)" />
34-
35- <Target Name =" TeamCityBuild" >
36- <CallTarget Targets =" UpdateVersion" />
37- <CallTarget Targets =" Default" />
38- </Target >
39-
4027 <Target Name =" BeforeBuildSolutions" >
4128 <Message Text =" *****Before building solution*****" Importance =" high" />
4229 <CallTarget Targets =" UpdateVersion" />
4330 </Target >
4431
4532 <Target Name =" BuildSolutions" >
33+ <CallTarget Targets =" ClearNuGetRestoreCaches" />
34+ <MSBuild Projects =" $(BuildSolutionDir)/src/ServiceStack.Redis.sln" Targets =" Restore" />
4635 <MSBuild Projects =" $(BuildSolutionDir)/src/ServiceStack.Redis.sln" Targets =" Build"
47- Properties =" Configuration=$(Configuration)" />
36+ Properties =" Configuration=$(Configuration)" />
37+ </Target >
38+
39+ <!-- need to remove old caches from nuget restore from .Core csproj's -->
40+ <Target Name =" ClearNuGetRestoreCaches" >
41+ <RemoveDir Directories =" $(SrcDir)/ServiceStack.Redis/obj" />
4842 </Target >
4943
5044 <Target Name =" UpdateVersion" >
45+ <!-- Update Version -->
5146 <ItemGroup >
52- <RegexTransform Include =" $(SrcDir)/**/AssemblyInfo.cs" >
53- <Find >AssemblyFileVersion\(\"\d+\.\d+\.\d+\.\d+\"\)</Find >
54- <ReplaceWith >AssemblyFileVersion("$(Version)")</ReplaceWith >
55- </RegexTransform >
56- <!-- Update Min Dependency Version -->
57- <RegexTransform Include =" $(NuGetPackageDir)/**/*.nuspec" >
58- <Find >version="5\.[^"]*"</Find >
59- <ReplaceWith >version="$(PackageVersion)"</ReplaceWith >
47+ <RegexTransform Include =" $(BuildSolutionDir)/src/Directory.Build.props;$(BuildSolutionDir)/tests/Directory.Build.props" >
48+ <Find >< Version> [^< ]*</Find >
49+ <ReplaceWith >< Version> $(PackageVersion)</ReplaceWith >
6050 </RegexTransform >
6151 </ItemGroup >
6252
6353 <RegexTransform Items =" @(RegexTransform)" />
6454 </Target >
6555
66- <Target Name =" NuGetPack" >
67- <Delete Files =" @(NugetPackageFilesToDelete)" />
68-
69- <ItemGroup >
70- <RedisFiles Include =" $(SrcDir)/ServiceStack.Redis/bin/$(Configuration)/net45/ServiceStack.Redis.*" ></RedisFiles >
71- <RedisCoreFiles Include =" $(SrcDir)/ServiceStack.Redis/bin/$(Configuration)/netstandard2.0/ServiceStack.Redis.*" ></RedisCoreFiles >
72- </ItemGroup >
56+ <Target Name =" Default" DependsOnTargets =" $(DoBuildSolutionsDependsOn)" >
7357
58+ <!-- ServiceStack.Redis -->
7459 <MSBuild Projects =" $(BuildSolutionDir)/src/ServiceStack.Redis/ServiceStack.Redis.csproj"
75- Targets =" Build"
76- Properties =" Version=$(PackageVersion);Configuration=$(Configuration)" />
77-
78- <MakeDir Directories =" $(NuGetPackageDir)/ServiceStack.Redis/lib/net45" Condition =" !Exists('$(NuGetPackageDir)/ServiceStack.Redis/lib/net45')" />
79- <Copy SourceFiles =" %(RedisFiles.Identity)" DestinationFolder =" $(NuGetPackageDir)/ServiceStack.Redis/lib/net45" />
80-
81- <MakeDir Directories =" $(NuGetPackageDir)/ServiceStack.Redis/lib/netstandard2.0" Condition =" !Exists('$(NuGetPackageDir)/ServiceStack.Redis/lib/netstandard2.0')" />
82- <Copy SourceFiles =" %(RedisCoreFiles.Identity)" DestinationFolder =" $(NuGetPackageDir)/ServiceStack.Redis/lib/netstandard2.0" />
60+ Targets =" Build;Pack"
61+ Properties =" Configuration=$(Configuration)" />
8362
84- <Exec Command =" " $(NuGetPath)" pack " $(NuGetPackageDir)/ServiceStack.Redis/servicestack.redis.nuspec" -OutputDirectory " $(NuGetPackageDir)" -Version $(PackageVersion) -Symbols"
85- LogStandardErrorAsError =" true" />
8663
87- <!-- ServiceStack.Redis.Core -->
88-
89- <MakeDir Directories =" $(NuGetPackageDir)/ServiceStack.Redis.Core/lib/netstandard2.0" Condition =" !Exists('$(NuGetPackageDir)/ServiceStack.Redis.Core/lib/netstandard2.0')" />
90- <Copy SourceFiles =" %(RedisCoreFiles.Identity)" DestinationFolder =" $(NuGetPackageDir)/ServiceStack.Redis.Core/lib/netstandard2.0" />
64+ <!-- Copy all *.nupkg to /NuGet -->
65+ <ItemGroup >
66+ <NugetPackagesToMove Include =" $(BuildSolutionDir)/src/**/bin/$(Configuration)/*.nupkg" />
67+ </ItemGroup >
68+ <Move SourceFiles =" @(NugetPackagesToMove)" DestinationFolder =" $(NuGetPackageDir)" />
9169
92- <Exec Command = " " $(NuGetPath) " pack " $(NuGetPackageDir)/ServiceStack.Redis.Core/servicestack.redis.core.nuspec " -OutputDirectory " $(NuGetPackageDir) " -Version $(PackageVersion) -Symbols "
93- LogStandardErrorAsError = " true " />
70+ <!-- leave .sln in optimal state then NuGet restore .sln to build -->
71+ < CallTarget Targets = " ClearNuGetRestoreCaches " />
9472
9573 </Target >
9674</Project >
0 commit comments