From ce10583a72a14fc7f7fb1e9889e79734666e5d4b Mon Sep 17 00:00:00 2001 From: Carsten Riedel Date: Mon, 20 May 2024 12:27:08 +0200 Subject: [PATCH] GitHubAction workflow (#28) * update repo restruct --- .github/workflows/.gitignore | 2 + .github/workflows/cicd.ps1 | 28 + .github/workflows/cicd.yml | 55 ++ .github/workflows/cicd_build.ps1 | 23 + .github/workflows/cicd_build_clean.ps1 | 10 + .github/workflows/cicd_build_config.ps1 | 46 ++ .github/workflows/cicd_deploy.ps1 | 83 +++ .github/workflows/cicd_postdeploy_clean.ps1 | 17 + .github/workflows/cicd_postdeploy_run.ps1 | 19 + .../workflows/cicd_prebuild_envars_check.ps1 | 32 ++ .../cicd_prebuild_envars_prepare.ps1 | 46 ++ .../cicd_prebuild_enviroment_configure.ps1 | 24 + .../cicd_prebuild_enviroment_requirments.ps1 | 36 ++ .github/workflows/cicd_util.ps1 | 500 ++++++++++++++++++ .github/workflows/pages.yml | 2 +- .gitignore | 12 +- {images => assets/images}/Icon.xcf | Bin {images => assets/images}/Icon2.xcf | Bin {images => assets/images}/brand.png | Bin {images => assets/images}/logo.png | Bin {images => assets/images}/logo800x200.png | Bin {images => assets/images}/logoqubic.png | Bin {raw => assets/raw}/IMPORTANT.zip | Bin .../raw}/JsonSourceFileGenerator.zip | Bin {raw => assets/raw}/Multipublish.csproj | 0 {raw => assets/raw}/NJsonSchemaTest.zip | Bin {raw => assets/raw}/common.drawio | 0 {raw => assets/raw}/common.xml | 0 {raw => assets/raw}/dotnet.bat | 0 {raw => assets/raw}/dotnet.sh | 0 {raw => assets/raw}/dotnetnew.sh | 0 {raw => assets/raw}/gitnotes.txt | 0 {raw => assets/raw}/gpgsetup.sh | 0 src/Coree.Template.Project.sln | 10 +- src/Package/Config/PackageMetadata.props | 60 --- src/Package/Config/PackageSpecs.props | 132 ----- .../Coree.Template.Project/.gitignore | 2 + .../Coree.Template.Project.csproj | 0 .../Package/Config/PackageMetadata.props | 58 ++ .../Package/Config/PackageSpecs.props | 30 ++ .../Package/Config/ReleaseNotes.txt | 0 .../Package/Root/Icon.png | Bin .../Package/Root/License.txt | 0 .../Package/Root/README.md | 0 .../Root/content/ClassLibrary/.gitignore | 0 .../.template.config/template.json | 0 .../.config/dotnet-tools.json | 0 .../ClassLibrary.MSTest/BenchmarksTests.cs | 0 .../ClassLibrary.MSTest.csproj | 0 .../Docfx/build/docfx_local.json | 0 .../Docfx/build/docfx_web.json | 0 .../Docfx/build/docs/getting-started.md | 0 .../Docfx/build/docs/introduction.md | 0 .../Docfx/build/docs/toc.yml | 0 .../ClassLibrary.MSTest/Docfx/build/index.md | 0 .../ClassLibrary.MSTest/Docfx/build/toc.yml | 0 .../ClassLibrary.MSTest/FunctionalTests.cs | 0 .../content/ClassLibrary/ClassLibrary.sln | 0 .../ClassLibrary/.config/dotnet-tools.json | 0 .../ClassLibrary/ClassLibrary/Class1.cs | 0 .../ClassLibrary/ClassLibrary.csproj | 0 .../Package/Config/PackageMetadata.props | 0 .../Package/Config/PackageSpecs.props | 0 .../Package/Config/ReleaseNotes.txt | 0 .../ClassLibrary/Package/Root/Icon.png | Bin .../ClassLibrary/Package/Root/License.txt | 0 .../ClassLibrary/Package/Root/Readme.md | 0 .../Root/content/ClassLibrary/Readme.md | 0 .../Root/content/ClassLibrary/global.json | 0 .../Root/content/ConsoleApp/.gitignore | 0 .../ConsoleApp/.template.config/template.json | 0 .../ConsoleApp/ConsoleApp.Library/Class1.cs | 0 .../ConsoleApp.Library.csproj | 0 .../ConsoleApp.MSTest.csproj | 0 .../ConsoleApp.MSTest/FunctionalTests.cs | 0 .../Root/content/ConsoleApp/ConsoleApp.sln | 0 .../ConsoleApp/ConsoleApp/ConsoleApp.csproj | 0 .../content/ConsoleApp/ConsoleApp/Program.cs | 0 .../Package/Root/content/ConsoleApp/Readme.md | 0 .../Root/content/ConsoleApp/global.json | 0 .../Root/content/MSBuildLibrary/.gitignore | 0 .../.template.config/template.json | 0 .../MSBuildLibrary.MSTest/FunctionalTests.cs | 0 .../MSBuildLibrary.MSTest/IntegrationTests.cs | 0 .../MSBuildLibrary.MSTest.csproj | 0 .../Resources/TestScript.msbuild | 0 .../content/MSBuildLibrary/MSBuildLibrary.sln | 0 .../MSBuildLibrary/MSBuildLibrary/AddTask.cs | 0 .../MSBuildLibrary/BuildEngineExtensions.cs | 0 .../MSBuildLibrary/DumpEnvVarsTask.cs | 0 .../MSBuildLibrary/DumpGlobalPropTask.cs | 0 .../MSBuildLibrary/MSBuildLibrary/HomeTask.cs | 0 .../MSBuildLibrary/MSBuildLibrary.csproj | 0 .../Package/Config/PackageFileMappings.props | 0 .../Package/Config/PackageMetadata.props | 0 .../Package/Config/PackageSpecs.props | 0 .../Package/Config/ReleaseNotes.txt | 0 .../MSBuildLibrary/Package/Root/Icon.png | Bin .../MSBuildLibrary/Package/Root/License.txt | 0 .../MSBuildLibrary/Package/Root/Readme.md | 0 .../Package/Root/build/MSBuildLibrary.props | 0 .../Package/Root/build/MSBuildLibrary.targets | 0 .../MSBuildLibrary/TaskNodeTask.cs | 0 .../Package/Root/content/NetTool/.gitignore | 0 .../NetTool/.template.config/template.json | 0 .../NetTool/NetTool.MSTest/FunctionalTests.cs | 0 .../NetTool.MSTest/IntegrationTests.cs | 0 .../NetTool.MSTest/NetTool.MSTest.csproj | 0 .../Package/Root/content/NetTool/NetTool.sln | 0 .../content/NetTool/NetTool/NetTool.csproj | 0 .../Package/Config/PackageFileMappings.props | 0 .../Package/Config/PackageMetadata.props | 0 .../NetTool/Package/Config/PackageSpecs.props | 0 .../NetTool/Package/Config/ReleaseNotes.txt | 0 .../NetTool/NetTool/Package/Root/Icon.png | Bin .../NetTool/NetTool/Package/Root/License.txt | 0 .../NetTool/NetTool/Package/Root/Readme.md | 0 .../Root/content/NetTool/NetTool/Program.cs | 0 .../.template.config/template.json | 0 .../content/PowershellLibrary/CommandLet.cs | 0 .../content/PowershellLibrary/Default.csproj | 0 .../Package/PackageConfig.props | 0 .../Package/PackageMetadata.props | 0 .../Package/PackageRoot/Default.psd1 | 0 .../Package/PackageRoot/Default.psm1 | 0 .../Package/PackageRoot/Icon.png | Bin .../Package/PackageRoot/License.txt | 0 .../Package/PackageRoot/Readme.md | 0 .../Package/PackageSpecs.props | 0 .../Package/ReleaseNotes.txt | 0 .../Root/content/ProjectTemplate/.gitignore | 0 .../.template.config/template.json | 0 .../Package/Config/PackageMetadata.props | 0 .../Package/Config/PackageSpecs.props | 0 .../Package/Config/ReleaseNotes.txt | 0 .../ProjectTemplate/Package/Root/Icon.png | Bin .../ProjectTemplate/Package/Root/License.txt | 0 .../ProjectTemplate/Package/Root/Readme.md | 0 .../Root/content/ClassLibrary/Class1.cs | 0 .../content/ClassLibrary/ClassLibrary.csproj | 0 .../ClassLibrary/templateDir/templateJson.txt | 0 .../ProjectTemplate/ProjectTemplate.csproj | 0 .../ProjectTemplate/ProjectTemplate.sln | 0 .../Root/content/SourceGenerator/.gitignore | 0 .../.template.config/template.json | 0 .../Root/content/SourceGenerator/Readme.md | 0 .../SourceGeneratorCoree.MSTest.csproj | 0 .../SourceGenerator/SourceGeneratorCoree.sln | 0 .../SourceGeneratorCoree/Main.cs | 0 .../Package/Config/PackageFileMappings.props | 0 .../Package/Config/PackageMetadata.props | 0 .../Package/Config/PackageSpecs.props | 0 .../Package/Config/ReleaseNotes.txt | 0 .../Package/Root/Icon.png | Bin .../Package/Root/License.txt | 0 .../Package/Root/Readme.md | 0 .../SourceGeneratorCoree.csproj | 0 .../Package/Root/content/Winforms/.gitignore | 0 .../Winforms/.template.config/template.json | 0 .../Winforms/Winforms.Library/Class1.cs | 0 .../Winforms.Library/Winforms.Library.csproj | 0 .../Root/content/Winforms/Winforms.sln | 0 .../Winforms/Winforms/Form1.Designer.cs | 0 .../Root/content/Winforms/Winforms/Form1.cs | 0 .../Root/content/Winforms/Winforms/Program.cs | 0 .../Winforms/Winforms/Properties/app.manifest | 0 .../Winforms/Properties/appsettings.json | 0 .../Winforms/Resources/application.ico | Bin .../content/Winforms/Winforms/Winforms.csproj | 0 .../Package/Root/content/WpfApp/.gitignore | 0 .../WpfApp/.template.config/template.json | 0 .../Package/Root/content/WpfApp/WpfApp.sln | 0 .../WpfApp/WpfApp/Application/App.xaml | 0 .../WpfApp/WpfApp/Application/App.xaml.cs | 0 .../WpfApp/Assets/Fonts/SourceCodePro/OFL.txt | 0 .../SourceCodePro/SourceCodePro-Black.ttf | Bin .../SourceCodePro-BlackItalic.ttf | Bin .../SourceCodePro/SourceCodePro-Bold.ttf | Bin .../SourceCodePro-BoldItalic.ttf | Bin .../SourceCodePro/SourceCodePro-ExtraBold.ttf | Bin .../SourceCodePro-ExtraBoldItalic.ttf | Bin .../SourceCodePro-ExtraLight.ttf | Bin .../SourceCodePro-ExtraLightItalic.ttf | Bin .../SourceCodePro/SourceCodePro-Italic.ttf | Bin .../SourceCodePro/SourceCodePro-Light.ttf | Bin .../SourceCodePro-LightItalic.ttf | Bin .../SourceCodePro/SourceCodePro-Medium.ttf | Bin .../SourceCodePro-MediumItalic.ttf | Bin .../SourceCodePro/SourceCodePro-Regular.ttf | Bin .../SourceCodePro/SourceCodePro-SemiBold.ttf | Bin .../SourceCodePro-SemiBoldItalic.ttf | Bin .../WpfApp/WpfApp/Assets/Ico/Application.ico | Bin .../WpfApp/WpfApp/Assets/Png/Application.png | Bin .../WpfApp/WpfApp/Assets/Png/github.png | Bin .../WpfApp/WpfApp/Assets/Png/settings.png | Bin .../WpfApp/Extensions/ExtensionsString.cs | 0 .../WpfApp/WpfApp/Properties/AssemblyInfo.cs | 0 .../WpfApp/WpfApp/Properties/app.manifest | 0 .../WpfApp/WpfApp/Properties/appsettings.json | 0 .../content/WpfApp/WpfApp/Properties/demo.db | Bin .../ResourceDesigner/Resource.Designer.cs | 0 .../WpfApp/ResourceDesigner/Resource.de.resx | 0 .../WpfApp/ResourceDesigner/Resource.en.resx | 0 .../WpfApp/ResourceDesigner/Resource.es.resx | 0 .../WpfApp/ResourceDesigner/Resource.fr.resx | 0 .../WpfApp/ResourceDesigner/Resource.it.resx | 0 .../WpfApp/ResourceDesigner/Resource.pt.resx | 0 .../WpfApp/ResourceDesigner/Resource.resx | 0 .../WpfApp/ViewModels/AboutViewModel.cs | 0 .../WpfApp/WpfApp/ViewModels/HomeViewModel.cs | 0 .../WpfApp/ViewModels/NavbarViewModel.cs | 0 .../WpfApp/ViewModels/SettingsViewModel.cs | 0 .../WpfApp/ViewModels/WindowViewModel.cs | 0 .../WpfApp/WpfApp/Views/AboutView.xaml | 0 .../WpfApp/WpfApp/Views/AboutView.xaml.cs | 0 .../content/WpfApp/WpfApp/Views/HomeView.xaml | 0 .../WpfApp/WpfApp/Views/HomeView.xaml.cs | 0 .../WpfApp/WpfApp/Views/NavbarView.xaml | 0 .../WpfApp/WpfApp/Views/NavbarView.xaml.cs | 0 .../WpfApp/WpfApp/Views/SettingsView.xaml | 0 .../WpfApp/WpfApp/Views/SettingsView.xaml.cs | 0 .../WpfApp/WpfApp/Views/WindowView.xaml | 0 .../WpfApp/WpfApp/Views/WindowView.xaml.cs | 0 .../Root/content/WpfApp/WpfApp/WpfApp.csproj | 0 224 files changed, 1026 insertions(+), 201 deletions(-) create mode 100644 .github/workflows/.gitignore create mode 100644 .github/workflows/cicd.ps1 create mode 100644 .github/workflows/cicd.yml create mode 100644 .github/workflows/cicd_build.ps1 create mode 100644 .github/workflows/cicd_build_clean.ps1 create mode 100644 .github/workflows/cicd_build_config.ps1 create mode 100644 .github/workflows/cicd_deploy.ps1 create mode 100644 .github/workflows/cicd_postdeploy_clean.ps1 create mode 100644 .github/workflows/cicd_postdeploy_run.ps1 create mode 100644 .github/workflows/cicd_prebuild_envars_check.ps1 create mode 100644 .github/workflows/cicd_prebuild_envars_prepare.ps1 create mode 100644 .github/workflows/cicd_prebuild_enviroment_configure.ps1 create mode 100644 .github/workflows/cicd_prebuild_enviroment_requirments.ps1 create mode 100644 .github/workflows/cicd_util.ps1 rename {images => assets/images}/Icon.xcf (100%) rename {images => assets/images}/Icon2.xcf (100%) rename {images => assets/images}/brand.png (100%) rename {images => assets/images}/logo.png (100%) rename {images => assets/images}/logo800x200.png (100%) rename {images => assets/images}/logoqubic.png (100%) rename {raw => assets/raw}/IMPORTANT.zip (100%) rename {raw => assets/raw}/JsonSourceFileGenerator.zip (100%) rename {raw => assets/raw}/Multipublish.csproj (100%) rename {raw => assets/raw}/NJsonSchemaTest.zip (100%) rename {raw => assets/raw}/common.drawio (100%) rename {raw => assets/raw}/common.xml (100%) rename {raw => assets/raw}/dotnet.bat (100%) rename {raw => assets/raw}/dotnet.sh (100%) rename {raw => assets/raw}/dotnetnew.sh (100%) rename {raw => assets/raw}/gitnotes.txt (100%) rename {raw => assets/raw}/gpgsetup.sh (100%) delete mode 100644 src/Package/Config/PackageMetadata.props delete mode 100644 src/Package/Config/PackageSpecs.props create mode 100644 src/Projects/Coree.Template.Project/.gitignore rename src/{ => Projects/Coree.Template.Project}/Coree.Template.Project.csproj (100%) create mode 100644 src/Projects/Coree.Template.Project/Package/Config/PackageMetadata.props create mode 100644 src/Projects/Coree.Template.Project/Package/Config/PackageSpecs.props rename src/{ => Projects/Coree.Template.Project}/Package/Config/ReleaseNotes.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/Icon.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/License.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/README.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/.gitignore (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/.config/dotnet-tools.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/BenchmarksTests.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/ClassLibrary.MSTest.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_local.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_web.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/getting-started.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/introduction.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/toc.yml (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/index.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/toc.yml (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/FunctionalTests.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary.sln (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/.config/dotnet-tools.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/Class1.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/ClassLibrary.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageMetadata.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageSpecs.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/ReleaseNotes.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Icon.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/License.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ClassLibrary/global.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/.gitignore (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/ConsoleApp.Library/Class1.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/ConsoleApp.Library/ConsoleApp.Library.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/ConsoleApp.MSTest.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/FunctionalTests.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/ConsoleApp.sln (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/ConsoleApp/ConsoleApp.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/ConsoleApp/Program.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ConsoleApp/global.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/.gitignore (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/FunctionalTests.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/IntegrationTests.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/MSBuildLibrary.MSTest.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/Resources/TestScript.msbuild (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary.sln (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/AddTask.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/BuildEngineExtensions.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpEnvVarsTask.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpGlobalPropTask.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/HomeTask.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/MSBuildLibrary.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageFileMappings.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageMetadata.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageSpecs.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/ReleaseNotes.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Icon.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/License.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.targets (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/MSBuildLibrary/MSBuildLibrary/TaskNodeTask.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/.gitignore (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool.MSTest/FunctionalTests.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool.MSTest/IntegrationTests.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool.MSTest/NetTool.MSTest.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool.sln (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/NetTool.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/Package/Config/PackageFileMappings.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/Package/Config/PackageMetadata.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/Package/Config/PackageSpecs.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/Package/Config/ReleaseNotes.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/Package/Root/Icon.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/Package/Root/License.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/Package/Root/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/NetTool/NetTool/Program.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/CommandLet.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Default.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/PackageConfig.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/PackageMetadata.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psd1 (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psm1 (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/PackageRoot/Icon.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/PackageRoot/License.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/PackageRoot/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/PackageSpecs.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/PowershellLibrary/Package/ReleaseNotes.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/.gitignore (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Config/PackageMetadata.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Config/PackageSpecs.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Config/ReleaseNotes.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Root/Icon.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Root/License.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Root/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/Class1.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/ClassLibrary.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/templateDir/templateJson.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/ProjectTemplate.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/ProjectTemplate/ProjectTemplate.sln (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/.gitignore (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree.MSTest/SourceGeneratorCoree.MSTest.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree.sln (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Main.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageFileMappings.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageMetadata.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageSpecs.props (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/ReleaseNotes.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Icon.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/License.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Readme.md (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/SourceGenerator/SourceGeneratorCoree/SourceGeneratorCoree.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/.gitignore (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms.Library/Class1.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms.Library/Winforms.Library.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms.sln (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms/Form1.Designer.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms/Form1.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms/Program.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms/Properties/app.manifest (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms/Properties/appsettings.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms/Resources/application.ico (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/Winforms/Winforms/Winforms.csproj (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/.gitignore (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/.template.config/template.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp.sln (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Application/App.xaml (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Application/App.xaml.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/OFL.txt (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Black.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BlackItalic.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Bold.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BoldItalic.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBold.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBoldItalic.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLight.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLightItalic.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Italic.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Light.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-LightItalic.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Medium.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-MediumItalic.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Regular.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBold.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBoldItalic.ttf (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Ico/Application.ico (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Png/Application.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Png/github.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Assets/Png/settings.png (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Extensions/ExtensionsString.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Properties/AssemblyInfo.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Properties/app.manifest (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Properties/appsettings.json (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Properties/demo.db (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.Designer.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.de.resx (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.en.resx (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.es.resx (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.fr.resx (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.it.resx (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.pt.resx (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.resx (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ViewModels/AboutViewModel.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ViewModels/HomeViewModel.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ViewModels/NavbarViewModel.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ViewModels/SettingsViewModel.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/ViewModels/WindowViewModel.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml.cs (100%) rename src/{ => Projects/Coree.Template.Project}/Package/Root/content/WpfApp/WpfApp/WpfApp.csproj (100%) diff --git a/.github/workflows/.gitignore b/.github/workflows/.gitignore new file mode 100644 index 0000000..438bebe --- /dev/null +++ b/.github/workflows/.gitignore @@ -0,0 +1,2 @@ +*secrets*.ps1 +*.log \ No newline at end of file diff --git a/.github/workflows/cicd.ps1 b/.github/workflows/cicd.ps1 new file mode 100644 index 0000000..5e2790b --- /dev/null +++ b/.github/workflows/cicd.ps1 @@ -0,0 +1,28 @@ +param ( + [string]$PAT = $args[0], + [string]$NUGET_PAT = $args[1], + [string]$NUGET_TEST_PAT= $args[2] +) + +$ErrorActionPreference = 'Stop' + +Start-Transcript -Path "$(Join-Path -Path "$PSScriptRoot" -ChildPath "$($(Get-ChildItem "$PSCommandPath").BaseName)-$(Get-Date -f 'yyyyMMdd_HHmmss').log")" + +. "$PSScriptRoot/cicd_util.ps1" +. "$PSScriptRoot/cicd_prebuild_enviroment_requirments.ps1" +. "$PSScriptRoot/cicd_prebuild_envars_prepare.ps1" +. "$PSScriptRoot/cicd_prebuild_envars_check.ps1" +. "$PSScriptRoot/cicd_prebuild_enviroment_configure.ps1" + +. "$PSScriptRoot/cicd_build_clean.ps1" +. "$PSScriptRoot/cicd_build_config.ps1" +. "$PSScriptRoot/cicd_build.ps1" + +. "$PSScriptRoot/cicd_deploy.ps1" + + +#git status --porcelain $sourceCodeFolder + +Stop-Transcript + +$x=1 \ No newline at end of file diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml new file mode 100644 index 0000000..e2948fd --- /dev/null +++ b/.github/workflows/cicd.yml @@ -0,0 +1,55 @@ +# This workflow will build a .NET project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net +# https://github.com/actions + +name: CICD + +on: + pull_request: + paths: + - 'src/**' + branches: + - 'master' + - 'release' + - 'develop' + - 'feature' + - 'hotfix' + - 'master/**' + - 'release/**' + - 'develop/**' + - 'feature/**' + - 'hotfix/**' + repository_dispatch: + types: + - builddispatch + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-latest + + env: + GH_TOKEN: ${{ github.token }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup-dotnet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + + - name: Diagnostic print enviroment vars + run: printenv + + - name: Display dotnet version + run: dotnet --version + + - name: Display powershell core version + run: pwsh --version + + - name: Workflow Build/Deploy + run: .github/workflows/cicd.ps1 "${{ secrets.PAT }}" "${{ secrets.NUGET_PAT }}" "${{ secrets.NUGET_TEST_PAT }}" + shell: pwsh diff --git a/.github/workflows/cicd_build.ps1 b/.github/workflows/cicd_build.ps1 new file mode 100644 index 0000000..02d7f14 --- /dev/null +++ b/.github/workflows/cicd_build.ps1 @@ -0,0 +1,23 @@ +###################################################################################### +Log-Block -Stage "Build" -Section "Restore" -Task "Restoreing nuget packages." + +if ($null -ne $dotnet_restore_param) +{ + Execute-Command "dotnet restore $topLevelPath/$sourceCodeFolder $dotnet_restore_param" +} + +###################################################################################### +Log-Block -Stage "Build" -Section "Build" -Task "Building the solution." + +if ($null -ne $dotnet_build_param) +{ + Execute-Command "dotnet build $topLevelPath/$sourceCodeFolder $dotnet_build_param" +} + +###################################################################################### +Log-Block -Stage "Build" -Section "Pack" -Task "Creating a nuget package." + +if ($null -ne $dotnet_pack_param) +{ + Execute-Command "dotnet pack $topLevelPath/$sourceCodeFolder $dotnet_pack_param" +} diff --git a/.github/workflows/cicd_build_clean.ps1 b/.github/workflows/cicd_build_clean.ps1 new file mode 100644 index 0000000..09536bc --- /dev/null +++ b/.github/workflows/cicd_build_clean.ps1 @@ -0,0 +1,10 @@ + +###################################################################################### +Log-Block -Stage "Setup" -Section "Clean" -Task "Clean local binaries" + +# Example of how to call the function and capture the results +$results = Find-SpecialSubfolders -Path "$topLevelPath/$sourceCodeFolder" -FolderNames @('bin', 'obj') +foreach($item in $results) +{ + Remove-FilesAndDirectories -FolderPath $item -DumpDeleted $false +} \ No newline at end of file diff --git a/.github/workflows/cicd_build_config.ps1 b/.github/workflows/cicd_build_config.ps1 new file mode 100644 index 0000000..e6f378c --- /dev/null +++ b/.github/workflows/cicd_build_config.ps1 @@ -0,0 +1,46 @@ +###################################################################################### +Log-Block -Stage "Resolving" -Section "Branch" -Task "Config values for branches" + +# Some variables can be $null or unset indicating a skipping step. + +if ($branchNameSegment -ieq "feature") { + + $version = "--property:AssemblyVersion=$fullVersion --property:VersionPrefix=$fullVersion --property:VersionSuffix=$branchNameSegment" + + $dotnet_restore_param = ""; + $dotnet_build_param = "--no-restore --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + $dotnet_pack_param = "--force --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + +} elseif ($branchNameSegment -ieq "develop") { + + $version = "--property:AssemblyVersion=$fullVersion --property:VersionPrefix=$fullVersion --property:VersionSuffix=$branchNameSegment" + + $dotnet_restore_param = ""; + $dotnet_build_param = "--no-restore --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + $dotnet_pack_param = "--force --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + +} elseif ($branchNameSegment -ieq "release") { + + $version = "--property:AssemblyVersion=$fullVersion --property:VersionPrefix=$fullVersion" + + $dotnet_restore_param = ""; + $dotnet_build_param = "--no-restore --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + $dotnet_pack_param = "--force --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + +} elseif ($branchNameSegment -ieq "master") { + + $version = "--property:AssemblyVersion=$fullVersion --property:VersionPrefix=$fullVersion" + + $dotnet_restore_param = ""; + $dotnet_build_param = "--no-restore --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + $dotnet_pack_param = "--force --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + +} elseif ($branchNameSegment -ieq "hotfix") { + + $version = "--property:AssemblyVersion=$fullVersion --property:VersionPrefix=$fullVersion" + + $dotnet_restore_param = ""; + $dotnet_build_param = "--no-restore --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + $dotnet_pack_param = "--force --configuration Release --property:ContinuousIntegrationBuild=true --property:WarningLevel=3 $version"; + +} diff --git a/.github/workflows/cicd_deploy.ps1 b/.github/workflows/cicd_deploy.ps1 new file mode 100644 index 0000000..c078965 --- /dev/null +++ b/.github/workflows/cicd_deploy.ps1 @@ -0,0 +1,83 @@ +###################################################################################### +Log-Block -Stage "Deploy" -Section "Nuget" -Task "Nuget" + +if ($branchNameSegment -ieq "feature") { + + $basePath = "$topLevelPath/src/Projects/Coree.Template.Project" + $pattern = "*.nupkg" + $firstFileMatch = Get-ChildItem -Path $basePath -Filter $pattern -File -Recurse | Select-Object -First 1 + Execute-Command "dotnet nuget push ""$($firstFileMatch.FullName)"" --api-key $PAT --source ""github""" + +} elseif ($branchNameSegment -ieq "develop") { + + $basePath = "$topLevelPath/src/Projects/Coree.Template.Project" + $pattern = "*.nupkg" + $firstFileMatch = Get-ChildItem -Path $basePath -Filter $pattern -File -Recurse | Select-Object -First 1 + Execute-Command "dotnet nuget push ""$($firstFileMatch.FullName)"" --api-key $PAT --source ""github""" + +} elseif ($branchNameSegment -ieq "release") { + + $basePath = "$topLevelPath/src/Projects/Coree.Template.Project" + $pattern = "*.nupkg" + $firstFileMatch = Get-ChildItem -Path $basePath -Filter $pattern -File -Recurse | Select-Object -First 1 + Execute-Command "dotnet nuget push ""$($firstFileMatch.FullName)"" --api-key $PAT --source ""github""" + + dotnet nuget push "$($firstFileMatch.FullName)" --api-key $NUGET_TEST_PAT --source https://apiint.nugettest.org/v3/index.json + +} elseif ($branchNameSegment -ieq "master") { + + $basePath = "$topLevelPath/src/Projects/Coree.Template.Project" + $pattern = "*.nupkg" + $firstFileMatch = Get-ChildItem -Path $basePath -Filter $pattern -File -Recurse | Select-Object -First 1 + Execute-Command "dotnet nuget push ""$($firstFileMatch.FullName)"" --api-key $PAT --source ""github""" + + dotnet nuget push "$($firstFileMatch.FullName)" --api-key $NUGET_PAT --source https://api.nuget.org/v3/index.json + +} elseif ($branchNameSegment -ieq "hotfix") { + + $basePath = "$topLevelPath/src/Projects/Coree.Template.Project" + $pattern = "*.nupkg" + $firstFileMatch = Get-ChildItem -Path $basePath -Filter $pattern -File -Recurse | Select-Object -First 1 + Execute-Command "dotnet nuget push ""$($firstFileMatch.FullName)"" --api-key $PAT --source ""github""" + + dotnet nuget push "$($firstFileMatch.FullName)" --api-key $NUGET_PAT --source https://api.nuget.org/v3/index.json +} + +###################################################################################### +Log-Block -Stage "Post Deploy" -Section "Tag and Push" -Task "" + +if ($branchNameSegment -eq "master" -OR $branchNameSegment -eq "release" -OR $branchNameSegment -eq "hostfix") +{ + $tag = "v$fullVersion" +} +else { + $tag = "v$fullVersion-$branchNameSegment" +} + +$gitUserLocal = git config user.name +$gitMailLocal = git config user.email + +# Check if the variables are null or empty (including whitespace) +if ([string]::IsNullOrWhiteSpace($gitUserLocal) -or [string]::IsNullOrWhiteSpace($gitMailLocal)) { + $gitTempUser= "Workflow" + $gitTempMail = "carstenriedel@outlook.com" # Assuming a placeholder email +} else { + $gitTempUser= $gitUserLocal + $gitTempMail = $gitMailLocal +} + +git config user.name $gitTempUser +git config user.email $gitTempMail + +Execute-Command -Command "git add --all" +Execute-Command -Command "git commit -m ""Updated form Workflow [no ci]""" -ExpectedExitCodes @(0,1) +Execute-Command -Command "git push origin $branchName" +Execute-Command -Command "git tag -a ""$tag"" -m ""[no ci]""" +Execute-Command -Command "git push origin ""$tag""" +$PAT | gh auth login --with-token +Execute-Command -Command "gh release create ""$tag"" --notes ""auto create release $tag""" +Execute-Command -Command "gh release upload ""$tag"" ""$($firstFileMatch.FullName)"" --clobber" + +#restore +git config user.name $gitUserLocal +git config user.email $gitMailLocal \ No newline at end of file diff --git a/.github/workflows/cicd_postdeploy_clean.ps1 b/.github/workflows/cicd_postdeploy_clean.ps1 new file mode 100644 index 0000000..aef2a4f --- /dev/null +++ b/.github/workflows/cicd_postdeploy_clean.ps1 @@ -0,0 +1,17 @@ + +###################################################################################### +Log-Block -Stage "Post Deploy" -Section "Cleanup Packagelist" -Task "" + +$headers = @{ + Authorization = "Bearer $PAT" +} +$uri = "https://api.github.com/users/$gitOwner/packages/nuget/$gitRepo/versions" + +$GitHubNugetPackagelist = Invoke-RestMethod -Uri $uri -Headers $headers +$GitHubNugetPackagelistOld = $GitHubNugetPackagelist | Where-Object { $_.name -like "*$branchNameSegment" } | Sort-Object -Property created_at -Descending | Select-Object -Skip 2 +foreach ($item in $GitHubNugetPackagelistOld) +{ + $PackageId = $item.id + Invoke-RestMethod -Method Delete -Uri "https://api.github.com/users/$gitOwner/packages/nuget/$gitRepo/versions/$PackageId" -Headers $headers | Out-Null + Write-Output "Unlisted package $gitRepo $($item.name)" +} diff --git a/.github/workflows/cicd_postdeploy_run.ps1 b/.github/workflows/cicd_postdeploy_run.ps1 new file mode 100644 index 0000000..b8d0b7f --- /dev/null +++ b/.github/workflows/cicd_postdeploy_run.ps1 @@ -0,0 +1,19 @@ + +###################################################################################### +Log-Block -Stage "Call" -Section "Dispatch" -Task "dispatching a other job" + +if ($branchNameSegment -ieq "master") { + $worklowFileName = "pages.yml" + $uri = "https://api.github.com/repos/$gitOwner/$gitRepo/actions/workflows/$worklowFileName/dispatches" + $headers = @{ + "Accept" = "application/vnd.github+json" + "X-GitHub-Api-Version" = "2022-11-28" + "Authorization" = "Bearer $PAT" + "Content-Type" = "application/json" + } + $body = @{ + ref = "$branchName" + } | ConvertTo-Json + + Invoke-WebRequest -Uri $uri -Method Post -Headers $headers -Body $body -Verbose | Out-Null +} \ No newline at end of file diff --git a/.github/workflows/cicd_prebuild_envars_check.ps1 b/.github/workflows/cicd_prebuild_envars_check.ps1 new file mode 100644 index 0000000..4a9de95 --- /dev/null +++ b/.github/workflows/cicd_prebuild_envars_check.ps1 @@ -0,0 +1,32 @@ +###################################################################################### +Log-Block -Stage "Prebuild envars" -Section "Check" -Task "Valid branch names." + +$isValidBranchRootName = @("feature", "develop", "release", "master", "main" , "hotfix" ) + +if (-not($isValidBranchRootName.ToLower() -contains $branchNameSegment)) { + Write-Host "No configuration for branches $branchNameSegment. Exiting" + exit 1 +} +else { + Write-Host "Configuration for branch '$branchNameSegment' will be used." +} + +###################################################################################### +Log-Block -Stage "Prebuild envars" -Section "Check" -Task "Variables are set." + +Ensure-VariableSet -VariableName "`$branchName" -VariableValue "$branchName" +Ensure-VariableSet -VariableName "`$branchNameSegment" -VariableValue "$branchNameSegment" +Ensure-VariableSet -VariableName "`$topLevelPath" -VariableValue "$topLevelPath" +Ensure-VariableSet -VariableName "`$topLevelDirectory" -VariableValue "$topLevelDirectory" +Ensure-VariableSet -VariableName "`$gitRemoteOriginUrl" -VariableValue "$gitRemoteOriginUrl" +Ensure-VariableSet -VariableName "`$gitOwner" -VariableValue "$gitOwner" +Ensure-VariableSet -VariableName "`$gitRepo" -VariableValue "$gitRepo" +Ensure-VariableSet -VariableName "`$sourceCodeFolder" -VariableValue "$sourceCodeFolder" +Ensure-VariableSet -VariableName "`$versionMajor" -VariableValue "$versionMajor" +Ensure-VariableSet -VariableName "`$versionMinor" -VariableValue "$versionMinor" +Ensure-VariableSet -VariableName "`$versionBuild" -VariableValue "$versionBuild" +Ensure-VariableSet -VariableName "`$versionRevision" -VariableValue "$versionRevision" +Ensure-VariableSet -VariableName "`$fullVersion" -VariableValue "$fullVersion" +Ensure-VariableSet -VariableName "`$PAT" -VariableValue "$PAT" +Ensure-VariableSet -VariableName "`$NUGET_PAT" -VariableValue "$NUGET_PAT" +Ensure-VariableSet -VariableName "`$NUGET_TEST_PAT" -VariableValue "$NUGET_TEST_PAT" \ No newline at end of file diff --git a/.github/workflows/cicd_prebuild_envars_prepare.ps1 b/.github/workflows/cicd_prebuild_envars_prepare.ps1 new file mode 100644 index 0000000..cd332af --- /dev/null +++ b/.github/workflows/cicd_prebuild_envars_prepare.ps1 @@ -0,0 +1,46 @@ +###################################################################################### +Log-Block -Stage "Prebuild envars" -Section "Prepare" -Task "Secrets" + +$secretsPath = "$PSScriptRoot/cicd_secrets.ps1" +# Check if the secrets file exists before importing +if (Test-Path $secretsPath) { + . "$secretsPath" + Write-Host "Secrets loaded from file." +} else { + Write-Host "Secrets will be taken from args." +} + +###################################################################################### +Log-Block -Stage "Prebuild envars" -Section "Prepare" -Task "Set fixed values" + +$sourceCodeFolder = "src" +$versionMajor = "0" +$versionMinor = "1" +$versionBuild = Get-BaseVersionBuild +$versionRevision = Get-BaseVersionRevision +$fullVersion = "$versionMajor.$versionMinor.$versionBuild.$versionRevision" + +###################################################################################### +Log-Block -Stage "Prebuild envars" -Section "Prepare" -Task "Resolving branchnames and paths." + +$branchName = Get-GitBranchName +$branchNameSegment = @(Get-NormalizedPathSegments -InputPath $branchName)[0].ToLower() + +$topLevelPath = Get-GitTopLevelPath +$topLevelDirectory = @(Get-NormalizedPathSegments -InputPath $topLevelPath)[-1] + +$gitRemoteOriginUrl = Get-GitRemoteOriginUrl +$gitOwner = @(Get-NormalizedPathSegments -InputPath $gitRemoteOriginUrl)[1] +$gitRepo = @(Get-NormalizedPathSegments -InputPath $gitRemoteOriginUrl)[2] + +Write-Host "branchName is : $branchName" +Write-Host "branchNameSegment is : $branchNameSegment" +Write-Host "topLevelPath is : $topLevelPath" +Write-Host "topLevelDirectory is : $topLevelDirectory" +Write-Host "gitRemoteOriginUrl is : $gitRemoteOriginUrl" +Write-Host "gitOwner is : $gitOwner" +Write-Host "gitRepo is : $gitRepo" +Write-Host "fullVersion is : $fullVersion" + + + diff --git a/.github/workflows/cicd_prebuild_enviroment_configure.ps1 b/.github/workflows/cicd_prebuild_enviroment_configure.ps1 new file mode 100644 index 0000000..99f0e40 --- /dev/null +++ b/.github/workflows/cicd_prebuild_enviroment_configure.ps1 @@ -0,0 +1,24 @@ + +###################################################################################### +#Log-Block -Stage "cicd_prebuild_enviroment_prepare" -Section "Tools" -Task "Install dotnet tools" + +#if (-not (Test-CommandAvailability -CommandName "docfx")) +#{ +# Execute-Command "dotnet tool install --global docfx --version 2.74.1" +#} + +###################################################################################### +#Log-Block -Stage "cicd_prebuild_enviroment_prepare" -Section "Tools" -Task "Install powershell modules" + +#if (-not (Test-CommandAvailability -CommandName "New-PGPKey")) +#{ +# Install-Module -Name PSPGP -AcceptLicense -AllowClobber -AllowPrerelease -Force +#} + + +###################################################################################### +Log-Block -Stage "Prebuild enviroment" -Section "Prepare" -Task "Add github nuget source" + +Execute-Command "dotnet nuget remove source github" -ExpectedExitCodes @(0,1) +Execute-Command "dotnet nuget add source --username carsten-riedel --password $PAT --store-password-in-clear-text --name github ""https://nuget.pkg.github.com/carsten-riedel/index.json""" + diff --git a/.github/workflows/cicd_prebuild_enviroment_requirments.ps1 b/.github/workflows/cicd_prebuild_enviroment_requirments.ps1 new file mode 100644 index 0000000..6642cd6 --- /dev/null +++ b/.github/workflows/cicd_prebuild_enviroment_requirments.ps1 @@ -0,0 +1,36 @@ + +###################################################################################### +Log-Block -Stage "Prebuild enviroment" -Section "Requirments" -Task "Commands setup." + +# Check availability of required commands +$result = Test-CommandsAvailabilities -CommandList @("git", "dotnet", "pwsh" , "curl" , "gh") +if (-not $result) { + Write-Host "One or more required commands are unavailable. Stopping execution." + exit 1 +} + +###################################################################################### +Log-Block -Stage "Prebuild enviroment" -Section "Requirments" -Task "Git setup." + +# Verify that the current directory is a Git repository +$result = Test-IsGitDirectory +if (-not $result) { + Write-Host "The directory is not a Git repository." + exit 1 +} + +# Check for the existence of a remote named 'origin' in the current Git repository +$result = Test-GitRemoteExistence +if (-not $result) { + Write-Host "This Git repository does not have a remote named 'origin'." + exit 1 +} + +###################################################################################### +Log-Block -Stage "Prebuild enviroment" -Section "Requirments" -Task "Github setup." + +$result = Test-GitHubRemoteExistence +if (-not $result) { + Write-Host "This Git is not a github repository." + exit 1 +} \ No newline at end of file diff --git a/.github/workflows/cicd_util.ps1 b/.github/workflows/cicd_util.ps1 new file mode 100644 index 0000000..2b1a063 --- /dev/null +++ b/.github/workflows/cicd_util.ps1 @@ -0,0 +1,500 @@ +function Log-Block { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] + param ( + [string]$Stage, + [string]$Section, + [string]$Task + ) + Write-Output "_" + Write-Output "===============================================================================================================" + if (-not [string]::IsNullOrEmpty($Stage)) { + $output = "Stage: {0} Section: {1} Task: {2} " -f $Stage.PadRight(15), $Section.PadRight(20), $Task.PadRight(35) + Write-Output $output + } + Write-Output "===============================================================================================================" +} + +function Get-NormalizedPathSegments { + param ( + [string]$InputPath + ) + + try { + # Check if the input is a well-formed absolute URI + if ([Uri]::IsWellFormedUriString($InputPath, [UriKind]::Absolute)) { + $uri = New-Object System.Uri $InputPath + # Normalize by combining the host and the absolute path + $normalizedPath = $uri.Host + $uri.AbsolutePath + } else { + # Treat the input as a local path if it's not a valid absolute URI + $normalizedPath = $InputPath + } + + # Normalize and split the path into segments + $pathSegments = $normalizedPath -split '[\\/]+' # Split on both forward and back slashes + + return $pathSegments # Return the array of segments + } catch { + Write-Host "Error processing the path: $_" + return $null + } +} + + +function Set-BaseVersion { + + [void]([Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUserDeclaredVarsMoreThanAssignments','')] $global:BaseVersionTicks = [DateTime]::UtcNow.Ticks - [DateTime]::new(2000, 1, 1, 0, 0, 0, [DateTimeKind]::Utc).Ticks) + [void]([Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUserDeclaredVarsMoreThanAssignments','')] $global:BaseVersionTicksPerDay = [TimeSpan]::TicksPerDay) +} + +Set-BaseVersion + +function Get-BaseVersionBuild { + $assemblyVersionBuild = [Math]::Truncate($global:BaseVersionTicks / $global:BaseVersionTicksPerDay) + return $assemblyVersionBuild +} + +function Get-BaseVersionRevision { + + $assemblyVersionTotalSeconds = [Math]::Truncate($global:BaseVersionTicks / [TimeSpan]::TicksPerSecond) + $assemblyVersionRemainingSeconds = [Math]::Truncate($assemblyVersionTotalSeconds % 86400) + $assemblyVersionRevision = [Math]::Truncate($assemblyVersionRemainingSeconds / 2) + return $assemblyVersionRevision +} + +function Test-CommandAvailability { + param ( + [Parameter(Mandatory = $true)] + [string]$CommandName + ) + + try { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUserDeclaredVarsMoreThanAssignments','')] + $commandInfo = Get-Command $CommandName -ErrorAction Stop + Write-Host "Command is available : $CommandName" + return $true + } + catch { + Write-Host "Command is not available: $CommandName" + return $false + } +} + +function Test-CommandsAvailabilities { + param ( + [Parameter(Mandatory = $true)] + [string[]]$CommandList + ) + + foreach ($item in $CommandList) { + $testResult = Test-CommandAvailability -CommandName $item + if (-not $testResult) { + Write-Host "Stopping checks: '$item' is not available." + return $false + } + } + + return $true +} + +function Test-IsGitDirectory { + param ( + [string]$Path = (Get-Location).Path # Defaults to the current working directory's path + ) + + try { + # Attempt to get the top-level directory of the git repository for the given path + $gitTopLevel = git -C $Path rev-parse --show-toplevel + + if ($null -eq $gitTopLevel) { + Write-Host "The path '$Path' is not within a git repository." + return $false + } else { + Write-Host "The path '$Path' is within a git repository." + return $true + } + } catch { + Write-Host "Error determining git repository status for the path: $Path" + return $false + } +} + +function Test-GitRemoteExistence { + param ( + [string]$Path = (Get-Location).Path + ) + + try { + # Attempt to retrieve the URL of the 'origin' remote of the Git repository + $gitRemoteOriginUrl = git -C $Path config --get remote.origin.url + + if ($null -eq $gitRemoteOriginUrl) { + Write-Host "The Git repository does not have a remote named 'origin'." + return $false + } else { + Write-Host "The Git repository has a remote named 'origin'." + return $true + } + } catch { + Write-Host "Error determining the existence of a remote for the Git repository." + return $false + } +} + +function Test-UrlRootDomainMatch { + param ( + [string]$Url, + [string]$ExpectedRootDomain + ) + + try { + # Convert the string URL to a URI object + $uri = [System.Uri]$Url + + # Extract the domain part of the URI + $actualDomain = $uri.Host + + # Perform a case-insensitive 'contains' check + if ($actualDomain.IndexOf($ExpectedRootDomain, [StringComparison]::OrdinalIgnoreCase) -ne -1) { + return $true + } else { + return $false + } + } catch { + Write-Host "Processing error for URL '$Url': $_" + return $false + } +} + +function Test-GitHubRemoteExistence { + param ( + [string]$Path = (Get-Location).Path # Defaults to the current working directory's path + ) + + try { + # Attempt to retrieve the URL of the 'origin' remote of the Git repository + $gitRemoteOriginUrl = git -C $Path config --get remote.origin.url + + # Check if the remote URL is from GitHub + $result = Test-UrlRootDomainMatch -Url $gitRemoteOriginUrl -ExpectedRootDomain "github.com" + + if ($result) { + Write-Host "The Git remote URL '$gitRemoteOriginUrl' contains the expected value 'github.com'." + return $true + } else { + Write-Host "The Git remote URL '$gitRemoteOriginUrl' does not contain the expected value 'github.com'." + return $false + } + } catch { + Write-Host "Error determining the remote configuration of the Git repository." + return $false + } +} + +function Get-GitBranchName { + param ( + [string]$Path = (Get-Location).Path # Defaults to the current working directory's path + ) + try { + # Attempt to get the current Git branch name + $branch = git -C $Path rev-parse --abbrev-ref HEAD + if ($branch) { + return $branch + } else { + return $null + } + } catch { + return $null + } +} + +function Get-GitTopLevelPath { + param ( + [string]$Path = (Get-Location).Path # Defaults to the current working directory's path + ) + try { + # Attempt to get the current Git branch name + $topLevelPath = git -C $Path rev-parse --show-toplevel + if ($topLevelPath) { + return $topLevelPath + } else { + return $null + } + } catch { + return $null + } +} + +function Get-GitRemoteOriginUrl { + param ( + [string]$Path = (Get-Location).Path # Defaults to the current working directory's path + ) + try { + # Attempt to get the current Git branch name + $gitRemoteOriginUrl = git -C $Path config --get remote.origin.url + if ($gitRemoteOriginUrl) { + return $gitRemoteOriginUrl + } else { + return $null + } + } catch { + return $null + } +} + + + +<# +.SYNOPSIS +Executes a specified command and checks if the exit code is one of the expected codes. + +.DESCRIPTION +The function executes a command using Invoke-Expression. It throws an error if the exit code of the command is not within the specified expected codes. + +.PARAMETER Command +The command string to be executed. + +.PARAMETER ExpectedExitCodes +An array of integers specifying acceptable exit codes. Defaults to 0. + +.EXAMPLE +Execute-Command "ping 8.8.8.8" +This example executes the ping command and checks if the exit code is 0. + +.EXAMPLE +Execute-Command "ping 8.8.8.8" -ExpectedExitCodes 0,1 +This example executes the ping command and checks if the exit code is either 0 or 1. +#> +function Execute-Command { + [CmdletBinding()] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] + param ( + [string]$Command, + [int[]]$ExpectedExitCodes = @(0) + ) + + + # Output the command being executed for transparency + Write-Output "Executing command: $Command" + + # Execute the command using Invoke-Expression + Invoke-Expression -Command $Command + + # Check if the exit code is not in the expected array + if (-not $ExpectedExitCodes.Contains($LASTEXITCODE)) { + throw "Unexpected exit code: $($LASTEXITCODE). Expected: $($ExpectedExitCodes -join ', ')" + } + else { + Write-Output "Expected exit code: $($LASTEXITCODE)" + } +} + + + +function Ensure-VariableSet { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] + param ( + [Parameter(Mandatory = $true)] + [string]$VariableName, + + [Parameter(Mandatory = $true)] + [AllowEmptyString()] + [AllowNull()] + [string]$VariableValue + ) + process { + if ([string]::IsNullOrEmpty($VariableValue)) { + $output = "VariableName: {0} is not set." -f $VariableName.PadRight(30) + Write-Output $output + throw "$output"; + } + else { + Write-Output ("VariableName: {0} is set." -f $VariableName.PadRight(30)) + } + } +} + +function Find-SpecialSubfolders { + [CmdletBinding()] + param ( + [string]$Path, # The root path where the search will begin + [string[]]$FolderNames = @('bin', 'obj') # Default folders to search for and skip recursion + ) + + # ArrayList to hold the results for better performance than a regular array + $foundDirectories = New-Object System.Collections.ArrayList + + # Internal function to handle recursion manually + function Search-Directories { + param ( + [string]$SearchPath + ) + + # Try to get directories in the current path + try { + $directories = Get-ChildItem -Path $SearchPath -Directory -Force -ErrorAction Stop + } catch { + Write-Host "Skipping inaccessible directory: $SearchPath" + return # Skip this directory and return to continue with others + } + + foreach ($dir in $directories) { + if ($FolderNames -contains $dir.Name) { + # Add the directory to the result list + $null = $foundDirectories.Add($dir.FullName) + + # Skip further recursion into directories listed in FolderNames + continue + } + + # Recursively search the next level of directories + Search-Directories -SearchPath $dir.FullName + } + } + + try { + # Ensure the path exists + if (-Not (Test-Path $Path)) { + Write-Host "Specified path does not exist." + return + } + + # Start the recursive search from the root path + Search-Directories -SearchPath $Path + + # Return the list of found directories + return $foundDirectories + } catch { + Write-Host "An error occurred: $_" + } +} + +function Remove-FilesAndDirectories { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string]$FolderPath, # The root path where the cleanup will begin + [bool]$DumpDeleted = $true + ) + + # Internal function to recursively delete files + function Delete-Files { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] + param ([string]$Path) + $files = $null + try { + $files = Get-ChildItem -Path $Path -File -Force -ErrorAction Stop + } catch { + Write-Host "Unable to access files in: $Path" + } + foreach ($file in $files) { + try { + $file | Remove-Item -Force -ErrorAction Stop + if ($DumpDeleted) + { + Write-Host "Deleted file: $($file.FullName)" + } + } catch { + Write-Host "Failed to delete file: $($file.FullName)" + } + } + } + + # Internal function to recursively delete directories + function Delete-Directories { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] + param ([string]$Path) + $directories = $null + try { + $directories = Get-ChildItem -Path $Path -Directory -Force -ErrorAction Stop | Sort-Object -Property FullName -Descending + } catch { + Write-Host "Unable to access subdirectories in: $Path" + } + foreach ($dir in $directories) { + # Recursive call to delete files in subdirectories first + Delete-Files -Path $dir.FullName + Delete-Directories -Path $dir.FullName + try { + $dir | Remove-Item -Force -Recurse -ErrorAction Stop + if ($DumpDeleted) + { + Write-Host "Deleted directory: $($dir.FullName)" + } + } catch { + Write-Host "Failed to delete directory: $($dir.FullName)" + } + } + } + + # Check if the path is a valid directory + if (-Not (Test-Path $FolderPath -PathType Container)) { + Write-Host "The provided path is not a valid directory." + return + } + + # Start cleanup with file deletion followed by directory cleanup + try { + Delete-Files -Path $FolderPath + Delete-Directories -Path $FolderPath + } catch { + Write-Host "An error occurred during the cleanup process: $_" + } +} + +function Copy-Directory { + param ( + [string]$sourceDir, + [string]$destinationDir, + [string[]]$exclusions + ) + + $sourceDirParam = $sourceDir + $destinationDirParam = $destinationDir + + # Ensure that $sourceDir and $destinationDir are absolute paths + if (-not [System.IO.Path]::IsPathRooted($sourceDir)) { + $sourceDir = Join-Path (Get-Location) $sourceDir + } + + if (-not [System.IO.Path]::IsPathRooted($destinationDir)) { + $destinationDir = Join-Path (Get-Location) $destinationDir + } + + # Ensure paths end with a directory separator for consistent behavior + $sourceDir = [System.IO.Path]::GetFullPath($sourceDir) + $destinationDir = [System.IO.Path]::GetFullPath($destinationDir) + + # Get all items in the source directory + $items = Get-ChildItem -Path $sourceDir -Recurse + + foreach ($item in $items) { + # Check if the item is in an excluded directory + $excluded = $false + foreach ($exclusion in $exclusions) { + if ($item.FullName -like "*\$exclusion*") { + $excluded = $true + break + } + } + + if (-not $excluded) { + $relativePath = [System.IO.Path]::GetRelativePath($sourceDir, $item.FullName) + $targetPath = Join-Path -Path $destinationDir -ChildPath $relativePath + + + $relativeSource = Join-Path -Path $sourceDirParam -ChildPath $relativePath + $relativeDestination = Join-Path -Path $destinationDirParam -ChildPath $relativePath + + if ($item.PSIsContainer) { + # Create directory if it doesn't exist + if (-not (Test-Path -Path $targetPath)) { + New-Item -ItemType Directory -Path $targetPath + } + } else { + # Copy file + Copy-Item -Path $item.FullName -Destination $targetPath -Force + Write-Output "Copyied: $($relativeSource) --> $($relativeDestination)" + } + } + } +} \ No newline at end of file diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 3915e7b..7a81b2a 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -1,5 +1,5 @@ # Simple workflow for deploying static content to GitHub Pages -name: Deploy Pages +name: Pages on: # Runs on pushes targeting the default branch diff --git a/.gitignore b/.gitignore index c2eaa40..7d145a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,10 @@ .vs/** -src/.vs/** -src/bin/** -src/obj/** +src/*/.vs/** +src/*/bin/**/* +src/*/obj/**/* + +src/*/bin/**/* +src/*/obj/**/* + +src/Projects/Coree.Template.Project/bin/* +src/Projects/Coree.Template.Project/bin/** */ diff --git a/images/Icon.xcf b/assets/images/Icon.xcf similarity index 100% rename from images/Icon.xcf rename to assets/images/Icon.xcf diff --git a/images/Icon2.xcf b/assets/images/Icon2.xcf similarity index 100% rename from images/Icon2.xcf rename to assets/images/Icon2.xcf diff --git a/images/brand.png b/assets/images/brand.png similarity index 100% rename from images/brand.png rename to assets/images/brand.png diff --git a/images/logo.png b/assets/images/logo.png similarity index 100% rename from images/logo.png rename to assets/images/logo.png diff --git a/images/logo800x200.png b/assets/images/logo800x200.png similarity index 100% rename from images/logo800x200.png rename to assets/images/logo800x200.png diff --git a/images/logoqubic.png b/assets/images/logoqubic.png similarity index 100% rename from images/logoqubic.png rename to assets/images/logoqubic.png diff --git a/raw/IMPORTANT.zip b/assets/raw/IMPORTANT.zip similarity index 100% rename from raw/IMPORTANT.zip rename to assets/raw/IMPORTANT.zip diff --git a/raw/JsonSourceFileGenerator.zip b/assets/raw/JsonSourceFileGenerator.zip similarity index 100% rename from raw/JsonSourceFileGenerator.zip rename to assets/raw/JsonSourceFileGenerator.zip diff --git a/raw/Multipublish.csproj b/assets/raw/Multipublish.csproj similarity index 100% rename from raw/Multipublish.csproj rename to assets/raw/Multipublish.csproj diff --git a/raw/NJsonSchemaTest.zip b/assets/raw/NJsonSchemaTest.zip similarity index 100% rename from raw/NJsonSchemaTest.zip rename to assets/raw/NJsonSchemaTest.zip diff --git a/raw/common.drawio b/assets/raw/common.drawio similarity index 100% rename from raw/common.drawio rename to assets/raw/common.drawio diff --git a/raw/common.xml b/assets/raw/common.xml similarity index 100% rename from raw/common.xml rename to assets/raw/common.xml diff --git a/raw/dotnet.bat b/assets/raw/dotnet.bat similarity index 100% rename from raw/dotnet.bat rename to assets/raw/dotnet.bat diff --git a/raw/dotnet.sh b/assets/raw/dotnet.sh similarity index 100% rename from raw/dotnet.sh rename to assets/raw/dotnet.sh diff --git a/raw/dotnetnew.sh b/assets/raw/dotnetnew.sh similarity index 100% rename from raw/dotnetnew.sh rename to assets/raw/dotnetnew.sh diff --git a/raw/gitnotes.txt b/assets/raw/gitnotes.txt similarity index 100% rename from raw/gitnotes.txt rename to assets/raw/gitnotes.txt diff --git a/raw/gpgsetup.sh b/assets/raw/gpgsetup.sh similarity index 100% rename from raw/gpgsetup.sh rename to assets/raw/gpgsetup.sh diff --git a/src/Coree.Template.Project.sln b/src/Coree.Template.Project.sln index dd9078e..f7796cf 100644 --- a/src/Coree.Template.Project.sln +++ b/src/Coree.Template.Project.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.6.33815.320 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Coree.Template.Project", "Coree.Template.Project.csproj", "{615FAFED-1C63-45E7-B93E-8A8428B6DF53}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Coree.Template.Project", "Projects\Coree.Template.Project\Coree.Template.Project.csproj", "{5C3C4758-7E48-484D-BB3D-8AADC33528F1}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -10,10 +10,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {615FAFED-1C63-45E7-B93E-8A8428B6DF53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {615FAFED-1C63-45E7-B93E-8A8428B6DF53}.Debug|Any CPU.Build.0 = Debug|Any CPU - {615FAFED-1C63-45E7-B93E-8A8428B6DF53}.Release|Any CPU.ActiveCfg = Release|Any CPU - {615FAFED-1C63-45E7-B93E-8A8428B6DF53}.Release|Any CPU.Build.0 = Release|Any CPU + {5C3C4758-7E48-484D-BB3D-8AADC33528F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5C3C4758-7E48-484D-BB3D-8AADC33528F1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5C3C4758-7E48-484D-BB3D-8AADC33528F1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5C3C4758-7E48-484D-BB3D-8AADC33528F1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Package/Config/PackageMetadata.props b/src/Package/Config/PackageMetadata.props deleted file mode 100644 index bef6d6c..0000000 --- a/src/Package/Config/PackageMetadata.props +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - Carsten Riedel - Carsten Riedel - - Copyright © Carsten Riedel 2023 - Coree.Template.Project - Project;Templates;.NET - https://github.com/carsten-riedel/Coree.Template.Project - https://github.com/carsten-riedel/Coree.Template.Project - git - - 0 - 2 - 0 - 0 - $(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision) - prerelease - $(VersionPrefix) - $(VersionPrefix)-$(VersionSuffix) - $(PackageVersion) - $(VersionPrefix) - - - - - README.md - License.txt - Icon.png - $([System.IO.File]::ReadAllText("$(MSBuildThisFileDirectory)ReleaseNotes.txt")) - - - - - $([MSBuild]::Subtract($([System.DateTime]::UtcNow.Ticks), 630822816000000000)) - $([System.TimeSpan]::TicksPerDay) - $([System.TimeSpan]::TicksPerSecond) - $([System.Math]::Truncate($([MSBuild]::Divide($(AssemblyVersionBaseTicks), $(TicksPerDay))))) - $([System.Math]::Truncate($([MSBuild]::Divide($(AssemblyVersionBaseTicks), $(TicksPerSecond))))) - $([System.Math]::Truncate($([MSBuild]::Modulo($(AssemblyVersionTotalSeconds), 86400)))) - $([System.Math]::Truncate($([MSBuild]::Divide($(AssemblyVersionRemainingSeconds), 2)))) - $(AssemblyVersionBuild) - $(AssemblyVersionRevision) - $(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision) - prerelease - $(VersionPrefix) - $(VersionPrefix)-$(VersionSuffix) - $(PackageVersion) - $(VersionPrefix) - - - - - \ No newline at end of file diff --git a/src/Package/Config/PackageSpecs.props b/src/Package/Config/PackageSpecs.props deleted file mode 100644 index 81b09d4..0000000 --- a/src/Package/Config/PackageSpecs.props +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - false - false - False - False - False - False - true - false - 2008;NU5105 - true - True - $(NoWarn);NU5128 - true - Template - - .\ - $(MSBuildProjectDirectory)\bin\Package - - - - - - - - - - - - - - - - - - - - - - - - - - $(GitRootPath.Trim()) - - - - - - - - - - - - - - - - false - true - - - - - - - - - - - - - - - - - - - - $(GitRemoteUrl.Replace('.git', '/commit/$(GitCommitId)')) - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Projects/Coree.Template.Project/.gitignore b/src/Projects/Coree.Template.Project/.gitignore new file mode 100644 index 0000000..69b3799 --- /dev/null +++ b/src/Projects/Coree.Template.Project/.gitignore @@ -0,0 +1,2 @@ +bin/**/* +obj/**/* diff --git a/src/Coree.Template.Project.csproj b/src/Projects/Coree.Template.Project/Coree.Template.Project.csproj similarity index 100% rename from src/Coree.Template.Project.csproj rename to src/Projects/Coree.Template.Project/Coree.Template.Project.csproj diff --git a/src/Projects/Coree.Template.Project/Package/Config/PackageMetadata.props b/src/Projects/Coree.Template.Project/Package/Config/PackageMetadata.props new file mode 100644 index 0000000..2583e2a --- /dev/null +++ b/src/Projects/Coree.Template.Project/Package/Config/PackageMetadata.props @@ -0,0 +1,58 @@ + + + + + + + Carsten Riedel + Carsten Riedel + + Copyright © 2024 Carsten Riedel + Coree.Template.Project + Project;Templates;.NET + https://github.com/carsten-riedel/Coree.Template.Project + https://github.com/carsten-riedel/Coree.Template.Project + git + + + + + 0 + 2 + 0 + 0 + + $([MSBuild]::Subtract($([System.DateTime]::UtcNow.Ticks), 630822816000000000)) + $([System.TimeSpan]::TicksPerDay) + $([System.TimeSpan]::TicksPerSecond) + $([System.Math]::Truncate($([MSBuild]::Divide($(AssemblyVersionBaseTicks), $(TicksPerDay))))) + $([System.Math]::Truncate($([MSBuild]::Divide($(AssemblyVersionBaseTicks), $(TicksPerSecond))))) + $([System.Math]::Truncate($([MSBuild]::Modulo($(AssemblyVersionTotalSeconds), 86400)))) + $([System.Math]::Truncate($([MSBuild]::Divide($(AssemblyVersionRemainingSeconds), 2)))) + $(AssemblyVersionBuild) + $(AssemblyVersionRevision) + + local + $(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision) + + $(VersionPrefix)-$(VersionSuffix) + $(VersionPrefix) + + $(PackageVersion) + $(VersionPrefix) + + README.md + License.txt + Icon.png + $([System.IO.File]::ReadAllText("$(MSBuildThisFileDirectory)ReleaseNotes.txt")) + + + + + + + + + diff --git a/src/Projects/Coree.Template.Project/Package/Config/PackageSpecs.props b/src/Projects/Coree.Template.Project/Package/Config/PackageSpecs.props new file mode 100644 index 0000000..30fb041 --- /dev/null +++ b/src/Projects/Coree.Template.Project/Package/Config/PackageSpecs.props @@ -0,0 +1,30 @@ + + + + + + + + + + + false + false + False + False + False + False + true + false + 2008;NU5105 + true + True + $(NoWarn);NU5128 + true + Template + + .\ + $(MSBuildProjectDirectory)\bin\Package + + + \ No newline at end of file diff --git a/src/Package/Config/ReleaseNotes.txt b/src/Projects/Coree.Template.Project/Package/Config/ReleaseNotes.txt similarity index 100% rename from src/Package/Config/ReleaseNotes.txt rename to src/Projects/Coree.Template.Project/Package/Config/ReleaseNotes.txt diff --git a/src/Package/Root/Icon.png b/src/Projects/Coree.Template.Project/Package/Root/Icon.png similarity index 100% rename from src/Package/Root/Icon.png rename to src/Projects/Coree.Template.Project/Package/Root/Icon.png diff --git a/src/Package/Root/License.txt b/src/Projects/Coree.Template.Project/Package/Root/License.txt similarity index 100% rename from src/Package/Root/License.txt rename to src/Projects/Coree.Template.Project/Package/Root/License.txt diff --git a/src/Package/Root/README.md b/src/Projects/Coree.Template.Project/Package/Root/README.md similarity index 100% rename from src/Package/Root/README.md rename to src/Projects/Coree.Template.Project/Package/Root/README.md diff --git a/src/Package/Root/content/ClassLibrary/.gitignore b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/.gitignore similarity index 100% rename from src/Package/Root/content/ClassLibrary/.gitignore rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/.gitignore diff --git a/src/Package/Root/content/ClassLibrary/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/.template.config/template.json similarity index 100% rename from src/Package/Root/content/ClassLibrary/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/.template.config/template.json diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/.config/dotnet-tools.json b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/.config/dotnet-tools.json similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/.config/dotnet-tools.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/.config/dotnet-tools.json diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/BenchmarksTests.cs b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/BenchmarksTests.cs similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/BenchmarksTests.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/BenchmarksTests.cs diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/ClassLibrary.MSTest.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/ClassLibrary.MSTest.csproj similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/ClassLibrary.MSTest.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/ClassLibrary.MSTest.csproj diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_local.json b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_local.json similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_local.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_local.json diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_web.json b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_web.json similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_web.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docfx_web.json diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/getting-started.md b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/getting-started.md similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/getting-started.md rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/getting-started.md diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/introduction.md b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/introduction.md similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/introduction.md rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/introduction.md diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/toc.yml b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/toc.yml similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/toc.yml rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/docs/toc.yml diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/index.md b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/index.md similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/index.md rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/index.md diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/toc.yml b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/toc.yml similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/toc.yml rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/Docfx/build/toc.yml diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/FunctionalTests.cs b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/FunctionalTests.cs similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/FunctionalTests.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.MSTest/FunctionalTests.cs diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary.sln b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.sln similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary.sln rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary.sln diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/.config/dotnet-tools.json b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/.config/dotnet-tools.json similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/.config/dotnet-tools.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/.config/dotnet-tools.json diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/Class1.cs b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Class1.cs similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/Class1.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Class1.cs diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/ClassLibrary.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/ClassLibrary.csproj similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/ClassLibrary.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/ClassLibrary.csproj diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageMetadata.props b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageMetadata.props similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageMetadata.props rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageMetadata.props diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageSpecs.props b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageSpecs.props similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageSpecs.props rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/PackageSpecs.props diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/ReleaseNotes.txt b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/ReleaseNotes.txt similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/ReleaseNotes.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Config/ReleaseNotes.txt diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Icon.png b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Icon.png similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Icon.png rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Icon.png diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/License.txt b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/License.txt similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/License.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/License.txt diff --git a/src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Readme.md similarity index 100% rename from src/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/ClassLibrary/Package/Root/Readme.md diff --git a/src/Package/Root/content/ClassLibrary/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/Readme.md similarity index 100% rename from src/Package/Root/content/ClassLibrary/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/Readme.md diff --git a/src/Package/Root/content/ClassLibrary/global.json b/src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/global.json similarity index 100% rename from src/Package/Root/content/ClassLibrary/global.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ClassLibrary/global.json diff --git a/src/Package/Root/content/ConsoleApp/.gitignore b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/.gitignore similarity index 100% rename from src/Package/Root/content/ConsoleApp/.gitignore rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/.gitignore diff --git a/src/Package/Root/content/ConsoleApp/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/.template.config/template.json similarity index 100% rename from src/Package/Root/content/ConsoleApp/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/.template.config/template.json diff --git a/src/Package/Root/content/ConsoleApp/ConsoleApp.Library/Class1.cs b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.Library/Class1.cs similarity index 100% rename from src/Package/Root/content/ConsoleApp/ConsoleApp.Library/Class1.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.Library/Class1.cs diff --git a/src/Package/Root/content/ConsoleApp/ConsoleApp.Library/ConsoleApp.Library.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.Library/ConsoleApp.Library.csproj similarity index 100% rename from src/Package/Root/content/ConsoleApp/ConsoleApp.Library/ConsoleApp.Library.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.Library/ConsoleApp.Library.csproj diff --git a/src/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/ConsoleApp.MSTest.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/ConsoleApp.MSTest.csproj similarity index 100% rename from src/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/ConsoleApp.MSTest.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/ConsoleApp.MSTest.csproj diff --git a/src/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/FunctionalTests.cs b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/FunctionalTests.cs similarity index 100% rename from src/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/FunctionalTests.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.MSTest/FunctionalTests.cs diff --git a/src/Package/Root/content/ConsoleApp/ConsoleApp.sln b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.sln similarity index 100% rename from src/Package/Root/content/ConsoleApp/ConsoleApp.sln rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp.sln diff --git a/src/Package/Root/content/ConsoleApp/ConsoleApp/ConsoleApp.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp/ConsoleApp.csproj similarity index 100% rename from src/Package/Root/content/ConsoleApp/ConsoleApp/ConsoleApp.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp/ConsoleApp.csproj diff --git a/src/Package/Root/content/ConsoleApp/ConsoleApp/Program.cs b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp/Program.cs similarity index 100% rename from src/Package/Root/content/ConsoleApp/ConsoleApp/Program.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/ConsoleApp/Program.cs diff --git a/src/Package/Root/content/ConsoleApp/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/Readme.md similarity index 100% rename from src/Package/Root/content/ConsoleApp/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/Readme.md diff --git a/src/Package/Root/content/ConsoleApp/global.json b/src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/global.json similarity index 100% rename from src/Package/Root/content/ConsoleApp/global.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ConsoleApp/global.json diff --git a/src/Package/Root/content/MSBuildLibrary/.gitignore b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/.gitignore similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/.gitignore rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/.gitignore diff --git a/src/Package/Root/content/MSBuildLibrary/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/.template.config/template.json similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/.template.config/template.json diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/FunctionalTests.cs b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/FunctionalTests.cs similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/FunctionalTests.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/FunctionalTests.cs diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/IntegrationTests.cs b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/IntegrationTests.cs similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/IntegrationTests.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/IntegrationTests.cs diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/MSBuildLibrary.MSTest.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/MSBuildLibrary.MSTest.csproj similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/MSBuildLibrary.MSTest.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/MSBuildLibrary.MSTest.csproj diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/Resources/TestScript.msbuild b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/Resources/TestScript.msbuild similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/Resources/TestScript.msbuild rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.MSTest/Resources/TestScript.msbuild diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.sln b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.sln similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary.sln rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary.sln diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/AddTask.cs b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/AddTask.cs similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/AddTask.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/AddTask.cs diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/BuildEngineExtensions.cs b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/BuildEngineExtensions.cs similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/BuildEngineExtensions.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/BuildEngineExtensions.cs diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpEnvVarsTask.cs b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpEnvVarsTask.cs similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpEnvVarsTask.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpEnvVarsTask.cs diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpGlobalPropTask.cs b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpGlobalPropTask.cs similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpGlobalPropTask.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/DumpGlobalPropTask.cs diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/HomeTask.cs b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/HomeTask.cs similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/HomeTask.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/HomeTask.cs diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/MSBuildLibrary.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/MSBuildLibrary.csproj similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/MSBuildLibrary.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/MSBuildLibrary.csproj diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageFileMappings.props b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageFileMappings.props similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageFileMappings.props rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageFileMappings.props diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageMetadata.props b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageMetadata.props similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageMetadata.props rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageMetadata.props diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageSpecs.props b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageSpecs.props similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageSpecs.props rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/PackageSpecs.props diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/ReleaseNotes.txt b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/ReleaseNotes.txt similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/ReleaseNotes.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Config/ReleaseNotes.txt diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Icon.png b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Icon.png similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Icon.png rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Icon.png diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/License.txt b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/License.txt similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/License.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/License.txt diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Readme.md similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/Readme.md diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.props b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.props similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.props rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.props diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.targets b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.targets similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.targets rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/Package/Root/build/MSBuildLibrary.targets diff --git a/src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/TaskNodeTask.cs b/src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/TaskNodeTask.cs similarity index 100% rename from src/Package/Root/content/MSBuildLibrary/MSBuildLibrary/TaskNodeTask.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/MSBuildLibrary/MSBuildLibrary/TaskNodeTask.cs diff --git a/src/Package/Root/content/NetTool/.gitignore b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/.gitignore similarity index 100% rename from src/Package/Root/content/NetTool/.gitignore rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/.gitignore diff --git a/src/Package/Root/content/NetTool/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/.template.config/template.json similarity index 100% rename from src/Package/Root/content/NetTool/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/.template.config/template.json diff --git a/src/Package/Root/content/NetTool/NetTool.MSTest/FunctionalTests.cs b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool.MSTest/FunctionalTests.cs similarity index 100% rename from src/Package/Root/content/NetTool/NetTool.MSTest/FunctionalTests.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool.MSTest/FunctionalTests.cs diff --git a/src/Package/Root/content/NetTool/NetTool.MSTest/IntegrationTests.cs b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool.MSTest/IntegrationTests.cs similarity index 100% rename from src/Package/Root/content/NetTool/NetTool.MSTest/IntegrationTests.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool.MSTest/IntegrationTests.cs diff --git a/src/Package/Root/content/NetTool/NetTool.MSTest/NetTool.MSTest.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool.MSTest/NetTool.MSTest.csproj similarity index 100% rename from src/Package/Root/content/NetTool/NetTool.MSTest/NetTool.MSTest.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool.MSTest/NetTool.MSTest.csproj diff --git a/src/Package/Root/content/NetTool/NetTool.sln b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool.sln similarity index 100% rename from src/Package/Root/content/NetTool/NetTool.sln rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool.sln diff --git a/src/Package/Root/content/NetTool/NetTool/NetTool.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/NetTool.csproj similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/NetTool.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/NetTool.csproj diff --git a/src/Package/Root/content/NetTool/NetTool/Package/Config/PackageFileMappings.props b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Config/PackageFileMappings.props similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/Package/Config/PackageFileMappings.props rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Config/PackageFileMappings.props diff --git a/src/Package/Root/content/NetTool/NetTool/Package/Config/PackageMetadata.props b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Config/PackageMetadata.props similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/Package/Config/PackageMetadata.props rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Config/PackageMetadata.props diff --git a/src/Package/Root/content/NetTool/NetTool/Package/Config/PackageSpecs.props b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Config/PackageSpecs.props similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/Package/Config/PackageSpecs.props rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Config/PackageSpecs.props diff --git a/src/Package/Root/content/NetTool/NetTool/Package/Config/ReleaseNotes.txt b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Config/ReleaseNotes.txt similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/Package/Config/ReleaseNotes.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Config/ReleaseNotes.txt diff --git a/src/Package/Root/content/NetTool/NetTool/Package/Root/Icon.png b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Root/Icon.png similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/Package/Root/Icon.png rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Root/Icon.png diff --git a/src/Package/Root/content/NetTool/NetTool/Package/Root/License.txt b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Root/License.txt similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/Package/Root/License.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Root/License.txt diff --git a/src/Package/Root/content/NetTool/NetTool/Package/Root/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Root/Readme.md similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/Package/Root/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Package/Root/Readme.md diff --git a/src/Package/Root/content/NetTool/NetTool/Program.cs b/src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Program.cs similarity index 100% rename from src/Package/Root/content/NetTool/NetTool/Program.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/NetTool/NetTool/Program.cs diff --git a/src/Package/Root/content/PowershellLibrary/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/.template.config/template.json similarity index 100% rename from src/Package/Root/content/PowershellLibrary/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/.template.config/template.json diff --git a/src/Package/Root/content/PowershellLibrary/CommandLet.cs b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/CommandLet.cs similarity index 100% rename from src/Package/Root/content/PowershellLibrary/CommandLet.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/CommandLet.cs diff --git a/src/Package/Root/content/PowershellLibrary/Default.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Default.csproj similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Default.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Default.csproj diff --git a/src/Package/Root/content/PowershellLibrary/Package/PackageConfig.props b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageConfig.props similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/PackageConfig.props rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageConfig.props diff --git a/src/Package/Root/content/PowershellLibrary/Package/PackageMetadata.props b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageMetadata.props similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/PackageMetadata.props rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageMetadata.props diff --git a/src/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psd1 b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psd1 similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psd1 rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psd1 diff --git a/src/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psm1 b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psm1 similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psm1 rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/Default.psm1 diff --git a/src/Package/Root/content/PowershellLibrary/Package/PackageRoot/Icon.png b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/Icon.png similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/PackageRoot/Icon.png rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/Icon.png diff --git a/src/Package/Root/content/PowershellLibrary/Package/PackageRoot/License.txt b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/License.txt similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/PackageRoot/License.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/License.txt diff --git a/src/Package/Root/content/PowershellLibrary/Package/PackageRoot/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/Readme.md similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/PackageRoot/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageRoot/Readme.md diff --git a/src/Package/Root/content/PowershellLibrary/Package/PackageSpecs.props b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageSpecs.props similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/PackageSpecs.props rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/PackageSpecs.props diff --git a/src/Package/Root/content/PowershellLibrary/Package/ReleaseNotes.txt b/src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/ReleaseNotes.txt similarity index 100% rename from src/Package/Root/content/PowershellLibrary/Package/ReleaseNotes.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/PowershellLibrary/Package/ReleaseNotes.txt diff --git a/src/Package/Root/content/ProjectTemplate/.gitignore b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/.gitignore similarity index 100% rename from src/Package/Root/content/ProjectTemplate/.gitignore rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/.gitignore diff --git a/src/Package/Root/content/ProjectTemplate/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/.template.config/template.json similarity index 100% rename from src/Package/Root/content/ProjectTemplate/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/.template.config/template.json diff --git a/src/Package/Root/content/ProjectTemplate/Package/Config/PackageMetadata.props b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Config/PackageMetadata.props similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Config/PackageMetadata.props rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Config/PackageMetadata.props diff --git a/src/Package/Root/content/ProjectTemplate/Package/Config/PackageSpecs.props b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Config/PackageSpecs.props similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Config/PackageSpecs.props rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Config/PackageSpecs.props diff --git a/src/Package/Root/content/ProjectTemplate/Package/Config/ReleaseNotes.txt b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Config/ReleaseNotes.txt similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Config/ReleaseNotes.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Config/ReleaseNotes.txt diff --git a/src/Package/Root/content/ProjectTemplate/Package/Root/Icon.png b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/Icon.png similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Root/Icon.png rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/Icon.png diff --git a/src/Package/Root/content/ProjectTemplate/Package/Root/License.txt b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/License.txt similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Root/License.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/License.txt diff --git a/src/Package/Root/content/ProjectTemplate/Package/Root/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/Readme.md similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Root/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/Readme.md diff --git a/src/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/Class1.cs b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/Class1.cs similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/Class1.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/Class1.cs diff --git a/src/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/ClassLibrary.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/ClassLibrary.csproj similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/ClassLibrary.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/ClassLibrary.csproj diff --git a/src/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/templateDir/templateJson.txt b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/templateDir/templateJson.txt similarity index 100% rename from src/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/templateDir/templateJson.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/Package/Root/content/ClassLibrary/templateDir/templateJson.txt diff --git a/src/Package/Root/content/ProjectTemplate/ProjectTemplate.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/ProjectTemplate.csproj similarity index 100% rename from src/Package/Root/content/ProjectTemplate/ProjectTemplate.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/ProjectTemplate.csproj diff --git a/src/Package/Root/content/ProjectTemplate/ProjectTemplate.sln b/src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/ProjectTemplate.sln similarity index 100% rename from src/Package/Root/content/ProjectTemplate/ProjectTemplate.sln rename to src/Projects/Coree.Template.Project/Package/Root/content/ProjectTemplate/ProjectTemplate.sln diff --git a/src/Package/Root/content/SourceGenerator/.gitignore b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/.gitignore similarity index 100% rename from src/Package/Root/content/SourceGenerator/.gitignore rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/.gitignore diff --git a/src/Package/Root/content/SourceGenerator/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/.template.config/template.json similarity index 100% rename from src/Package/Root/content/SourceGenerator/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/.template.config/template.json diff --git a/src/Package/Root/content/SourceGenerator/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/Readme.md similarity index 100% rename from src/Package/Root/content/SourceGenerator/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/Readme.md diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree.MSTest/SourceGeneratorCoree.MSTest.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree.MSTest/SourceGeneratorCoree.MSTest.csproj similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree.MSTest/SourceGeneratorCoree.MSTest.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree.MSTest/SourceGeneratorCoree.MSTest.csproj diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree.sln b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree.sln similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree.sln rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree.sln diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Main.cs b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Main.cs similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Main.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Main.cs diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageFileMappings.props b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageFileMappings.props similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageFileMappings.props rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageFileMappings.props diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageMetadata.props b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageMetadata.props similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageMetadata.props rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageMetadata.props diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageSpecs.props b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageSpecs.props similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageSpecs.props rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/PackageSpecs.props diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/ReleaseNotes.txt b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/ReleaseNotes.txt similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/ReleaseNotes.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Config/ReleaseNotes.txt diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Icon.png b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Icon.png similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Icon.png rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Icon.png diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/License.txt b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/License.txt similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/License.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/License.txt diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Readme.md b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Readme.md similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Readme.md rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/Package/Root/Readme.md diff --git a/src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/SourceGeneratorCoree.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/SourceGeneratorCoree.csproj similarity index 100% rename from src/Package/Root/content/SourceGenerator/SourceGeneratorCoree/SourceGeneratorCoree.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/SourceGenerator/SourceGeneratorCoree/SourceGeneratorCoree.csproj diff --git a/src/Package/Root/content/Winforms/.gitignore b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/.gitignore similarity index 100% rename from src/Package/Root/content/Winforms/.gitignore rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/.gitignore diff --git a/src/Package/Root/content/Winforms/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/.template.config/template.json similarity index 100% rename from src/Package/Root/content/Winforms/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/.template.config/template.json diff --git a/src/Package/Root/content/Winforms/Winforms.Library/Class1.cs b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms.Library/Class1.cs similarity index 100% rename from src/Package/Root/content/Winforms/Winforms.Library/Class1.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms.Library/Class1.cs diff --git a/src/Package/Root/content/Winforms/Winforms.Library/Winforms.Library.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms.Library/Winforms.Library.csproj similarity index 100% rename from src/Package/Root/content/Winforms/Winforms.Library/Winforms.Library.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms.Library/Winforms.Library.csproj diff --git a/src/Package/Root/content/Winforms/Winforms.sln b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms.sln similarity index 100% rename from src/Package/Root/content/Winforms/Winforms.sln rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms.sln diff --git a/src/Package/Root/content/Winforms/Winforms/Form1.Designer.cs b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Form1.Designer.cs similarity index 100% rename from src/Package/Root/content/Winforms/Winforms/Form1.Designer.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Form1.Designer.cs diff --git a/src/Package/Root/content/Winforms/Winforms/Form1.cs b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Form1.cs similarity index 100% rename from src/Package/Root/content/Winforms/Winforms/Form1.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Form1.cs diff --git a/src/Package/Root/content/Winforms/Winforms/Program.cs b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Program.cs similarity index 100% rename from src/Package/Root/content/Winforms/Winforms/Program.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Program.cs diff --git a/src/Package/Root/content/Winforms/Winforms/Properties/app.manifest b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Properties/app.manifest similarity index 100% rename from src/Package/Root/content/Winforms/Winforms/Properties/app.manifest rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Properties/app.manifest diff --git a/src/Package/Root/content/Winforms/Winforms/Properties/appsettings.json b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Properties/appsettings.json similarity index 100% rename from src/Package/Root/content/Winforms/Winforms/Properties/appsettings.json rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Properties/appsettings.json diff --git a/src/Package/Root/content/Winforms/Winforms/Resources/application.ico b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Resources/application.ico similarity index 100% rename from src/Package/Root/content/Winforms/Winforms/Resources/application.ico rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Resources/application.ico diff --git a/src/Package/Root/content/Winforms/Winforms/Winforms.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Winforms.csproj similarity index 100% rename from src/Package/Root/content/Winforms/Winforms/Winforms.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/Winforms/Winforms/Winforms.csproj diff --git a/src/Package/Root/content/WpfApp/.gitignore b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/.gitignore similarity index 100% rename from src/Package/Root/content/WpfApp/.gitignore rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/.gitignore diff --git a/src/Package/Root/content/WpfApp/.template.config/template.json b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/.template.config/template.json similarity index 100% rename from src/Package/Root/content/WpfApp/.template.config/template.json rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/.template.config/template.json diff --git a/src/Package/Root/content/WpfApp/WpfApp.sln b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp.sln similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp.sln rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp.sln diff --git a/src/Package/Root/content/WpfApp/WpfApp/Application/App.xaml b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Application/App.xaml similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Application/App.xaml rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Application/App.xaml diff --git a/src/Package/Root/content/WpfApp/WpfApp/Application/App.xaml.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Application/App.xaml.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Application/App.xaml.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Application/App.xaml.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/OFL.txt b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/OFL.txt similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/OFL.txt rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/OFL.txt diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Black.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Black.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Black.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Black.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BlackItalic.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BlackItalic.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BlackItalic.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BlackItalic.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Bold.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Bold.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Bold.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Bold.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BoldItalic.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BoldItalic.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BoldItalic.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-BoldItalic.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBold.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBold.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBold.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBold.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBoldItalic.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBoldItalic.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBoldItalic.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraBoldItalic.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLight.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLight.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLight.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLight.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLightItalic.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLightItalic.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLightItalic.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-ExtraLightItalic.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Italic.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Italic.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Italic.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Italic.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Light.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Light.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Light.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Light.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-LightItalic.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-LightItalic.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-LightItalic.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-LightItalic.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Medium.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Medium.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Medium.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Medium.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-MediumItalic.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-MediumItalic.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-MediumItalic.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-MediumItalic.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Regular.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Regular.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Regular.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-Regular.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBold.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBold.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBold.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBold.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBoldItalic.ttf b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBoldItalic.ttf similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBoldItalic.ttf rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Fonts/SourceCodePro/SourceCodePro-SemiBoldItalic.ttf diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Ico/Application.ico b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Ico/Application.ico similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Ico/Application.ico rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Ico/Application.ico diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Png/Application.png b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Png/Application.png similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Png/Application.png rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Png/Application.png diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Png/github.png b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Png/github.png similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Png/github.png rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Png/github.png diff --git a/src/Package/Root/content/WpfApp/WpfApp/Assets/Png/settings.png b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Png/settings.png similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Assets/Png/settings.png rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Assets/Png/settings.png diff --git a/src/Package/Root/content/WpfApp/WpfApp/Extensions/ExtensionsString.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Extensions/ExtensionsString.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Extensions/ExtensionsString.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Extensions/ExtensionsString.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/Properties/AssemblyInfo.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Properties/AssemblyInfo.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Properties/AssemblyInfo.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Properties/AssemblyInfo.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/Properties/app.manifest b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Properties/app.manifest similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Properties/app.manifest rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Properties/app.manifest diff --git a/src/Package/Root/content/WpfApp/WpfApp/Properties/appsettings.json b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Properties/appsettings.json similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Properties/appsettings.json rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Properties/appsettings.json diff --git a/src/Package/Root/content/WpfApp/WpfApp/Properties/demo.db b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Properties/demo.db similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Properties/demo.db rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Properties/demo.db diff --git a/src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.Designer.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.Designer.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.Designer.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.Designer.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.de.resx b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.de.resx similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.de.resx rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.de.resx diff --git a/src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.en.resx b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.en.resx similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.en.resx rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.en.resx diff --git a/src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.es.resx b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.es.resx similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.es.resx rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.es.resx diff --git a/src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.fr.resx b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.fr.resx similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.fr.resx rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.fr.resx diff --git a/src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.it.resx b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.it.resx similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.it.resx rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.it.resx diff --git a/src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.pt.resx b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.pt.resx similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.pt.resx rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.pt.resx diff --git a/src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.resx b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.resx similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.resx rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ResourceDesigner/Resource.resx diff --git a/src/Package/Root/content/WpfApp/WpfApp/ViewModels/AboutViewModel.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/AboutViewModel.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ViewModels/AboutViewModel.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/AboutViewModel.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/ViewModels/HomeViewModel.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/HomeViewModel.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ViewModels/HomeViewModel.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/HomeViewModel.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/ViewModels/NavbarViewModel.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/NavbarViewModel.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ViewModels/NavbarViewModel.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/NavbarViewModel.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/ViewModels/SettingsViewModel.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/SettingsViewModel.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ViewModels/SettingsViewModel.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/SettingsViewModel.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/ViewModels/WindowViewModel.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/WindowViewModel.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/ViewModels/WindowViewModel.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/ViewModels/WindowViewModel.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/AboutView.xaml.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/HomeView.xaml.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/NavbarView.xaml.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/SettingsView.xaml.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml diff --git a/src/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml.cs b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml.cs similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml.cs rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/Views/WindowView.xaml.cs diff --git a/src/Package/Root/content/WpfApp/WpfApp/WpfApp.csproj b/src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/WpfApp.csproj similarity index 100% rename from src/Package/Root/content/WpfApp/WpfApp/WpfApp.csproj rename to src/Projects/Coree.Template.Project/Package/Root/content/WpfApp/WpfApp/WpfApp.csproj