using System.IO; using System.Threading.Tasks; namespace VNLib.Tools.Build.Executor.Model { public interface IProject : ITaskfileScope { /// /// Gets the the project file /// FileInfo ProjectFile { get; } /// /// Gets the actual project name /// string ProjectName { get; } /// /// The msbuild project dom /// IProjectData ProjectData { get; } /// /// A value that indicates (after a source sync) that the project /// is considered up to date. /// bool UpToDate { get; set; } /// /// Invoked when the executor requests all created artifacts load async assets /// and update state accordingly /// /// The taskfile variable container /// A task that completes when all assets are loaded Task LoadAsync(TaskfileVars vars); } }