diff --git a/msbuild/Xamarin.iOS.Tasks.Windows/Tasks/UnpackHotRestartFrameworks.cs b/msbuild/Xamarin.iOS.Tasks.Windows/Tasks/UnpackHotRestartFrameworks.cs deleted file mode 100644 index 35204c55e0..0000000000 --- a/msbuild/Xamarin.iOS.Tasks.Windows/Tasks/UnpackHotRestartFrameworks.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Microsoft.Build.Framework; -using Microsoft.Build.Utilities; -using Mono.Cecil; -using System.Collections.Generic; -using System.IO; -using System.IO.Compression; -using System.Linq; -using Xamarin.iOS.Tasks.Windows; - -namespace Xamarin.iOS.HotRestart.Tasks { - public class UnpackFrameworks : Task { - #region Inputs - - [Required] - public ITaskItem [] ReferencedAssemblies { get; set; } - - [Required] - public string IntermediateOutputPath { get; set; } - - #endregion - - #region Outputs - - [Output] - public ITaskItem [] Frameworks { get; set; } - - #endregion - - public override bool Execute () - { - var frameworks = new List (); - - Directory.CreateDirectory (Path.Combine (IntermediateOutputPath, "Frameworks")); - - foreach (var assemblyPath in ReferencedAssemblies.Distinct ().Where (x => !IsFrameworkItem (x))) { - var assembly = AssemblyDefinition.ReadAssembly (assemblyPath.ItemSpec); - // We should only get the embedded resources that ends with .framework - var embeddedFrameworks = assembly.MainModule.Resources.Where (x => Path.GetExtension (x.Name) == ".framework"); - - foreach (var resource in embeddedFrameworks) { - var embeddedFramework = resource as EmbeddedResource; - - if (embeddedFramework == null) - continue; - - var frameworkPath = Path.Combine (IntermediateOutputPath, "Frameworks", embeddedFramework.Name); - var frameworkZipPath = frameworkPath + ".zip"; - - // The frameworks are embedded as zip files - using (var fileStream = File.OpenWrite (frameworkZipPath)) { - embeddedFramework.GetResourceStream ().CopyTo (fileStream); - } - - Zip.Extract (frameworkZipPath, frameworkPath); - File.Delete (frameworkZipPath); - - frameworks.Add (new TaskItem (frameworkPath)); - } - } - - Frameworks = frameworks.ToArray (); - - return true; - } - - bool IsFrameworkItem (ITaskItem item) - { - return (bool.TryParse (item.GetMetadata ("FrameworkFile"), out var isFrameworkFile) && isFrameworkFile) || - item.GetMetadata ("ResolvedFrom") == "{TargetFrameworkDirectory}" || - item.GetMetadata ("ResolvedFrom") == "ImplicitlyExpandDesignTimeFacades"; - } - } -} diff --git a/msbuild/Xamarin.iOS.Tasks.Windows/Xamarin.iOS.HotRestart.targets b/msbuild/Xamarin.iOS.Tasks.Windows/Xamarin.iOS.HotRestart.targets index 4777d4037c..3472b14845 100644 --- a/msbuild/Xamarin.iOS.Tasks.Windows/Xamarin.iOS.HotRestart.targets +++ b/msbuild/Xamarin.iOS.Tasks.Windows/Xamarin.iOS.HotRestart.targets @@ -6,7 +6,6 @@ -