89
89
</ItemGroup >
90
90
<ItemGroup >
91
91
<Content Include =" GemAssets\.gitignore" />
92
- <EmbeddedResource Include =" ..\Packages\LibGit2Sharp.0.20.1.0\lib\net40\NativeBinaries\amd64\git2-91fa31f.dll" >
93
- <Link >costura64\git2-91fa31f.dll</Link >
94
- </EmbeddedResource >
95
- <EmbeddedResource Include =" ..\Packages\LibGit2Sharp.0.20.1.0\lib\net40\NativeBinaries\x86\git2-91fa31f.dll" >
96
- <Link >costura32\git2-91fa31f.dll</Link >
97
- </EmbeddedResource >
98
92
<Content Include =" FodyWeavers.xml" >
99
93
<SubType >Designer</SubType >
100
94
</Content >
108
102
<Import Project =" $(MSBuildToolsPath)\Microsoft.CSharp.targets" />
109
103
<Target Name =" Clean" >
110
104
<ItemGroup >
111
- <ExeFilesToDelete Include =" $(BuildDir)NuGetExeBuild\**\*.*;$(BuildDir)NuGetCommandLineBuild\**\*.*" />
105
+ <ExeFilesToDelete Include =" $(BuildDir)NuGetExeBuild\**\*.*;$(BuildDir)NuGetCommandLineBuild\**\*.*;$(BuildDir)GemBuild\**\*.* " />
112
106
</ItemGroup >
113
107
<Delete Files =" @(ExeFilesToDelete)" />
114
108
</Target >
132
126
]]> </Code >
133
127
</Task >
134
128
</UsingTask >
135
- <Target Name =" AfterBuild" DependsOnTargets =" Clean" >
129
+ <Target Name =" AfterBuild" DependsOnTargets =" Clean" Condition =" $(NCrunch)==''" >
130
+ <MakeDir Directories =" $(TargetDir)ILMergeTemp\" />
131
+ <Exec Command =" " $(SolutionDir)tools\ilmerge.exe" /allowDup /keyfile:" $(SolutionDir)key.snk" /out:" $(TargetDir)ILMergeTemp\$(TargetFileName)" " $(TargetPath)" " $(TargetDir)GitVersionCore.dll" " $(TargetDir)LibGit2Sharp.dll" " $(TargetDir)YamlDotNet.dll" /target:exe /targetplatform:" v4,$(FrameworkPathOverride)" /ndebug /internalize " />
132
+ <ItemGroup >
133
+ <TempFiles Include =" $(TargetDir)ILMergeTemp\*.*" />
134
+ </ItemGroup >
136
135
<!-- NugetExeBuild -->
137
136
<MakeDir Directories =" $(BuildDir)NuGetExeBuild" />
138
- <Copy SourceFiles =" $(OutputPath)\GitVersion.pdb" DestinationFolder =" $(BuildDir)NuGetExeBuild\tools" />
139
- <Copy SourceFiles =" $(OutputPath)\GitVersion.exe" DestinationFolder =" $(BuildDir)NuGetExeBuild\tools" />
137
+
138
+ <CreateItem Include =" $(TargetDir)NativeBinaries\amd64\*.dll" >
139
+ <Output TaskParameter =" Include" ItemName =" amd64" />
140
+ </CreateItem >
141
+ <CreateItem Include =" $(TargetDir)NativeBinaries\x86\*.dll" >
142
+ <Output TaskParameter =" Include" ItemName =" x86" />
143
+ </CreateItem >
144
+
145
+ <Copy SourceFiles =" @(amd64)" DestinationFolder =" $(BuildDir)NuGetExeBuild\tools\NativeBinaries\amd64" />
146
+ <Copy SourceFiles =" @(x86)" DestinationFolder =" $(BuildDir)NuGetExeBuild\tools\NativeBinaries\x86" />
147
+
148
+ <Copy SourceFiles =" $(OutputPath)GitVersion.pdb" DestinationFolder =" $(BuildDir)NuGetExeBuild\tools" />
149
+ <Copy SourceFiles =" $(OutputPath)ILMergeTemp\GitVersion.exe" DestinationFolder =" $(BuildDir)NuGetExeBuild\tools" />
140
150
<Copy SourceFiles =" $(ProjectDir)NugetAssets\chocolateyInstall.ps1" DestinationFolder =" $(BuildDir)NuGetExeBuild\tools" />
141
151
<Copy SourceFiles =" $(ProjectDir)NugetAssets\chocolateyUninstall.ps1" DestinationFolder =" $(BuildDir)NuGetExeBuild\tools" />
142
152
<Copy SourceFiles =" $(ProjectDir)NugetAssets\GitVersion.Portable.nuspec" DestinationFolder =" $(BuildDir)NuGetExeBuild" />
143
- <PepitaPackage .CreatePackageTask NuGetBuildDirectory =" $(BuildDir)NuGetExeBuild" MetadataAssembly =" $(OutputPath)GitVersion.exe" Version =" $(GitVersion_NuGetVersion)" />
153
+ <PepitaPackage .CreatePackageTask NuGetBuildDirectory =" $(BuildDir)NuGetExeBuild" MetadataAssembly =" $(OutputPath)ILMergeTemp\GitVersion.exe" Version =" $(GitVersion_NuGetVersion)" />
154
+
144
155
<!-- NugetCommandLineBuild -->
145
156
<MakeDir Directories =" $(BuildDir)NuGetCommandLineBuild" />
146
- <Copy SourceFiles =" $(OutputPath)\GitVersion.pdb" DestinationFolder =" $(BuildDir)NuGetCommandLineBuild\tools" />
147
- <Copy SourceFiles =" $(OutputPath)\GitVersion.exe" DestinationFolder =" $(BuildDir)NuGetCommandLineBuild\tools" />
157
+ <Copy SourceFiles =" @(amd64)" DestinationFolder =" $(BuildDir)NuGetCommandLineBuild\tools\NativeBinaries\amd64" />
158
+ <Copy SourceFiles =" @(x86)" DestinationFolder =" $(BuildDir)NuGetCommandLineBuild\tools\NativeBinaries\x86" />
159
+ <Copy SourceFiles =" $(OutputPath)GitVersion.pdb" DestinationFolder =" $(BuildDir)NuGetCommandLineBuild\tools" />
160
+ <Copy SourceFiles =" $(OutputPath)ILMergeTemp\GitVersion.exe" DestinationFolder =" $(BuildDir)NuGetCommandLineBuild\tools" />
148
161
<Copy SourceFiles =" $(ProjectDir)NugetAssets\GitVersion.CommandLine.nuspec" DestinationFolder =" $(BuildDir)NuGetCommandLineBuild" />
149
- <PepitaPackage .CreatePackageTask NuGetBuildDirectory =" $(BuildDir)NuGetCommandLineBuild" MetadataAssembly =" $(OutputPath)GitVersion.exe" Version =" $(GitVersion_NuGetVersion)" />
162
+ <PepitaPackage .CreatePackageTask NuGetBuildDirectory =" $(BuildDir)NuGetCommandLineBuild" MetadataAssembly =" $(OutputPath)ILMergeTemp\GitVersion.exe" Version =" $(GitVersion_NuGetVersion)" />
163
+
150
164
<!-- Gem -->
151
- <Copy SourceFiles =" $(OutputPath)\GitVersion.pdb" DestinationFolder =" $(BuildDir)GemBuild\bin" />
152
- <Copy SourceFiles =" $(OutputPath)\GitVersion.exe" DestinationFolder =" $(BuildDir)GemBuild\bin" />
165
+ <MakeDir Directories =" $(BuildDir)GemBuild" />
166
+ <Copy SourceFiles =" @(amd64)" DestinationFolder =" $(BuildDir)GemBuild\bin\NativeBinaries\amd64" />
167
+ <Copy SourceFiles =" @(x86)" DestinationFolder =" $(BuildDir)GemBuild\bin\NativeBinaries\x86" />
168
+ <Copy SourceFiles =" $(OutputPath)GitVersion.pdb" DestinationFolder =" $(BuildDir)GemBuild\bin" />
169
+ <Copy SourceFiles =" $(OutputPath)ILMergeTemp\GitVersion.exe" DestinationFolder =" $(BuildDir)GemBuild\bin" />
153
170
<ItemGroup >
154
171
<GemFiles Include =" $(ProjectDir)GemAssets\bin*\**\*.*" />
155
172
<GemFiles Include =" $(ProjectDir)GemAssets\lib*\**\*.*" />
166
183
</PropertyGroup >
167
184
<ReplaceFileText InputFilename =" $(BuildDir)GemBuild\gitversion.gemspec" OutputFilename =" $(BuildDir)GemBuild\gitversion.gemspec" MatchExpression =" \$version\$" ReplacementText =" $(GemVersion)" Condition =" '$(GitVersion_SemVer)' != ''" />
168
185
<Exec Command =" gem build gitversion.gemspec" ContinueOnError =" True" WorkingDirectory =" $(BuildDir)GemBuild" Condition =" '$(GitVersion_SemVer)' != ''" />
186
+
187
+ <RemoveDir Directories =" $(TargetDir)ILMergeTemp\" />
169
188
</Target >
170
189
<Target Name =" EnsureNuGetPackageBuildImports" BeforeTargets =" PrepareForBuild" >
171
190
<PropertyGroup >
175
194
<Error Condition =" !Exists('..\packages\LibGit2Sharp.0.20.1.0\build\net40\LibGit2Sharp.props')" Text =" $([System.String]::Format('$(ErrorText)', '..\packages\LibGit2Sharp.0.20.1.0\build\net40\LibGit2Sharp.props'))" />
176
195
<Error Condition =" !Exists('..\packages\Fody.1.29.2\build\portable-net+sl+win+wpa+wp\Fody.targets')" Text =" $([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.29.2\build\portable-net+sl+win+wpa+wp\Fody.targets'))" />
177
196
</Target >
178
- <UsingTask TaskName =" CosturaCleanup" AssemblyFile =" $(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" TaskFactory =" CodeTaskFactory" >
179
- <ParameterGroup >
180
- <Config Output =" false" Required =" true" ParameterType =" Microsoft.Build.Framework.ITaskItem" />
181
- <Files Output =" false" Required =" true" ParameterType =" Microsoft.Build.Framework.ITaskItem[]" />
182
- </ParameterGroup >
183
- <Task Evaluate =" true" >
184
- <Reference xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Include =" System.Xml" />
185
- <Reference xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Include =" System.Xml.Linq" />
186
- <Using xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Namespace =" System" />
187
- <Using xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Namespace =" System.IO" />
188
- <Using xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Namespace =" System.Xml.Linq" />
189
- <Code xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Type =" Fragment" Language =" cs" ><![CDATA[
190
- var config = XElement.Load(Config.ItemSpec).Elements("Costura").FirstOrDefault();
191
-
192
- if (config == null) return true;
193
-
194
- var excludedAssemblies = new List<string>();
195
- var attribute = config.Attribute("ExcludeAssemblies");
196
- if (attribute != null)
197
- foreach (var item in attribute.Value.Split('|').Select(x => x.Trim()).Where(x => x != string.Empty))
198
- excludedAssemblies.Add(item);
199
- var element = config.Element("ExcludeAssemblies");
200
- if (element != null)
201
- foreach (var item in element.Value.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => x != string.Empty))
202
- excludedAssemblies.Add(item);
203
-
204
- var filesToCleanup = Files.Select(f => f.ItemSpec).Where(f => !excludedAssemblies.Contains(Path.GetFileNameWithoutExtension(f), StringComparer.InvariantCultureIgnoreCase));
205
-
206
- foreach (var item in filesToCleanup)
207
- File.Delete(item);
208
- ]]> </Code >
209
- </Task >
210
- </UsingTask >
211
- <Target Name =" CleanReferenceCopyLocalPaths" AfterTargets =" AfterBuild;NonWinFodyTarget" >
212
- <CosturaCleanup Config =" FodyWeavers.xml" Files =" @(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
213
- </Target >
214
- <PropertyGroup >
215
- <PostBuildEvent >
216
- </PostBuildEvent >
217
- </PropertyGroup >
218
197
<Import Project =" ..\packages\PepitaPackage.1.21.4\build\PepitaPackage.targets" Condition =" Exists('..\packages\PepitaPackage.1.21.4\build\PepitaPackage.targets')" />
219
198
<Import Project =" ..\packages\Fody.1.29.2\build\portable-net+sl+win+wpa+wp\Fody.targets" Condition =" Exists('..\packages\Fody.1.29.2\build\portable-net+sl+win+wpa+wp\Fody.targets')" />
220
199
</Project >
0 commit comments