|
@@ -334,6 +334,43 @@ |
|
|
</Target>
|
|
|
</Target>
|
|
|
<Import Project="3rd\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('3rd\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
|
|
|
<Import Project="3rd\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('3rd\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
|
|
|
<Import Project="3rd\Fody.1.29.4\build\portable-net+sl+win+wpa+wp\Fody.targets" Condition="Exists('3rd\Fody.1.29.4\build\portable-net+sl+win+wpa+wp\Fody.targets')" />
|
|
|
<Import Project="3rd\Fody.1.29.4\build\portable-net+sl+win+wpa+wp\Fody.targets" Condition="Exists('3rd\Fody.1.29.4\build\portable-net+sl+win+wpa+wp\Fody.targets')" />
|
|
|
|
|
|
<UsingTask TaskName="CosturaCleanup" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" TaskFactory="CodeTaskFactory">
|
|
|
|
|
|
<ParameterGroup>
|
|
|
|
|
|
<Config Output="false" Required="true" ParameterType="Microsoft.Build.Framework.ITaskItem" />
|
|
|
|
|
|
<Files Output="false" Required="true" ParameterType="Microsoft.Build.Framework.ITaskItem[]" />
|
|
|
|
|
|
</ParameterGroup>
|
|
|
|
|
|
<Task Evaluate="true">
|
|
|
|
|
|
<Reference xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Include="System.Xml" /> |
|
|
|
|
|
<Reference xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Include="System.Xml.Linq" /> |
|
|
|
|
|
<Using xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Namespace="System" /> |
|
|
|
|
|
<Using xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Namespace="System.IO" /> |
|
|
|
|
|
<Using xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Namespace="System.Xml.Linq" /> |
|
|
|
|
|
<Code xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Type="Fragment" Language="cs"> |
|
|
|
|
|
<![CDATA[ |
|
|
|
|
|
var config = XElement.Load(Config.ItemSpec).Elements("Costura").FirstOrDefault(); |
|
|
|
|
|
|
|
|
|
|
|
if (config == null) return true; |
|
|
|
|
|
|
|
|
|
|
|
var excludedAssemblies = new List<string>(); |
|
|
|
|
|
var attribute = config.Attribute("ExcludeAssemblies"); |
|
|
|
|
|
if (attribute != null) |
|
|
|
|
|
foreach (var item in attribute.Value.Split('|').Select(x => x.Trim()).Where(x => x != string.Empty)) |
|
|
|
|
|
excludedAssemblies.Add(item); |
|
|
|
|
|
var element = config.Element("ExcludeAssemblies"); |
|
|
|
|
|
if (element != null) |
|
|
|
|
|
foreach (var item in element.Value.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => x != string.Empty)) |
|
|
|
|
|
excludedAssemblies.Add(item); |
|
|
|
|
|
|
|
|
|
|
|
var filesToCleanup = Files.Select(f => f.ItemSpec).Where(f => !excludedAssemblies.Contains(Path.GetFileNameWithoutExtension(f), StringComparer.InvariantCultureIgnoreCase)); |
|
|
|
|
|
|
|
|
|
|
|
foreach (var item in filesToCleanup) |
|
|
|
|
|
File.Delete(item); |
|
|
|
|
|
]]> |
|
|
|
|
|
</Code></Task>
|
|
|
|
|
|
</UsingTask>
|
|
|
|
|
|
<Target Name="CleanReferenceCopyLocalPaths" AfterTargets="AfterBuild;NonWinFodyTarget">
|
|
|
|
|
|
<CosturaCleanup Config="FodyWeavers.xml" Files="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
|
|
|
|
|
|
</Target>
|
|
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
|
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
|
|
Other similar extension points exist, see Microsoft.Common.targets.
|
|
|
Other similar extension points exist, see Microsoft.Common.targets.
|
|
|
<Target Name="BeforeBuild">
|
|
|
<Target Name="BeforeBuild">
|
|
|