| File: GenPartialFacadeSource.cs | Web Access |
| Project: src\arcade\src\Microsoft.DotNet.GenFacades\Microsoft.DotNet.GenFacades.csproj (Microsoft.DotNet.GenFacades) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using Microsoft.DotNet.Build.Tasks; using System; using System.Linq; namespace Microsoft.DotNet.GenFacades { public class GenPartialFacadeSource : RoslynBuildTask { [Required] public ITaskItem[] ReferencePaths { get; set; } [Required] public string ReferenceAssembly { get; set; } public ITaskItem[] CompileFiles { get; set; } public string DefineConstants { get; set; } public string LangVersion { get; set; } public bool IgnoreMissingTypes { get; set; } public string[] IgnoreMissingTypesList { get; set; } public string[] OmitTypes { get; set; } public ITaskItem[] SeedTypePreferences { get; set; } [Required] public string OutputSourcePath { get; set; } public override bool ExecuteCore() { bool result = true; try { result = GenPartialFacadeSourceGenerator.Execute( ReferencePaths?.Select(item => item.ItemSpec).ToArray(), ReferenceAssembly, CompileFiles?.Select(item => item.ItemSpec).ToArray(), DefineConstants, LangVersion, OutputSourcePath, Log, IgnoreMissingTypes, IgnoreMissingTypesList, OmitTypes, SeedTypePreferences); } catch (Exception e) { Log.LogErrorFromException(e, showStackTrace: false); } return result && !Log.HasLoggedErrors; } } }