Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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);
        }