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);
}
}