137
137
</None >
138
138
</ItemGroup >
139
139
<ItemGroup >
140
+ <EmbeddedResource Include =" ..\Packages\LibGit2Sharp.0.16.0.0\lib\net35\NativeBinaries\amd64\git2-65e9dc6.dll" >
141
+ <Link >costura64\git2-65e9dc6.dll</Link >
142
+ </EmbeddedResource >
143
+ <EmbeddedResource Include =" ..\Packages\LibGit2Sharp.0.16.0.0\lib\net35\NativeBinaries\amd64\git2-65e9dc6.pdb" >
144
+ <Link >costura64\git2-65e9dc6.pdb</Link >
145
+ </EmbeddedResource >
146
+ <EmbeddedResource Include =" ..\Packages\LibGit2Sharp.0.16.0.0\lib\net35\NativeBinaries\x86\git2-65e9dc6.dll" >
147
+ <Link >costura32\git2-65e9dc6.dll</Link >
148
+ </EmbeddedResource >
149
+ <EmbeddedResource Include =" ..\Packages\LibGit2Sharp.0.16.0.0\lib\net35\NativeBinaries\x86\git2-65e9dc6.pdb" >
150
+ <Link >costura32\git2-65e9dc6.pdb</Link >
151
+ </EmbeddedResource >
140
152
<Content Include =" FodyWeavers.xml" >
141
153
<SubType >Designer</SubType >
142
154
</Content >
157
169
<Target Name =" AfterBuild" DependsOnTargets =" Clean" >
158
170
<!-- NugetExeBuild -->
159
171
<MakeDir Directories =" $(SolutionDir)NuGetExeBuild" />
160
- <CreateItem Include =" $(SolutionDir)GitVersion\bin\$(ConfigurationName)\NativeBinaries\amd64\*.dll" >
161
- <Output TaskParameter =" Include" ItemName =" amd64" />
162
- </CreateItem >
163
- <Copy SourceFiles =" @(amd64)" DestinationFolder =" $(SolutionDir)NuGetExeBuild\Tools\NativeBinaries\amd64" />
164
- <CreateItem Include =" $(SolutionDir)GitVersion\bin\$(ConfigurationName)\NativeBinaries\x86\*.dll" >
165
- <Output TaskParameter =" Include" ItemName =" x86" />
166
- </CreateItem >
167
- <Copy SourceFiles =" @(x86)" DestinationFolder =" $(SolutionDir)NuGetExeBuild\Tools\NativeBinaries\x86" />
168
172
<Copy SourceFiles =" $(OutputPath)\GitVersion.pdb" DestinationFolder =" $(SolutionDir)NuGetExeBuild\Tools" />
169
173
<Copy SourceFiles =" $(OutputPath)\GitVersion.exe" DestinationFolder =" $(SolutionDir)NuGetExeBuild\Tools" />
170
- <Copy SourceFiles =" $(OutputPath)\LibGit2Sharp.dll" DestinationFolder =" $(SolutionDir)NuGetExeBuild\Tools" />
171
174
<Copy SourceFiles =" $(ProjectDir)NugetExeAssets\chocolateyInstall.ps1" DestinationFolder =" $(SolutionDir)NuGetExeBuild\Tools" />
172
175
<Copy SourceFiles =" $(ProjectDir)NugetExeAssets\chocolateyUninstall.ps1" DestinationFolder =" $(SolutionDir)NuGetExeBuild\Tools" />
173
176
<Copy SourceFiles =" $(ProjectDir)NugetExeAssets\GitVersion.nuspec" DestinationFolder =" $(SolutionDir)NuGetExeBuild" />
182
185
<!-- Gem -->
183
186
<MakeDir Directories =" $(SolutionDir)GemBuild" />
184
187
<MakeDir Directories =" $(SolutionDir)GemBuild\bin" />
185
- <CreateItem Include =" $(SolutionDir)GitVersion\bin\$(ConfigurationName)\NativeBinaries\amd64\*.dll" >
186
- <Output TaskParameter =" Include" ItemName =" amd64" />
187
- </CreateItem >
188
- <Copy SourceFiles =" @(amd64)" DestinationFolder =" $(SolutionDir)GemBuild\bin\NativeBinaries\amd64" />
189
- <CreateItem Include =" $(SolutionDir)GitVersion\bin\$(ConfigurationName)\NativeBinaries\x86\*.dll" >
190
- <Output TaskParameter =" Include" ItemName =" x86" />
191
- </CreateItem >
192
- <Copy SourceFiles =" @(x86)" DestinationFolder =" $(SolutionDir)GemBuild\bin\NativeBinaries\x86" />
193
188
<Copy SourceFiles =" $(OutputPath)\GitVersion.pdb" DestinationFolder =" $(SolutionDir)GemBuild\bin" />
194
189
<Copy SourceFiles =" $(OutputPath)\GitVersion.exe" DestinationFolder =" $(SolutionDir)GemBuild\bin" />
195
- <Copy SourceFiles =" $(OutputPath)\LibGit2Sharp.dll" DestinationFolder =" $(SolutionDir)GemBuild\bin" />
196
190
<Copy SourceFiles =" $(ProjectDir)GemAssets\gitversion" DestinationFolder =" $(SolutionDir)GemBuild\bin" />
197
191
<Copy SourceFiles =" $(ProjectDir)GemAssets\gitversion.gemspec" DestinationFolder =" $(SolutionDir)GemBuild" />
198
192
</Target >
199
- <PropertyGroup >
200
- <PostBuildEvent >
201
- if not exist "$(TargetDir)NativeBinaries" md "$(TargetDir)NativeBinaries"
202
- if not exist "$(TargetDir)NativeBinaries\x86" md "$(TargetDir)NativeBinaries\x86"
203
- xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.16.0.0\lib\net35\NativeBinaries\x86\*.*" "$(TargetDir)NativeBinaries\x86"
204
- if not exist "$(TargetDir)NativeBinaries\amd64" md "$(TargetDir)NativeBinaries\amd64"
205
- xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.16.0.0\lib\net35\NativeBinaries\amd64\*.*" "$(TargetDir)NativeBinaries\amd64"</PostBuildEvent >
206
- </PropertyGroup >
207
193
<Import Project =" ..\packages\Fody.1.22.1\build\Fody.targets" Condition =" Exists('..\packages\Fody.1.22.1\build\Fody.targets')" />
208
194
<Target Name =" EnsureNuGetPackageBuildImports" BeforeTargets =" PrepareForBuild" >
209
195
<PropertyGroup >
210
196
<ErrorText >This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText >
211
197
</PropertyGroup >
212
198
<Error Condition =" !Exists('..\packages\Fody.1.22.1\build\Fody.targets')" Text =" $([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.22.1\build\Fody.targets'))" />
213
199
</Target >
200
+ <UsingTask TaskName =" CosturaCleanup" AssemblyFile =" $(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" TaskFactory =" CodeTaskFactory" >
201
+ <ParameterGroup >
202
+ <Config Output =" false" Required =" true" ParameterType =" Microsoft.Build.Framework.ITaskItem" />
203
+ <Files Output =" false" Required =" true" ParameterType =" Microsoft.Build.Framework.ITaskItem[]" />
204
+ </ParameterGroup >
205
+ <Task Evaluate =" true" >
206
+ <Reference xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Include =" System.Xml" />
207
+ <Reference xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Include =" System.Xml.Linq" />
208
+ <Using xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Namespace =" System" />
209
+ <Using xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Namespace =" System.IO" />
210
+ <Using xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Namespace =" System.Xml.Linq" />
211
+ <Code xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" Type =" Fragment" Language =" cs" ><![CDATA[
212
+ var config = XElement.Load(Config.ItemSpec).Elements("Costura").FirstOrDefault();
213
+
214
+ if (config == null) return true;
215
+
216
+ var excludedAssemblies = new List<string>();
217
+ var attribute = config.Attribute("ExcludeAssemblies");
218
+ if (attribute != null)
219
+ foreach (var item in attribute.Value.Split('|').Select(x => x.Trim()).Where(x => x != string.Empty))
220
+ excludedAssemblies.Add(item);
221
+ var element = config.Element("ExcludeAssemblies");
222
+ if (element != null)
223
+ foreach (var item in element.Value.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => x != string.Empty))
224
+ excludedAssemblies.Add(item);
225
+
226
+ var filesToCleanup = Files.Select(f => f.ItemSpec).Where(f => !excludedAssemblies.Contains(Path.GetFileNameWithoutExtension(f), StringComparer.InvariantCultureIgnoreCase));
227
+
228
+ foreach (var item in filesToCleanup)
229
+ File.Delete(item);
230
+ ]]> </Code >
231
+ </Task >
232
+ </UsingTask >
233
+ <Target Name =" CleanReferenceCopyLocalPaths" AfterTargets =" AfterBuild;NonWinFodyTarget" >
234
+ <CosturaCleanup Config =" FodyWeavers.xml" Files =" @(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
235
+ </Target >
214
236
</Project >
0 commit comments