private IReadOnlyCollection <NuGetFramework> GetTargetFrameworks() { if (!string.IsNullOrWhiteSpace(TargetFramework)) { return(TargetFramework.ToFrameworks()); } var nugetFrameworks = new List <NuGetFramework>(); if (string.IsNullOrWhiteSpace(ProjectTypeGuids)) { return(null); } var projectGuids = ProjectTypeGuids .Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries) .Select(x => new Guid(x.Trim())); var versionText = string.IsNullOrWhiteSpace(TargetFrameworkVersion) ? TargetFrameworkVersion : TargetPlatformVersion; foreach (var projectGuid in projectGuids) { if (_guidToFramework.TryGetValue(projectGuid, out var targetFrameworkValue)) { var versionMatch = new Version(_versionRegex.Match(versionText).Value); nugetFrameworks.Add(new NuGetFramework(targetFrameworkValue, versionMatch)); } } return(nugetFrameworks); }
/// <inheritdoc /> public override bool Execute() { var funcLogManager = new FuncLogManager(type => new WrappingFullLogger(new WrappingPrefixLogger(new MsBuildLogger(Log, LogLevel.Debug), type))); Locator.CurrentMutable.RegisterConstant(funcLogManager, typeof(ILogManager)); if (string.IsNullOrWhiteSpace(OutputFile)) { Log.LogError($"{nameof(OutputFile)} is not set"); return(false); } if (string.IsNullOrWhiteSpace(TargetFramework)) { Log.LogError($"{nameof(TargetFramework)} is not set"); return(false); } using (var writer = new StreamWriter(Path.Combine(OutputFile))) { ObservablesForEventGenerator.WriteHeader(writer, TargetFramework).ConfigureAwait(false).GetAwaiter().GetResult(); try { ObservablesForEventGenerator.ExtractEventsFromTargetFramework(writer, TargetFramework.ToFrameworks()).GetAwaiter().GetResult(); } catch (Exception ex) { this.Log().Error(ex); return(false); } } return(true); }