-
Notifications
You must be signed in to change notification settings - Fork 1
/
Directory.Build.props
129 lines (112 loc) · 9.8 KB
/
Directory.Build.props
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<Project>
<PropertyGroup>
<Authors>Michael W. Powell</Authors>
<Company>Ellumination Technologies</Company>
<Product>Ellumination.OrTools</Product>
<Copyright>Copyright © 2015-2020</Copyright>
<!--<Copyright>Copyright (c) 2015-2019</Copyright>-->
<LangVersion>7.3</LangVersion>
<NoWarn>$(NoWarn);NU1603</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Platform)' == 'AnyCPU'">
<WarningLevel>2</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<PackageProjectUrl>http://github.com/mwpowellhtx/Ellumination.OrTools</PackageProjectUrl>
</PropertyGroup>
<PropertyGroup>
<RootNamespace>Ellumination.OrTools</RootNamespace>
<BumpAssemblyVersionsVersion>1.7.0</BumpAssemblyVersionsVersion>
</PropertyGroup>
<PropertyGroup>
<!-- We can probably most likely track the Google version numbers according to
their Major.Minor only and not worry about the Build or Patch numbers themselves.
Additionally, except in places where we must adopt the Protobuf dependency
directly, we could otherwise leave that out as well, as this depedency tracks
seamlessly with the OrTools, or its runtime surrogate, dependencies. -->
<!-- TODO: TBD: v3.13.0 / https://www.nuget.org/packages/Google.Protobuf/3.13.0 -->
<!-- TODO: TBD: v3.14.0 / https://www.nuget.org/packages/Google.Protobuf/3.14.0 -->
<GoogleProtobufVersions>[3.11.2,4)</GoogleProtobufVersions>
<GoogleProtobufVersion>3.11.2</GoogleProtobufVersion>
<!-- Well, I thought we could get away with the Major.Minor here, but we do need
to know the full version in order to know the precise path of the Protocol Buffer
specification files in which to embed. The danger here is that this is a Greater
Than Or Equal To (>=), right? So we may need to be more precise in our dependencies,
but we will start here, and cross future bridges should they arise when they arise. -->
<GoogleOrToolsDependency>Google.OrTools</GoogleOrToolsDependency>
<!-- TODO: TBD: v8.0.8283 / https://www.nuget.org/packages/Google.OrTools/8.0.8283 -->
<!-- TODO: TBD: v8.1.8487 / https://www.nuget.org/packages/Google.OrTools/8.1.8487 -->
<GoogleOrToolsVersions>[7.5,8)</GoogleOrToolsVersions>
<GoogleOrToolsVersion>7.5.7466</GoogleOrToolsVersion>
</PropertyGroup>
<PropertyGroup>
<MicrosoftBuildVersions>[15.9.20,16)</MicrosoftBuildVersions>
<MicrosoftBuildVersion>15.9.20</MicrosoftBuildVersion>
<MicrosoftCodeAnalysisVersions>[2.10.0,3)</MicrosoftCodeAnalysisVersions>
<MicrosoftCodeAnalysisVersion>2.10.0</MicrosoftCodeAnalysisVersion>
<MicrosoftCodeAnalysisCSharpVersions>[2.10.0,3)</MicrosoftCodeAnalysisCSharpVersions>
<MicrosoftCodeAnalysisCSharpVersion>2.10.0</MicrosoftCodeAnalysisCSharpVersion>
</PropertyGroup>
<PropertyGroup>
<ValidationVersions>[2.4.22,3)</ValidationVersions>
<ValidationVersion>2.4.22</ValidationVersion>
</PropertyGroup>
<ImportGroup>
<!-- Pathing is always relative to the $(ProjectDir). -->
<Import Project="Licensing.props" />
</ImportGroup>
<ItemGroup>
<PackageReference Include="BumpAssemblyVersions" Version="$(BumpAssemblyVersionsVersion)">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
<!-- ReSharper disable UnknownProperty -->
<ItemGroup Condition="'$(ReleaseVersionStrategy)' == '' And Exists('..\packages\BumpAssemblyVersions\$(BumpAssemblyVersionsVersion)\build\BumpAssemblyVersions.targets')">
<BumpVersionSpec Include="Version" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="AssemblyVersion" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="FileVersion" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="PackageVersion" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Release'" />
</ItemGroup>
<ItemGroup Condition="'$(ReleaseVersionStrategy)' == 'patch' And Exists('..\packages\BumpAssemblyVersions\$(BumpAssemblyVersionsVersion)\build\BumpAssemblyVersions.targets')">
<BumpVersionSpec Include="Version" PatchProviderTemplate="Increment" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="AssemblyVersion" PatchProviderTemplate="Increment" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="FileVersion" PatchProviderTemplate="Increment" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="PackageVersion" PatchProviderTemplate="Increment" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Release'" />
</ItemGroup>
<ItemGroup Condition="'$(ReleaseVersionStrategy)' == 'minor' And Exists('..\packages\BumpAssemblyVersions\$(BumpAssemblyVersionsVersion)\build\BumpAssemblyVersions.targets')">
<BumpVersionSpec Include="Version" MinorProviderTemplate="Increment" PatchProviderTemplate="Increment" PatchProviderTemplateMayReset="true" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="AssemblyVersion" MinorProviderTemplate="Increment" PatchProviderTemplate="Increment" PatchProviderTemplateMayReset="true" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="FileVersion" MinorProviderTemplate="Increment" PatchProviderTemplate="Increment" PatchProviderTemplateMayReset="true" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Release'" />
<BumpVersionSpec Include="PackageVersion" MinorProviderTemplate="Increment" PatchProviderTemplate="Increment" PatchProviderTemplateMayReset="true" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Release'" />
</ItemGroup>
<!-- We want a consistent Debug Configuration versioning strategy.
See individual Solution Directory Build properties for Release Configuration strategies. -->
<ItemGroup Condition="'$(DebugVersionStrategy)' == '' And Exists('..\packages\BumpAssemblyVersions\$(BumpAssemblyVersionsVersion)\build\BumpAssemblyVersions.targets')">
<BumpVersionSpec Include="Version" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="AssemblyVersion" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="FileVersion" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="PackageVersion" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>
<ItemGroup Condition="'$(DebugVersionStrategy)' == 'patch' And Exists('..\packages\BumpAssemblyVersions\$(BumpAssemblyVersionsVersion)\build\BumpAssemblyVersions.targets')">
<BumpVersionSpec Include="Version" PatchProviderTemplate="Increment" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="AssemblyVersion" PatchProviderTemplate="Increment" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="FileVersion" PatchProviderTemplate="Increment" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="PackageVersion" PatchProviderTemplate="Increment" BuildProviderTemplate="SecondsSinceMidnight" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>
<ItemGroup Condition="'$(DebugVersionStrategy)' == 'minor' And Exists('..\packages\BumpAssemblyVersions\$(BumpAssemblyVersionsVersion)\build\BumpAssemblyVersions.targets')">
<BumpVersionSpec Include="Version" MinorProviderTemplate="Increment" PatchProviderTemplate="Increment" PatchProviderTemplateMayReset="true" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="AssemblyVersion" MinorProviderTemplate="Increment" PatchProviderTemplate="Increment" PatchProviderTemplateMayReset="true" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="FileVersion" MinorProviderTemplate="Increment" PatchProviderTemplate="Increment" PatchProviderTemplateMayReset="true" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Debug'" />
<BumpVersionSpec Include="PackageVersion" MinorProviderTemplate="Increment" PatchProviderTemplate="Increment" PatchProviderTemplateMayReset="true" BuildProviderTemplate="Increment" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>
<!-- ReSharper restore UnknownProperty -->
<!-- ReSharper disable UnknownProperty -->
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<!-- Depending on 'PackageOutputPath' is still the right thing to do, as is 'PackageId'.
Where we run into difficulty is when we try to deliver into a single location, especially
for similarly named packages. -->
<Exec Command="if exist "$(PackageOutputPath)$(PackageId).*.nupkg" del /f "$(PackageOutputPath)$(PackageId).*.nupkg"" />
</Target>
<!-- ReSharper restore UnknownProperty -->
</Project>