diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/GetFilesThatExist.cs b/src/Xamarin.Android.Build.Tasks/Tasks/GetFilesThatExist.cs index 285e310365a..f72c89d9c3d 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/GetFilesThatExist.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/GetFilesThatExist.cs @@ -15,6 +15,8 @@ public class GetFilesThatExist : Task [Required] public ITaskItem[] Files { get; set; } + public ITaskItem [] IgnoreFiles { get; set; } + [Output] public ITaskItem[] FilesThatExist { get; set; } @@ -22,8 +24,10 @@ public override bool Execute () { Log.LogDebugMessage ("GetFilesThatExist Task"); Log.LogDebugTaskItems (" Files", Files); + Log.LogDebugTaskItems (" IgnoreFiles", IgnoreFiles); - FilesThatExist = Files.Where (p => File.Exists (p.ItemSpec)).ToArray (); + FilesThatExist = Files.Where (p => File.Exists (p.ItemSpec) && + (!IgnoreFiles?.Contains (p, TaskItemComparer.DefaultComparer) ?? true)).ToArray (); Log.LogDebugTaskItems (" [Output] FilesThatExist", FilesThatExist); diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index ec97461dc94..1c4d1b1d1ac 100755 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -1497,9 +1497,12 @@ because xbuild doesn't support framework reference assemblies. + Outputs="@(ResolvedAssemblies->'%(RootDir)%(Directory)%(Filename)%(Extension).mdb')" + DependsOnTargets="_CollectPdbFiles"> + Files="@(ResolvedAssemblies->'%(RootDir)%(Directory)%(Filename)%(Extension).mdb')" + IgnoreFiles="@(_ResolvedPortablePdbFiles->'%(RootDir)%(Directory)%(Filename).dll.mdb')" + >