Nuke.Cola
Loading...
Searching...
No Matches
CSharpScriptPluginProvider.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Threading.Tasks;
6using Nuke.Common.IO;
7using Nuke.Common.Tooling;
8using Nuke.Common.Tools.DotNet;
9
11
12/// <summary>
13/// Gather build plugins defined as single file C# scripts following the
14/// file name format `*.nuke.csx`.
15/// </summary>
17{
18 public IEnumerable<IHavePlugin> GatherPlugins(BuildContext context)
19 => context.Root.SearchFiles("**/*.nuke.csx")
20 .Select(f => new CSharpScriptPlugin
21 {
22 SourcePath = f
23 });
24
25 public void InitializeEngine(BuildContext context) {}
26}
Gather build plugins defined as single file C# scripts following the file name format *....
void InitializeEngine(BuildContext context)
One time initialization of the provider.
IEnumerable< IHavePlugin > GatherPlugins(BuildContext context)
Gathering plugins from the provided context.
Encapsulates a C# script file (*.csx) which contains build interfaces.
Implementations of this interface must represent a plugin system which might have a distinct logic an...
record class BuildContext(AbsolutePath Temporary, AbsolutePath Root)
Local paths for plugin discovery and compilation.