diff options
author | Kenneth Skovhede <kenneth@hexad.dk> | 2014-07-01 17:38:20 +0400 |
---|---|---|
committer | Kenneth Skovhede <kenneth@hexad.dk> | 2014-07-01 17:38:20 +0400 |
commit | 09054e7dab68ffcc5a0ff0da2c4093ff2f479a18 (patch) | |
tree | 78ee956a26948af086cd6125bce6e3bda51002be /BuildTools | |
parent | 9dfd4f9acbf53bdd5afac235729294ff52880f72 (diff) |
Better debugging when setting update params from commandline
Diffstat (limited to 'BuildTools')
-rw-r--r-- | BuildTools/AutoUpdateBuilder/Program.cs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/BuildTools/AutoUpdateBuilder/Program.cs b/BuildTools/AutoUpdateBuilder/Program.cs index df32e1066..31968e428 100644 --- a/BuildTools/AutoUpdateBuilder/Program.cs +++ b/BuildTools/AutoUpdateBuilder/Program.cs @@ -96,15 +96,27 @@ namespace AutoUpdateBuilder updateInfo = new Newtonsoft.Json.JsonSerializer().Deserialize<Duplicati.Library.AutoUpdater.UpdateInfo>(jr);
+ var isopts = new Dictionary<string, string>(opts, StringComparer.InvariantCultureIgnoreCase);
foreach (var k in updateInfo.GetType().GetFields())
- if (opts.ContainsKey(k.Name))
+ if (isopts.ContainsKey(k.Name))
{
try
{
- k.SetValue(updateInfo, opts[k.Name]);
+ //Console.WriteLine("Setting {0} to {1}", k.Name, isopts[k.Name]);
+ if (k.FieldType == typeof(string[]))
+ k.SetValue(updateInfo, isopts[k.Name].Split(new char[] {';'}, StringSplitOptions.RemoveEmptyEntries));
+ else if(k.FieldType == typeof(Version))
+ k.SetValue(updateInfo, new Version(isopts[k.Name]));
+ else if(k.FieldType == typeof(int))
+ k.SetValue(updateInfo, int.Parse(isopts[k.Name]));
+ else if(k.FieldType == typeof(long))
+ k.SetValue(updateInfo, long.Parse(isopts[k.Name]));
+ else
+ k.SetValue(updateInfo, isopts[k.Name]);
}
- catch
+ catch (Exception ex)
{
+ Console.WriteLine("Failed setting {0} to {1}: {2}", k.Name, isopts[k.Name], ex.Message);
}
}
|