forked from couchbase/EnyimMemcached
/
build-release.msbuild
79 lines (69 loc) · 3.72 KB
/
build-release.msbuild
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
<UsingTask TaskName="GetFileVersion" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<AssemblyPath ParameterType="System.String" Required="true" />
<FileVersion ParameterType="System.String" Output="true" />
</ParameterGroup>
<Task>
<Using Namespace="System.Reflection" />
<Code Type="Fragment" Language="cs">
<![CDATA[
var a = Assembly.LoadFrom(AssemblyPath);
var afv = Attribute.GetCustomAttribute(a, typeof(AssemblyFileVersionAttribute)) as AssemblyFileVersionAttribute;
FileVersion = afv == null ? "NULL" : afv.Version;
]]>
</Code>
</Task>
</UsingTask>
<Target Name="BeforeBuild">
<RemoveDir Directories="Enyim.Caching\bin;Enyim.Caching\obj;NorthScale.Store\bin;NorthScale.Store\obj" ContinueOnError="true" />
</Target>
<Target Name="Compile" DependsOnTargets="BeforeBuild">
<MSBuild Projects="Enyim.Caching\Enyim.Caching.csproj" Targets="Rebuild" Properties="Configuration=Release;DefineConstants=SIGN=true" />
<MSBuild Projects="NorthScale.Store\NorthScale.Store.csproj" Targets="Rebuild" Properties="Configuration=Release;" />
</Target>
<Target Name="PrepareFiles">
<Move SourceFiles="Enyim.Caching\bin\Release\Enyim.Caching.dll.config" DestinationFiles="Enyim.Caching\bin\Release\Demo.config" />
<Move SourceFiles="NorthScale.Store\bin\Release\NorthScale.Store.dll.config" DestinationFiles="NorthScale.Store\bin\Release\Demo.config" />
<Copy SourceFiles="LICENSE" DestinationFolder="Enyim.Caching\bin\Release\" />
<Copy SourceFiles="LICENSE" DestinationFolder="NorthScale.Store\bin\Release\" />
</Target>
<Target Name="Pack">
<GetFileVersion AssemblyPath="Enyim.Caching\bin\Release\Enyim.Caching.dll">
<Output TaskParameter="FileVersion" PropertyName="EnyimCachingVersion" />
</GetFileVersion>
<GetFileVersion AssemblyPath="NorthScale.Store\bin\Release\NorthScale.Store.dll">
<Output TaskParameter="FileVersion" PropertyName="NorthScaleStoreVersion" />
</GetFileVersion>
<CreateItem Include="Enyim.Caching\bin\Release\**\*.*">
<Output ItemName="EnyimItems" TaskParameter="Include" />
</CreateItem>
<CreateItem Include="NorthScale.Store\bin\Release\**\*.*">
<Output ItemName="NorthScaleItems" TaskParameter="Include" />
</CreateItem>
<Zip Files="@(EnyimItems)" ZipFileName="Enyim.Caching.$([System.Text.RegularExpressions.Regex]::Replace($(EnyimCachingVersion), `^([^0-9]+)`, ``)).zip" ZipLevel="9" Flatten="true" />
<Zip Files="@(NorthScaleItems)" ZipFileName="NorthScale.Store.$([System.Text.RegularExpressions.Regex]::Replace($(NorthScaleStoreVersion), `^([^0-9]+)`, ``)).zip" ZipLevel="9" Flatten="true" />
</Target>
<Target Name="Build" DependsOnTargets="Compile;PrepareFiles;Pack">
</Target>
</Project>
<!--
/* ************************************************************
*
* Copyright (c) 2010 Attila Kiskó, enyim.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* ************************************************************/
-->