Nuke.Cola
Loading...
Searching...
No Matches
IProvidePlugins.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Threading.Tasks;
5using Nuke.Common.IO;
6using Nuke.Common.Tooling;
7using Nuke.Common.Tools.DotNet;
8
10
11/// <summary>
12/// Implementations of this interface must represent a plugin system which might
13/// have a distinct logic and rules for discovering individual plugins and
14/// instantiating them.
15/// </summary>
16public interface IProvidePlugins
17{
18 /// <summary>
19 /// One time initialization of the provider.
20 /// </summary>
22
23 /// <summary>
24 /// Gathering plugins from the provided context
25 /// </summary>
26 /// <param name="context"></param>
27 /// <returns>A collection of individual plugins</returns>
28 IEnumerable<IHavePlugin> GatherPlugins(BuildContext context);
29}
Implementations of this interface must represent a plugin system which might have a distinct logic an...
void InitializeEngine(BuildContext context)
One time initialization of the provider.
IEnumerable< IHavePlugin > GatherPlugins(BuildContext context)
Gathering plugins from the provided context.
record class BuildContext(AbsolutePath Temporary, AbsolutePath Root)
Local paths for plugin discovery and compilation.