diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2017-05-16 19:07:31 +0200 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2017-05-16 10:08:06 -0700 |
commit | bb632ea0666d22f23c6f48264800ddf32aeaf25f (patch) | |
tree | ad213de682a16fd8070362b06af85311327f62cd /Xamarin.Forms.Build.Tasks | |
parent | 2340fc4feae74dd08547187c3ccdd4cb9976826a (diff) | |
download | xamarin-forms-bb632ea0666d22f23c6f48264800ddf32aeaf25f.tar.gz xamarin-forms-bb632ea0666d22f23c6f48264800ddf32aeaf25f.tar.bz2 xamarin-forms-bb632ea0666d22f23c6f48264800ddf32aeaf25f.zip |
[XamlC] process symbols if DebugType is set (#925)
Diffstat (limited to 'Xamarin.Forms.Build.Tasks')
-rw-r--r-- | Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs | 7 | ||||
-rw-r--r-- | Xamarin.Forms.Build.Tasks/XamlCTask.cs | 18 | ||||
-rw-r--r-- | Xamarin.Forms.Build.Tasks/XamlTask.cs | 1 |
3 files changed, 15 insertions, 11 deletions
diff --git a/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs b/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs index 5544b7ef..dd50dc1e 100644 --- a/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs +++ b/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs @@ -43,9 +43,12 @@ namespace Xamarin.Forms.Build.Tasks // resolver.AddAssembly (p); } } + + var debug = DebugSymbols || (!string.IsNullOrEmpty(DebugType) && DebugType.ToLowerInvariant() != "none"); + using (var assemblyDefinition = AssemblyDefinition.ReadAssembly(Assembly, new ReaderParameters { ReadWrite = true, - ReadSymbols = DebugSymbols, + ReadSymbols = debug, AssemblyResolver = resolver })) { foreach (var module in assemblyDefinition.Modules) { @@ -147,7 +150,7 @@ namespace Xamarin.Forms.Build.Tasks } Logger.LogString(1, "Writing the assembly... "); assemblyDefinition.Write(new WriterParameters { - WriteSymbols = DebugSymbols + WriteSymbols = debug }); } Logger.LogLine(1, "done."); diff --git a/Xamarin.Forms.Build.Tasks/XamlCTask.cs b/Xamarin.Forms.Build.Tasks/XamlCTask.cs index f72c6558..56c12887 100644 --- a/Xamarin.Forms.Build.Tasks/XamlCTask.cs +++ b/Xamarin.Forms.Build.Tasks/XamlCTask.cs @@ -16,12 +16,8 @@ namespace Xamarin.Forms.Build.Tasks public bool KeepXamlResources { get; set; } public bool OptimizeIL { get; set; } - bool outputGeneratedILAsCode; [Obsolete("OutputGeneratedILAsCode is obsolete as of version 2.3.4. This option is no longer available.")] - public bool OutputGeneratedILAsCode { - get { return outputGeneratedILAsCode; } - set { outputGeneratedILAsCode = value; } - } + public bool OutputGeneratedILAsCode { get; set; } internal string Type { get; set; } internal MethodDefinition InitCompForType { get; private set; } @@ -38,6 +34,7 @@ namespace Xamarin.Forms.Build.Tasks if (!string.IsNullOrEmpty(ReferencePath)) Logger.LogLine(1, "ReferencePath: \t{0}", ReferencePath.Replace("//", "/")); Logger.LogLine(3, "DebugSymbols:\"{0}\"", DebugSymbols); + Logger.LogLine(3, "DebugType:\"{0}\"", DebugType); var skipassembly = true; //change this to false to enable XamlC by default bool success = true; @@ -68,10 +65,12 @@ namespace Xamarin.Forms.Build.Tasks } } + var debug = DebugSymbols || (!string.IsNullOrEmpty(DebugType) && DebugType.ToLowerInvariant() != "none"); + var readerParameters = new ReaderParameters { AssemblyResolver = resolver, ReadWrite = !ReadOnly, - ReadSymbols = DebugSymbols, + ReadSymbols = debug, }; using (var assemblyDefinition = AssemblyDefinition.ReadAssembly(Path.GetFullPath(Assembly),readerParameters)) { @@ -199,9 +198,10 @@ namespace Xamarin.Forms.Build.Tasks Logger.LogLine(2, ""); - if (outputGeneratedILAsCode) +#pragma warning disable 0618 + if (OutputGeneratedILAsCode) Logger.LogLine(2, " Decompiling option has been removed. Use a 3rd party decompiler to admire the beauty of the IL generated"); - +#pragma warning restore 0618 resourcesToPrune.Add(resource); } if (!KeepXamlResources) { @@ -228,7 +228,7 @@ namespace Xamarin.Forms.Build.Tasks Logger.LogString(1, "Writing the assembly... "); try { assemblyDefinition.Write(new WriterParameters { - WriteSymbols = DebugSymbols, + WriteSymbols = debug, }); Logger.LogLine(1, "done."); } catch (Exception e) { diff --git a/Xamarin.Forms.Build.Tasks/XamlTask.cs b/Xamarin.Forms.Build.Tasks/XamlTask.cs index 0e00f239..10b19a47 100644 --- a/Xamarin.Forms.Build.Tasks/XamlTask.cs +++ b/Xamarin.Forms.Build.Tasks/XamlTask.cs @@ -24,6 +24,7 @@ namespace Xamarin.Forms.Build.Tasks public string ReferencePath { get; set; } public int Verbosity { get; set; } public bool DebugSymbols { get; set; } + public string DebugType { get; set; } internal XamlTask() { |