summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Build.Tasks
diff options
context:
space:
mode:
authorStephane Delcroix <stephane@delcroix.org>2017-05-16 19:07:31 +0200
committerJason Smith <jason.smith@xamarin.com>2017-05-16 10:08:06 -0700
commitbb632ea0666d22f23c6f48264800ddf32aeaf25f (patch)
treead213de682a16fd8070362b06af85311327f62cd /Xamarin.Forms.Build.Tasks
parent2340fc4feae74dd08547187c3ccdd4cb9976826a (diff)
downloadxamarin-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.cs7
-rw-r--r--Xamarin.Forms.Build.Tasks/XamlCTask.cs18
-rw-r--r--Xamarin.Forms.Build.Tasks/XamlTask.cs1
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()
{