diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3589001c..9e4085ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,11 +24,11 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v1 - - name: Cache .tmp, ~/.nuget/packages + - name: Cache .nuke/temp, ~/.nuget/packages uses: actions/cache@v2 with: path: | - .tmp + .nuke/temp ~/.nuget/packages key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }} - name: Run './build.cmd Package' diff --git a/.nuke b/.nuke deleted file mode 100644 index 5e984687..00000000 --- a/.nuke +++ /dev/null @@ -1 +0,0 @@ -ImageMagitek.sln \ No newline at end of file diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json new file mode 100644 index 00000000..6854200c --- /dev/null +++ b/.nuke/build.schema.json @@ -0,0 +1,125 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Build Schema", + "$ref": "#/definitions/build", + "definitions": { + "build": { + "type": "object", + "properties": { + "Configuration": { + "type": "string", + "description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)", + "enum": [ + "Debug", + "Release" + ] + }, + "Continue": { + "type": "boolean", + "description": "Indicates to continue a previously failed build attempt" + }, + "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", + "Bitrise", + "GitHubActions", + "GitLab", + "Jenkins", + "Rider", + "SpaceAutomation", + "TeamCity", + "Terminal", + "TravisCI", + "VisualStudio", + "VSCode" + ] + }, + "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": { + "type": "string", + "enum": [ + "Clean", + "Compile", + "Package", + "PublishTileShop", + "PublishTileShopCLI", + "Restore", + "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": [ + "Clean", + "Compile", + "Package", + "PublishTileShop", + "PublishTileShopCLI", + "Restore", + "Test" + ] + } + }, + "TileShopCLIVersion": { + "type": "string", + "description": "TileShopCLI version" + }, + "TileShopVersion": { + "type": "string", + "description": "TileShop version" + }, + "Verbosity": { + "type": "string", + "description": "Logging verbosity during build execution. Default is 'Normal'", + "enum": [ + "Minimal", + "Normal", + "Quiet", + "Verbose" + ] + } + } + } + } +} \ No newline at end of file diff --git a/.nuke/parameters.json b/.nuke/parameters.json new file mode 100644 index 00000000..0998d659 --- /dev/null +++ b/.nuke/parameters.json @@ -0,0 +1,4 @@ +{ + "$schema": "./build.schema.json", + "Solution": "ImageMagitek.sln" +} \ No newline at end of file diff --git a/ImageMagitek.Benchmarks/ImageMagitek.Benchmarks.csproj b/ImageMagitek.Benchmarks/ImageMagitek.Benchmarks.csproj index 1f383237..30748697 100644 --- a/ImageMagitek.Benchmarks/ImageMagitek.Benchmarks.csproj +++ b/ImageMagitek.Benchmarks/ImageMagitek.Benchmarks.csproj @@ -6,7 +6,7 @@ - + diff --git a/ImageMagitek.Build/ImageMagitek.Build.csproj b/ImageMagitek.Build/ImageMagitek.Build.csproj index f69846ae..375d53e8 100644 --- a/ImageMagitek.Build/ImageMagitek.Build.csproj +++ b/ImageMagitek.Build/ImageMagitek.Build.csproj @@ -7,14 +7,11 @@ CS0649;CS0169 .. .. + 1 - - - - - + diff --git a/ImageMagitek.Services/ImageMagitek.Services.csproj b/ImageMagitek.Services/ImageMagitek.Services.csproj index fe07c405..25e1aa60 100644 --- a/ImageMagitek.Services/ImageMagitek.Services.csproj +++ b/ImageMagitek.Services/ImageMagitek.Services.csproj @@ -8,10 +8,12 @@ https://github.com/stevemonaco/ImageMagitek 2021 https://github.com/stevemonaco/ImageMagitek + 0.990.0.0 + 0.990.0.0 - + diff --git a/ImageMagitek.UnitTests/ImageMagitek.UnitTests.csproj b/ImageMagitek.UnitTests/ImageMagitek.UnitTests.csproj index 84d2d7f4..3f32bc80 100644 --- a/ImageMagitek.UnitTests/ImageMagitek.UnitTests.csproj +++ b/ImageMagitek.UnitTests/ImageMagitek.UnitTests.csproj @@ -5,10 +5,10 @@ - + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/ImageMagitek/ImageMagitek.csproj b/ImageMagitek/ImageMagitek.csproj index fe039263..2fe672d1 100644 --- a/ImageMagitek/ImageMagitek.csproj +++ b/ImageMagitek/ImageMagitek.csproj @@ -3,9 +3,11 @@ net5.0 true - 0.981 + 0.990 Steve Monaco 2021 + 0.990.0.0 + 0.990.0.0 diff --git a/TileShop.CLI/Program.cs b/TileShop.CLI/Program.cs index 5387184c..7204cf9f 100644 --- a/TileShop.CLI/Program.cs +++ b/TileShop.CLI/Program.cs @@ -21,8 +21,9 @@ class Program static int Main(string[] args) { - string version = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion; - Console.WriteLine($"TileShopCLI v{version} by Klarth"); + //string assemblyLocation = Assembly.GetExecutingAssembly().Location; + //string version = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion; + //Console.WriteLine($"TileShopCLI v{version} by Klarth"); var verbs = LoadVerbs(); @@ -84,7 +85,7 @@ private static bool BootstrapTileShop(string logFileName) var settings = bootstrapper.ReadConfiguration(settingsFileName); var codecService = bootstrapper.CreateCodecService(codecPath, codecSchemaFileName); var paletteService = bootstrapper.CreatePaletteService(palettePath, settings); - var pluginService = bootstrapper.CreatePluginService(pluginPath, codecService); + //var pluginService = bootstrapper.CreatePluginService(pluginPath, codecService); var defaultResources = paletteService.GlobalPalettes; var serializerFactory = new XmlProjectSerializerFactory(resourceSchemaFileName, @@ -95,7 +96,7 @@ private static bool BootstrapTileShop(string logFileName) } catch (Exception ex) { - Log.Fatal(ex, "TileShopCLI environment failed to load"); + Log.Fatal(ex, $"TileShopCLI environment failed to load:\n{ex.StackTrace}\n"); return false; } } diff --git a/TileShop.CLI/Properties/launchSettings.json b/TileShop.CLI/Properties/launchSettings.json index 067b9bec..0da70b17 100644 --- a/TileShop.CLI/Properties/launchSettings.json +++ b/TileShop.CLI/Properties/launchSettings.json @@ -2,27 +2,27 @@ "profiles": { "FF2 ExportAll": { "commandName": "Project", - "commandLineArgs": "ExportAll --overwrite \"FF2new\\ff2.xml\" FF2Extract", + "commandLineArgs": "ExportAll --overwrite \"FF2new\\FF2project.xml\" FF2Extract", "workingDirectory": "D:\\ImageMagitekTest" }, "FF2 ImportAll": { "commandName": "Project", - "commandLineArgs": "ImportAll -f ff2.xml FF2Extract", + "commandLineArgs": "ImportAll -f \"FF2new\\FF2project.xml\" FF2Extract", "workingDirectory": "D:\\ImageMagitekTest" }, "FF2 Import": { "commandName": "Project", - "commandLineArgs": "Import -fr ff2.xml FF2Extract \"FF2\\Character Overworld Sprites\\Cecil Map\" \"/FF2/Portraits\"", + "commandLineArgs": "Import -fr \"FF2new\\FF2project.xml\" FF2Extract \"\\Character Overworld Sprites\\Cecil Map\" \"/Character Portraits/Portraits\"", "workingDirectory": "D:\\ImageMagitekTest" }, "FF2 Print": { "commandName": "Project", - "commandLineArgs": "Print --log ff2.log ff2.xml", + "commandLineArgs": "Print --log ff2.log \"FF2new\\FF2project.xml\"", "workingDirectory": "D:\\ImageMagitekTest" }, "FF2 Export": { "commandName": "Project", - "commandLineArgs": "Export ff2.xml FF2Extract \"/FF2/Character Overworld Sprites/Cecil Map\" \"FF2\\Portraits\"", + "commandLineArgs": "Export \"FF2new\\FF2project.xml\" FF2Extract \"/Character Overworld Sprites/Cecil Map\" \"Character Portraits\\Portraits\"", "workingDirectory": "D:\\ImageMagitekTest" } } diff --git a/TileShop.CLI/TileShop.CLI.csproj b/TileShop.CLI/TileShop.CLI.csproj index 27be25c5..857ee5ce 100644 --- a/TileShop.CLI/TileShop.CLI.csproj +++ b/TileShop.CLI/TileShop.CLI.csproj @@ -8,9 +8,10 @@ Klarth https://github.com/stevemonaco/ImageMagitek https://github.com/stevemonaco/ImageMagitek - 0.2.0.0 - 0.2.0.0 - 0.2 + 0.990.0.0 + 0.990.0.0 + 0.990 + diff --git a/TileShop.Shared/TileShop.Shared.csproj b/TileShop.Shared/TileShop.Shared.csproj index fe78f5d8..3b5da08f 100644 --- a/TileShop.Shared/TileShop.Shared.csproj +++ b/TileShop.Shared/TileShop.Shared.csproj @@ -2,6 +2,9 @@ net5.0 + 0.990 + Klarth + diff --git a/TileShop.WPF/Features/Shell/MenuView.xaml b/TileShop.WPF/Features/Shell/MenuView.xaml index bc60abb6..d1050427 100644 --- a/TileShop.WPF/Features/Shell/MenuView.xaml +++ b/TileShop.WPF/Features/Shell/MenuView.xaml @@ -21,7 +21,6 @@ - win-x64 true TileShop - 0.981 + 0.990 Steve Monaco https://github.com/stevemonaco/ImageMagitek https://github.com/stevemonaco/ImageMagitek - 2020 + 2021 Assets\tsicon.ico + 0.990.0.0 + 0.990.0.0 @@ -24,8 +26,8 @@ - - + + diff --git a/build.cmd b/build.cmd index 8b8b89dc..b08cc590 100755 --- a/build.cmd +++ b/build.cmd @@ -4,4 +4,4 @@ :; exit $? @ECHO OFF -powershell -ExecutionPolicy ByPass -NoProfile "%~dp0build.ps1" %* +powershell -ExecutionPolicy ByPass -NoProfile -File "%~dp0build.ps1" %* diff --git a/build.ps1 b/build.ps1 index 9e60fe56..dc087ad5 100644 --- a/build.ps1 +++ b/build.ps1 @@ -14,7 +14,7 @@ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent ########################################################################### $BuildProjectFile = "$PSScriptRoot\ImageMagitek.Build\ImageMagitek.Build.csproj" -$TempDirectory = "$PSScriptRoot\\.tmp" +$TempDirectory = "$PSScriptRoot\\.nuke\temp" $DotNetGlobalFile = "$PSScriptRoot\\global.json" $DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1" diff --git a/build.sh b/build.sh index 897e6205..27af86de 100755 --- a/build.sh +++ b/build.sh @@ -10,7 +10,7 @@ SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd) ########################################################################### BUILD_PROJECT_FILE="$SCRIPT_DIR/ImageMagitek.Build/ImageMagitek.Build.csproj" -TEMP_DIRECTORY="$SCRIPT_DIR//.tmp" +TEMP_DIRECTORY="$SCRIPT_DIR//.nuke/temp" DOTNET_GLOBAL_FILE="$SCRIPT_DIR//global.json" DOTNET_INSTALL_URL="https://dot.net/v1/dotnet-install.sh" diff --git a/global.json b/global.json new file mode 100644 index 00000000..496b7c1a --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "version": "5.0.301" + } +} \ No newline at end of file