Nuke.Cola
Loading...
Searching...
No Matches
Importable.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Threading.Tasks;
5using Nuke.Common.IO;
6
8
9/// <summary>
10/// A record for storing compiled build plugin interfaces
11/// </summary>
12/// <param name="Interface">.NET type of the build interface</param>
13/// <param name="Source">Original source path of the plugin (can be either a script or a project file)</param>
14/// <param name="ImportViaSource">
15/// When true the intermediate script will use `#load "&lt;source&gt;"` directive instead of `#r "&lt;dll&gt;"`
16/// when importing the build plugin. This was only intended to be used with C# script plugins.
17/// </param>
18public record class Importable(Type Interface, AbsolutePath? Source = null, bool ImportViaSource = false)
19{
20 public override string ToString() => Source == null
21 ? ""
22 : ImportViaSource
23 ? Source.ToString()
24 : Interface.Assembly.Location;
25}
record class Importable(Type Interface, AbsolutePath? Source=null, bool ImportViaSource=false)
A record for storing compiled build plugin interfaces.
Definition Importable.cs:18