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

Classes

class  ExportManifest
 Controls how a folder should be exported for composition. It is meant to be used with export.yml YAML files (or export manifest files). More...
 
class  ExportManifestExtensions
 
class  FileOrDirectory
 A union provided for denoting wether we want to link/copy a file or a directory. It is undefined behavior when both File and Directory is set to non-null value. More...
 
class  FolderComposition
 

Enumerations

enum  ImportMethod { Copy , Link }
 

Functions

record class ImportFolderSuffixes (string To, string From="Origin")
 A record for suffix replacement mapping.
 
record class ImportFolderItem (AbsolutePath From, AbsolutePath ToParent, ExportManifest? Manifest=null, string ManifestFilePattern="export.y*ml")
 A record importing a folder from a source to a parent folder.
 
record class ImportOptions (bool UseSubfolder=true, bool Pretend=false, bool CopyByDefault=false, bool ForceCopyLinks=false, bool ImplicitImport=false, ImportFolderSuffixes? Suffixes=null, IEnumerable< ExportManifest >? AddToMain=null, IEnumerable< ExportManifest >? AddToAll=null)
 Further options for ImportFolder.
 
record class ImportedItem (AbsolutePath From, AbsolutePath To, ImportMethod Method)
 

Enumeration Type Documentation

◆ ImportMethod

enum Nuke.Cola.FolderComposition.ImportMethod

Definition at line 117 of file FolderComposition.cs.

Function Documentation

◆ ImportFolderItem()

record class Nuke.Cola.FolderComposition.ImportFolderItem ( AbsolutePath From,
AbsolutePath ToParent,
ExportManifest? Manifest = null,
string ManifestFilePattern = "export.y*ml" )

A record importing a folder from a source to a parent folder.

Parameters
FromThe source or origin folder
ToParentThe destination parent folder
ManifestFilePatternAn explicit glob for finding export manifest files in the wprking~ and its subdirectories
ManifestControl how the contents of the folder should be imported into target project. If null and if an export.yml manifest file exists in the imported folder, that manifest file will be used. If both this parameter is null and an export.yml doesn't exist, then the folder will be simply symlinked.
Returns

Definition at line 50 of file FolderComposition.cs.

◆ ImportFolderSuffixes()

record class Nuke.Cola.FolderComposition.ImportFolderSuffixes ( string To,
string From = "Origin" )

A record for suffix replacement mapping.

Parameters
ToThe target suffix desired by the importing project
FromThe original suffix inside the source folder
Returns

Definition at line 23 of file FolderComposition.cs.

◆ ImportOptions()

record class Nuke.Cola.FolderComposition.ImportOptions ( bool UseSubfolder = true,
bool Pretend = false,
bool CopyByDefault = false,
bool ForceCopyLinks = false,
bool ImplicitImport = false,
ImportFolderSuffixes? Suffixes = null,
IEnumerable< ExportManifest >? AddToMain = null,
IEnumerable< ExportManifest >? AddToAll = null )

Further options for ImportFolder.

Parameters
UseSubfolderWhen and by default true, a subfolder is created for the import, or when false, the folder is composited with the given target folder directly.
PretendWhen true, file system actions are not invoked. This is useful for querying which files/folders would be handled by this operation. Logging is also disabled while pretending
CopyByDefaultThe default behavior is to link unassumed folder when importing it. CopyByDefault will make unassuming folders to be copied instead.
ForceCopyLinksForce copy folders which are listed only for linking. Only use this when it's absolutely necessary. This will also imply CopyByDefault.
ImplicitImportOnly used by
SuffixesCan be the desired project suffix, ImportFolderSuffixes for more details
AddToMainMerge these export manifests into the one only mentioned by explicit arguments.
AddToAllMerge these export manifests into all export manifests found by current import (through Use items for example).