diff --git a/Build/.nuke/build.schema.json b/Build/.nuke/build.schema.json
index 5e858b7..060ffca 100644
--- a/Build/.nuke/build.schema.json
+++ b/Build/.nuke/build.schema.json
@@ -1,50 +1,217 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "$ref": "#/definitions/build",
- "title": "Build Schema",
"definitions": {
- "build": {
+ "Host": {
+ "type": "string",
+ "enum": [
+ "AppVeyor",
+ "AzurePipelines",
+ "Bamboo",
+ "Bitbucket",
+ "Bitrise",
+ "GitHubActions",
+ "GitLab",
+ "Jenkins",
+ "Rider",
+ "SpaceAutomation",
+ "TeamCity",
+ "Terminal",
+ "TravisCI",
+ "VisualStudio",
+ "VSCode"
+ ]
+ },
+ "IssConfiguration": {
"type": "object",
+ "properties": {
+ "Title": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "ImageSmall": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "Icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "Licence": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "Language": {
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "$ref": "#/definitions/IssLanguage"
+ }
+ ]
+ },
+ "IssLanguageLicences": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/definitions/IssLanguageLicence"
+ }
+ }
+ }
+ },
+ "IssLanguage": {
+ "type": "object",
+ "properties": {
+ "Name": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "MessagesFile": {
+ "type": [
+ "null",
+ "string"
+ ]
+ }
+ }
+ },
+ "IssLanguageLicence": {
+ "type": "object",
+ "properties": {
+ "Name": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "MessagesFile": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "Licence": {
+ "type": [
+ "null",
+ "string"
+ ]
+ }
+ }
+ },
+ "ExecutableTarget": {
+ "type": "string",
+ "enum": [
+ "Build",
+ "Clean",
+ "Compile",
+ "GitPreRelease",
+ "GitRelease",
+ "Pack",
+ "PackageBuilder",
+ "PrePack",
+ "Release",
+ "Sign",
+ "Test"
+ ]
+ },
+ "Verbosity": {
+ "type": "string",
+ "description": "",
+ "enum": [
+ "Verbose",
+ "Normal",
+ "Minimal",
+ "Quiet"
+ ]
+ },
+ "NukeBuild": {
"properties": {
"Continue": {
"type": "boolean",
"description": "Indicates to continue a previously failed build attempt"
},
- "Folder": {
- "type": "string"
- },
- "GitHubToken": {
- "type": "string",
- "default": "Secrets must be entered via 'nuke :secrets [profile]'"
- },
"Help": {
"type": "boolean",
"description": "Shows the help text for this build assembly"
},
"Host": {
- "type": "string",
"description": "Host for execution. Default is 'automatic'",
- "enum": [
- "AppVeyor",
- "AzurePipelines",
- "Bamboo",
- "Bitbucket",
- "Bitrise",
- "GitHubActions",
- "GitLab",
- "Jenkins",
- "Rider",
- "SpaceAutomation",
- "TeamCity",
- "Terminal",
- "TravisCI",
- "VisualStudio",
- "VSCode"
- ]
+ "$ref": "#/definitions/Host"
},
- "IssConfiguration": {
+ "NoLogo": {
+ "type": "boolean",
+ "description": "Disables displaying the NUKE logo"
+ },
+ "Partition": {
+ "type": "string",
+ "description": "Partition to use on CI"
+ },
+ "Plan": {
+ "type": "boolean",
+ "description": "Shows the execution plan (HTML)"
+ },
+ "Profile": {
+ "type": "array",
+ "description": "Defines the profiles to load",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Root": {
+ "type": "string",
+ "description": "Root directory during build execution"
+ },
+ "Skip": {
+ "type": "array",
+ "description": "List of targets to be skipped. Empty list skips all dependencies",
+ "items": {
+ "$ref": "#/definitions/ExecutableTarget"
+ }
+ },
+ "Target": {
+ "type": "array",
+ "description": "List of targets to be invoked. Default is '{default_target}'",
+ "items": {
+ "$ref": "#/definitions/ExecutableTarget"
+ }
+ },
+ "Verbosity": {
+ "description": "Logging verbosity during build execution. Default is 'Normal'",
+ "$ref": "#/definitions/Verbosity"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "properties": {
+ "Folder": {
"type": "string"
},
+ "GitHubToken": {
+ "type": "string",
+ "default": "Secrets must be entered via 'nuke :secrets [profile]'"
+ },
+ "IssConfiguration": {
+ "$ref": "#/definitions/IssConfiguration"
+ },
"MainName": {
"type": "string"
},
@@ -54,10 +221,6 @@
"NewVersions": {
"type": "boolean"
},
- "NoLogo": {
- "type": "boolean",
- "description": "Disables displaying the NUKE logo"
- },
"NugetApiKey": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
@@ -66,27 +229,12 @@
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
- "Partition": {
- "type": "string",
- "description": "Partition to use on CI"
- },
- "Plan": {
- "type": "boolean",
- "description": "Shows the execution plan (HTML)"
- },
"PreReleaseFilter": {
"type": "array",
"items": {
"type": "string"
}
},
- "Profile": {
- "type": "array",
- "description": "Defines the profiles to load",
- "items": {
- "type": "string"
- }
- },
"ProjectNameFolder": {
"type": "boolean"
},
@@ -108,10 +256,6 @@
"ReleasePackageBuilder": {
"type": "boolean"
},
- "Root": {
- "type": "string",
- "description": "Root directory during build execution"
- },
"SignFile": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
@@ -120,50 +264,10 @@
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
- "Skip": {
- "type": "array",
- "description": "List of targets to be skipped. Empty list skips all dependencies",
- "items": {
- "type": "string",
- "enum": [
- "Build",
- "Clean",
- "Compile",
- "GitPreRelease",
- "GitRelease",
- "Pack",
- "PackageBuilder",
- "PrePack",
- "Release",
- "Sign",
- "Test"
- ]
- }
- },
"Solution": {
"type": "string",
"description": "Path to a solution file that is automatically loaded"
},
- "Target": {
- "type": "array",
- "description": "List of targets to be invoked. Default is '{default_target}'",
- "items": {
- "type": "string",
- "enum": [
- "Build",
- "Clean",
- "Compile",
- "GitPreRelease",
- "GitRelease",
- "Pack",
- "PackageBuilder",
- "PrePack",
- "Release",
- "Sign",
- "Test"
- ]
- }
- },
"TestBuildStopWhenFailed": {
"type": "boolean"
},
@@ -181,18 +285,11 @@
},
"VendorId": {
"type": "string"
- },
- "Verbosity": {
- "type": "string",
- "description": "Logging verbosity during build execution. Default is 'Normal'",
- "enum": [
- "Minimal",
- "Normal",
- "Quiet",
- "Verbose"
- ]
}
}
+ },
+ {
+ "$ref": "#/definitions/NukeBuild"
}
- }
+ ]
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 69ca353..347a72c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+## [1.7.2] / 2024-11-20
+### Updated
+- Update `ricaun.Nuke` to `1.8.2`
+- Update `FileSystemTasks.CopyFileToDirectory` to `AbsolutePathExtensions.CopyToDirectory`.
+- Update `FileSystemTasks.CopyDirectoryRecursively` to `AbsolutePathExtensions.Copy`.
+
## [1.7.1] / 2024-05-13
### Updated
- Update `ricaun.Nuke` to `1.8.1`
@@ -293,6 +299,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- First Release
[vNext]: ../../compare/1.0.0...HEAD
+[1.7.2]: ../../compare/1.7.1...1.7.2
[1.7.1]: ../../compare/1.7.0...1.7.1
[1.7.0]: ../../compare/1.6.4...1.7.0
[1.6.4]: ../../compare/1.6.3...1.6.4
diff --git a/Directory.Build.props b/Directory.Build.props
index 3677869..cc9d25a 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,5 +1,5 @@
- 1.7.1
+ 1.7.2
\ No newline at end of file
diff --git a/README.md b/README.md
index 57b9e5d..97dc25f 100644
--- a/README.md
+++ b/README.md
@@ -81,7 +81,7 @@ IssConfiguration IHazInstallationFiles.IssConfiguration => new IssConfiguration(
## License
-This package is [licensed](LICENSE) under the [MIT Licence](https://en.wikipedia.org/wiki/MIT_License).
+This package is [licensed](LICENSE) under the [MIT License](https://en.wikipedia.org/wiki/MIT_License).
---
diff --git a/ricaun.Nuke.PackageBuilder/Components/IHazInstallationFiles.cs b/ricaun.Nuke.PackageBuilder/Components/IHazInstallationFiles.cs
index 417f18d..13c12bc 100644
--- a/ricaun.Nuke.PackageBuilder/Components/IHazInstallationFiles.cs
+++ b/ricaun.Nuke.PackageBuilder/Components/IHazInstallationFiles.cs
@@ -49,7 +49,7 @@ public void CopyInstallationFilesTo(AbsolutePath packageBuilderDirectory)
DownloadFilesAndUnzip(InstallationFiles, packageBuilderDirectory);
Globbing.GlobFiles(InstallationFilesDirectory, "*")
- .ForEach(file => FileSystemTasks.CopyFileToDirectory(file, packageBuilderDirectory));
+ .ForEach(file => AbsolutePathExtensions.CopyToDirectory(file, packageBuilderDirectory));
}
///
diff --git a/ricaun.Nuke.PackageBuilder/Components/Revit/IRevitPackageBuilder.cs b/ricaun.Nuke.PackageBuilder/Components/Revit/IRevitPackageBuilder.cs
index bedffb3..5858727 100644
--- a/ricaun.Nuke.PackageBuilder/Components/Revit/IRevitPackageBuilder.cs
+++ b/ricaun.Nuke.PackageBuilder/Components/Revit/IRevitPackageBuilder.cs
@@ -70,7 +70,7 @@ public void CreatePackageBuilder(Project project, bool releasePackageBuilder = f
if (ProjectVersionFolder)
ContentsDirectory = ContentsDirectory / projectVersion;
- FileSystemTasks.CopyDirectoryRecursively(InputDirectory, ContentsDirectory);
+ AbsolutePathExtensions.Copy(InputDirectory, ContentsDirectory);
if (ProjectRemoveTargetFrameworkFolder)
{
@@ -135,7 +135,7 @@ public void CreatePackageBuilder(Project project, bool releasePackageBuilder = f
if (outputInno != ReleaseDirectory)
{
Globbing.GlobFiles(outputInno, "**/*.zip")
- .ForEach(file => FileSystemTasks.CopyFileToDirectory(file, ReleaseDirectory));
+ .ForEach(file => AbsolutePathExtensions.CopyToDirectory(file, ReleaseDirectory));
}
var folder = Path.GetFileName(PackageBuilderDirectory);
@@ -197,7 +197,7 @@ private AbsolutePath GetMaxPathFolderOrTempFolder(AbsolutePath packageBuilderDir
if (max >= MAX_PATH)
{
if (temp.DirectoryExists()) temp.DeleteDirectory();
- FileSystemTasks.CopyDirectoryRecursively(packageBuilderDirectory, temp);
+ AbsolutePathExtensions.Copy(packageBuilderDirectory, temp);
var limit = max - file.ToString().Length + temp.ToString().Length;
Serilog.Log.Information($"Path Max: {limit} - {temp}");
return (AbsolutePath)temp;
diff --git a/ricaun.Nuke.PackageBuilder/Extensions/AppendTargetFrameworkExtension.cs b/ricaun.Nuke.PackageBuilder/Extensions/AppendTargetFrameworkExtension.cs
index d10f234..0ea10b2 100644
--- a/ricaun.Nuke.PackageBuilder/Extensions/AppendTargetFrameworkExtension.cs
+++ b/ricaun.Nuke.PackageBuilder/Extensions/AppendTargetFrameworkExtension.cs
@@ -25,7 +25,7 @@ public static void RemoveAppendTargetFrameworkDirectory(AbsolutePath contentsDir
{
Serilog.Log.Information($"CopyDirectoryRecursively: {directoryName} to {targetFrameworkDirectory.Parent.Name}");
Serilog.Log.Information($"RemoveTargetFrameworkDirectory: {directoryName} move to {targetFrameworkDirectory.Parent.Name}");
- FileSystemTasks.CopyDirectoryRecursively(targetFrameworkDirectory, targetFrameworkDirectory.Parent, DirectoryExistsPolicy.Merge);
+ AbsolutePathExtensions.Copy(targetFrameworkDirectory, targetFrameworkDirectory.Parent, ExistsPolicy.DirectoryMerge);
targetFrameworkDirectory.DeleteDirectory();
}
}