Nuke.Cola
Loading...
Searching...
No Matches
Nuke.Cola.BuildPlugins Namespace Reference

Classes

class  CSharpScriptPlugin
 Encapsulates a C# script file (*.csx) which contains build interfaces. More...
 
class  CSharpScriptPluginProvider
 Gather build plugins defined as single file C# scripts following the file name format *.nuke.csx. More...
 
class  DotnetCommon
 
class  DotnetProjectPlugin
 Encapsulates a .NET project (*.*proj) which contains build interfaces. More...
 
class  DotnetProjectPluginProvider
 Gather build plugins defined as a .NET project following the file name format *.Nuke.csproj. Currently only C# is supported as only C# can declare default interface member implementations. More...
 
interface  IHavePlugin
 Implementation of this plugin must provide one build plugin which can be compiled to a .NET DLL which the intermediate script can reference. Plugins must expose .NET interfaces with default implementations as build components. Non default-implemented interface members will cause compile errors. It may seem strange but it is one intended feature of NUKE. More...
 
class  ImplicitBuildInterfaceAttribute
 
class  ImplicitBuildInterfacePlugin
 
class  ImplicitBuildInterfacePluginProvider
 Gather build interfaces from main assembly which should be implicitly included in the main build class without that knowing about it. More...
 
interface  IProvidePlugins
 Implementations of this interface must represent a plugin system which might have a distinct logic and rules for discovering individual plugins and instantiating them. More...
 
class  Plugins
 This class contains the main entry point for builds supporting plugins. More...
 

Functions

record class BuildContext (AbsolutePath Temporary, AbsolutePath Root)
 Local paths for plugin discovery and compilation.
 
record ScriptDllLocation (AbsolutePath Path, ulong ContentHash, uint PathHash)
 
record class Importable (Type Interface, AbsolutePath? Source=null, bool ImportViaSource=false)
 A record for storing compiled build plugin interfaces.
 
delegate int MainExecute< T > (params Expression< Func< T, Target > >[] defaultTargetExpressions)
 Delegate for the Execute entrypoint NUKE provides for build classes.
 

Function Documentation

◆ BuildContext()

record class Nuke.Cola.BuildPlugins.BuildContext ( AbsolutePath Temporary,
AbsolutePath Root )

Local paths for plugin discovery and compilation.

◆ Importable()

record class Nuke.Cola.BuildPlugins.Importable ( Type Interface,
AbsolutePath? Source = null,
bool ImportViaSource = false )

A record for storing compiled build plugin interfaces.

Parameters
Interface.NET type of the build interface
SourceOriginal source path of the plugin (can be either a script or a project file)
ImportViaSourceWhen true the intermediate script will use #load "&lt;source&gt;" directive instead of #r "&lt;dll&gt;" when importing the build plugin. This was only intended to be used with C# script plugins.

Definition at line 18 of file Importable.cs.

◆ MainExecute< T >()

delegate int Nuke.Cola.BuildPlugins.MainExecute< T > ( params Expression< Func< T, Target > >[] defaultTargetExpressions)

Delegate for the Execute entrypoint NUKE provides for build classes.

Type Constraints
T :NukeBuild 
T :new()