aboutsummaryrefslogtreecommitdiff
path: root/src/Model/IArtifact.cs
blob: c3c215a8fcb8013b219f95a4ec4d56b91faac086 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Threading.Tasks;

namespace VNLib.Tools.Build.Executor.Model
{
    internal interface IArtifact : IDisposable
    {
        /// <summary>
        /// Invoked when the executor requests all created artifacts load async assets
        /// and update state accordingly
        /// </summary>
        /// <param name="vars">The taskfile variable container</param>
        /// <returns>A task that completes when all assets are loaded</returns>
        Task LoadAsync(TaskfileVars vars);

        /// <summary>
        /// Invoked when the executor requests all artifacts cleanup assets that 
        /// may have been generated during a build process
        /// </summary>
        /// <returns>A task that completes when all assest are cleaned</returns>
        Task CleanAsync();
    }
}