Dalibor Votruba před 6 roky
rodič
revize
209648ef62

+ 48 - 0
BuildScripts/000_bootstrap.ps1

@@ -0,0 +1,48 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 000_bootstrap.ps1                                             **#
+#**  Description: Defines startup properies, libraries, constants        **#
+#**               to work with QDS                                       **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 26.7.2019                                                  **# 
+#**************************************************************************#
+
+# Console settings
+Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted
+Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
+
+if ($global:NonInteractive -ne $true)
+{
+    $a = (Get-Host).UI.RawUI
+    $a.WindowTitle = "QUADARAX DEPLOYMENT CONSOLE"
+}
+
+
+# Startup location
+$scriptpath = $MyInvocation.MyCommand.Path
+$currentDir = Split-Path $scriptpath
+
+Write-Host ("* QUADARAX DEPLOYMENT CONSOLE *") -ForegroundColor Green
+Write-Host "       _____  ____   ___  " -ForegroundColor Green
+Write-Host "      (  _  )(  _ \ / __) " -ForegroundColor Green
+Write-Host "       )(_)(  )(_) )\__ \ " -ForegroundColor Green
+Write-Host "      (___/\\(____/ (___/ " -ForegroundColor Green
+
+# Check permissions
+Write-Host "Checking permission..."  -foregroundcolor DarkGray
+If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
+{
+    Write-Warning "You do not have Administrator rights to run this script!`nPlease re-run this script as an Administrator!`n`n"
+    Write-Host "Loading failed..." -foregroundcolor Red
+    Break
+}
+
+# Set variable that bootstrap script loaded
+$global:SpaceScriptLoaded = $true
+
+# Loads prerequisities
+. .\001_settings.ps1
+. .\002_library.ps1
+
+Write-Host "QDS bootstrap was set-up." -ForegroundColor DarkGray
+Write-Host ("Project directory: {0}" -f $projectDir) -ForegroundColor Green

+ 54 - 0
BuildScripts/001_settings.ps1

@@ -0,0 +1,54 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 001_settings.ps1                                              **#
+#**  Description: Defines project related constants and settings. This   **#
+#**               script is loaded inside 000 script                     **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 24.7.2019                                                  **# 
+#**************************************************************************#
+
+if ($settingsWasLoaded -eq $true)
+{
+    Break
+}
+
+# Check if bootstrap run first section
+try {
+    if (!($global:SpaceScriptLoaded -eq $true)){
+            Write-Host "Must be run 000_bootstrap.ps1 first!" -ForegroundColor Red
+            Break
+    }        
+}
+catch {
+    Write-Host "Must be run 000_bootstrap.ps1 first!" -ForegroundColor Red
+}
+
+
+
+# Project related settings
+$solutionName               = "QConsole.sln"
+$projectDir                 = Get-Location
+$projectDir                 = Split-Path -parent $projectDir 
+$projectOutputDir           = $projectDir + "\@Release"
+
+# Tools & system paths
+$pathMsBuild                = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\msbuild.exe"
+$path7zip                   = "$projectDir\..\Assets\7z.exe"
+
+# Builds
+$buildCfgDebug              = "Debug"
+$buildCfgRelease            = "Release"
+$buildCfgAll                = "All"
+$buildTrgClean              = "Clean"
+$buildTrgRebuild            = "Rebuild"
+$buildTrgPublish            = "Publish"
+
+# Zip
+$zipNamePrefix              = "ProjectZip"
+
+# Aliases
+Set-Alias msbuild $pathMsBuild
+Set-Alias 7zip $path7zip
+
+Write-Host "Settings was loaded succesfully." -ForegroundColor DarkGray
+$settingsWasLoaded = $true

+ 147 - 0
BuildScripts/002_library.ps1

@@ -0,0 +1,147 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 002_library.ps1                                               **#
+#**  Description: PowerShell script library of elementary functions to   **#
+#**                work with QDS                                         **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 29.7.2019                                                  **# 
+#**************************************************************************#
+
+# Rebuilds solution file, may calls CleanSolution
+Function RebuildSolution
+{
+    param(
+        # Solution file name with full path
+        [string] $solutionFileName,
+        # Build configuration Debug / Release
+        [string] $configurationName = $buildCfgDebug,
+        # Defines alternative output directory. If not defined, use default output locations depends on configuration
+        [string] $alternativeOutputDirectory,
+        # Defines if Clean will be called before build
+        [bool] $cleanBeforeBuild = $false,
+        # Defines if only show calling commands instead of executes them (just for debugging)
+        [bool] $simulate = $false
+    )
+
+    $fileExists = Test-Path($solutionFileName)
+    if ($fileExists -eq $false){
+        Write-Error("Solution file '{0}' doesn't exists." -f $solutionFileName)
+        Break
+    }
+
+    if (!$alternativeOutputDirectory){
+        $alternativeOutputDirectory = ""
+    }
+    else{
+        $alternativeOutputDirectory = " /p:OutputPath='{0}' " -f $alternativeOutputDirectory
+    }
+
+    Write-Host("**** BEGIN *** BUILDS SOLUTION/PROJECT : {0} ****" -f $solutionFileName) -ForegroundColor Yellow
+    if ($cleanBeforeBuild -eq $true){
+        CleanSolution $solutionFileName $configurationName $simulate
+    }
+    if ($simulate -eq $true){
+        Write-Host "msbuild $solutionFileName /t:$buildTrgRebuild /p:VisualStudioVersion=15.0 /p:Configuration=$configurationName /m /clp:Summary /clp:ShowTimestamp $alternativeOutputDirectory"  -ForegroundColor Cyan
+    } else{
+        msbuild $solutionFileName /t:$buildTrgRebuild /p:VisualStudioVersion=15.0 /p:Configuration=$configurationName /m /clp:Summary /clp:ShowTimestamp $alternativeOutputDirectory
+    }    
+    Write-Host("**** END *** BUILDS SOLUTION/PROJECT : {0} ****" -f $solutionFileName) -ForegroundColor Yellow
+}
+
+# Cleans solution file
+Function CleanSolution
+{
+    param(
+        # Solution file name with full path
+        [string] $solutionFileName,
+        # Build configuration Debug / Release
+        [string] $configurationName = $buildCfgDebug,
+        # Defines if only show calling commands instead of executes them (just for debugging)
+        [bool] $simulate = $false
+    )
+
+    $fileExists = Test-Path($solutionFileName)
+    if ($fileExists -eq $false){
+        Write-Error("Solution file '{0}' doesn't exists." -f $solutionFileName)
+        Break
+    }
+
+    Write-Host("***** BEGIN *** CLEANS SOLUTION/PROJECT : {0} *****" -f $solutionFileName) -ForegroundColor DarkYellow
+    if ($simulate -eq $true){
+        Write-Host "msbuild $solutionFileName /t:$buildTrgClean /p:VisualStudioVersion=15.0 /p:Configuration=$configurationName /m" -ForegroundColor Cyan
+    } else{
+        msbuild $solutionFileName /t:$buildTrgClean /p:VisualStudioVersion=15.0 /p:Configuration=$configurationName /m
+    }    
+    Write-Host("***** END *** CLEANS SOLUTION/PROJECT : {0} *****" -f $solutionFileName) -ForegroundColor DarkYellow
+    #/p:SolutionDir=$location /m
+}
+
+# Publish solution file, may calls CleanSolution
+Function PublishSolution
+{
+    param(
+        # Solution file name with full path
+        [string] $solutionFileName,
+        # Build configuration Debug / Release
+        [string] $configurationName = $buildCfgDebug,
+        # Defines alternative output directory. If not defined, use default output locations depends on configuration
+        [string] $alternativeOutputDirectory,
+        # Defines if Clean will be called before build
+        [bool] $cleanBeforeBuild = $false,
+        # Defines if only show calling commands instead of executes them (just for debugging)
+        [bool] $simulate = $false
+    )
+
+    $fileExists = Test-Path($solutionFileName)
+    if ($fileExists -eq $false){
+        Write-Error("Solution file '{0}' doesn't exists." -f $solutionFileName)
+        Break
+    }
+
+    if (!$alternativeOutputDirectory){
+        $alternativeOutputDirectory = ""
+    }
+    else{
+        $alternativeOutputDirectory = " /p:PublishDestination='{0}'" -f $alternativeOutputDirectory
+    }
+
+    Write-Host("**** BEGIN *** BUILDS SOLUTION/PROJECT : {0} ****" -f $solutionFileName) -ForegroundColor Yellow
+    if ($cleanBeforeBuild -eq $true){
+        CleanSolution $solutionFileName $configurationName $simulate
+    }
+    if ($simulate -eq $true){
+        Write-Host "msbuild $solutionFileName /t:$buildTrgPublish /p:VisualStudioVersion=15.0 /p:Configuration=$configurationName /m /clp:Summary /clp:ShowTimestamp $alternativeOutputDirectory"  -ForegroundColor Cyan
+    } else{
+        msbuild $solutionFileName /t:$buildTrgPublish /p:VisualStudioVersion=15.0 /p:Configuration=$configurationName /m /clp:Summary /clp:ShowTimestamp $alternativeOutputDirectory
+    }    
+    Write-Host("**** END *** BUILDS SOLUTION/PROJECT : {0} ****" -f $solutionFileName) -ForegroundColor Yellow
+}
+
+
+# Returns list of project from solution file. Returns objects with properties: Name, File, Guid, Directory
+Function GetProjectsFromSolution
+{
+    param(
+        # Solution file name with full path
+        [string] $solutionFileName
+    )
+
+    $fileExists = Test-Path($solutionFileName)
+    if ($fileExists -eq $false){
+        Write-Error("Solution file '{0}' doesn't exists." -f $solutionFileName)
+        Break
+    }
+
+    return Get-Content $solutionFileName |
+        Select-String 'Project\(' |
+            ForEach-Object {
+                $projectParts = $_ -Split '[,=]' | ForEach-Object { $_.Trim('[ "{}]') };
+                New-Object PSObject -Property @{
+                Name = $projectParts[1];
+                File = $projectParts[2];
+                Guid = $projectParts[3];
+                Directory = Split-Path -Path "$projectDir\$($projectParts[2])" -Parent
+                }
+            }
+}
+Write-Host "QDS library was loaded." -ForegroundColor DarkGray

+ 35 - 0
BuildScripts/100_rebuild.ps1

@@ -0,0 +1,35 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 100_rebuild.ps1                                               **#
+#**  Description: PowerShell script library to build current solution    **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 26.7.2019                                                  **# 
+#**************************************************************************#
+param(
+        # Solution file name with full path. If not defined use global solution
+        [string] $solutionFile,
+        # Build configuration Debug / Release / All. If not defined use Debug
+        [string] $configurationName,
+        # Defines if Clean will be called before build. If not defined use $false
+        [bool] $cleanBeforeBuild
+)
+. ./000_bootstrap.ps1
+
+# Validate inputs
+if (!$solutionFile) { $solutionFile = $solutionName}
+if (!$configurationName) { $configurationName = $buildCfgDebug}
+if (!$cleanBeforeBuild) { $cleanBeforeBuild = $false}
+
+# Script body section
+Write-Host "*** REBUILD - START ***" -ForegroundColor Green
+$slnFullPath = ("{0}\{1}" -f $projectDir, $solutionFile)
+Write-Host ("Solution name: {0}" -f $slnFullPath) -ForegroundColor Yellow
+Write-host ("Configuration: {0}" -f $configurationName) -ForegroundColor Yellow
+if ($configurationName -eq $buildCfgAll){
+        RebuildSolution -solutionFileName $slnFullPath -configurationName $buildCfgDebug -cleanBeforeBuild $cleanBeforeBuild
+        RebuildSolution -solutionFileName $slnFullPath -configurationName $buildCfgRelease -cleanBeforeBuild $cleanBeforeBuild
+}
+else {
+        RebuildSolution -solutionFileName $slnFullPath -configurationName $configurationName -cleanBeforeBuild $cleanBeforeBuild
+}
+Write-Host "*** REBUILD - END ***" -ForegroundColor Green

+ 32 - 0
BuildScripts/101_clean.ps1

@@ -0,0 +1,32 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 101_clean.ps1                                                 **#
+#**  Description: PowerShell script library to clean current solution    **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 26.7.2019                                                  **# 
+#**************************************************************************#
+param(
+        # Solution file name with full path. If not defined use global solution
+        [string] $solutionFile,
+        # Build configuration Debug / Release / All. If not defined use Debug
+        [string] $configurationName        
+)
+. ./000_bootstrap.ps1
+
+# Validate inputs
+if (!$solutionFile) { $solutionFile = $solutionName}
+if (!$configurationName) { $configurationName = $buildCfgDebug}
+
+# Script body section
+Write-Host "*** CLEAN - START ***" -ForegroundColor Green
+$slnFullPath = ("{0}\{1}" -f $projectDir, $solutionFile)
+Write-Host ("Solution name: {0}" -f $slnFullPath) -ForegroundColor Yellow
+Write-host ("Configuration: {0}" -f $configurationName) -ForegroundColor Yellow
+if ($configurationName -eq $buildCfgAll){
+        CleanSolution $slnFullPath $buildCfgDebug
+        CleanSolution $slnFullPath $buildCfgRelease
+}
+else {
+        CleanSolution $slnFullPath $configurationName
+}
+Write-Host "*** CLEAN - END ***" -ForegroundColor Green

+ 61 - 0
BuildScripts/200_rebuild_output.ps1

@@ -0,0 +1,61 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 200_rebuild.ps1                                               **#
+#**  Description: PowerShell script library to build current solution    **#
+#**               to output directory                                    **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 26.7.2019                                                  **# 
+#**************************************************************************#
+param(
+        # Solution file name with full path. If not defined use global solution
+        [string] $solutionFile,
+        # Build configuration Debug / Release. If not defined use Debug
+        [string] $configurationName,
+        # Defines if Clean will be called before build. If not defined use $false
+        [bool] $cleanBeforeBuild        
+)
+. ./000_bootstrap.ps1
+
+# Validate inputs
+if (!$solutionFile) { $solutionFile = $solutionName}
+if (!$configurationName) { $configurationName = $buildCfgDebug}
+if (!$cleanBeforeBuild) { $cleanBeforeBuild = $false}
+if ($configurationName -eq $buildCfgAll){
+    Write-Host ("Configuration name {0} for this script is not allowed. Use only {1},{2}." -f $buildCfgAll, $buildCfgDebug, $buildCfgRelease) -ForegroundColor Red
+    Break
+}
+
+# Script body section
+
+# May create output directory
+New-Item -ItemType Directory -Force -Path $projectOutputDir
+
+Write-Host "*** REBUILD - START ***" -ForegroundColor Green
+$slnFullPath = ("{0}\{1}" -f $projectDir, $solutionFile)
+Write-Host ("Solution name: {0}" -f $slnFullPath) -ForegroundColor Yellow
+Write-host ("Configuration: {0}" -f $configurationName) -ForegroundColor Yellow
+Write-host ("Output directory: {0}" -f $projectOutputDir) -ForegroundColor Yellow
+
+if ($cleanBeforeBuild -eq $true){
+    Write-Host "Cleaning output directory" -ForegroundColor White
+    Remove-Item -Path "$projectOutputDir\*" -Recurse
+}
+
+RebuildSolution -solutionFileName $slnFullPath -configurationName $configurationName -cleanBeforeBuild $cleanBeforeBuild
+
+# Gathering projects
+$projects = GetProjectsFromSolution $slnFullPath 
+
+# Copy outputs
+foreach ($project in $projects) {   
+    
+    $projectBuildOutput = "$($project.Directory)\bin\$configurationName\*"
+    $ignoreThisProject = Test-Path -Path "$($project.Directory)\.skipoutput"
+    if ($ignoreThisProject -eq $false){ 
+        Copy-Item -Path $projectBuildOutput -Filter * -Destination $projectOutputDir -Force -Recurse
+        Write-Host ("Files was copied from $($project.Directory) to $projectOutputDir")
+    }
+}
+
+
+Write-Host "*** REBUILD - END ***" -ForegroundColor Green

+ 15 - 0
BuildScripts/201_clean_output.ps1

@@ -0,0 +1,15 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 201_clean_output.ps1                                          **#
+#**  Description: PowerShell script library to cleans output directory   **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 26.7.2019                                                  **# 
+#**************************************************************************#
+. ./000_bootstrap.ps1
+
+Write-Host "*** CLEAN - START ***" -ForegroundColor Green
+Write-host ("Output directory: {0}" -f $projectOutputDir) -ForegroundColor Yellow
+
+Remove-Item -Path "$projectOutputDir\*" -Recurse
+
+Write-Host "*** CLEAN - END ***" -ForegroundColor Green

+ 46 - 0
BuildScripts/202_publish_output.ps1

@@ -0,0 +1,46 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 202_publish_output.ps1                                        **#
+#**  Description: PowerShell script library to publish current solution  **#
+#**               to output directory                                    **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 29.7.2019                                                  **# 
+#**************************************************************************#
+param(
+        # Solution file name with full path. If not defined use global solution
+        [string] $solutionFile,
+        # Build configuration Debug / Release. If not defined use Debug
+        [string] $configurationName,
+        # Defines if Clean will be called before build. If not defined use $false
+        [bool] $cleanBeforeBuild        
+)
+. ./000_bootstrap.ps1
+
+
+# Validate inputs
+if (!$solutionFile) { $solutionFile = $solutionName}
+if (!$configurationName) { $configurationName = $buildCfgDebug}
+if (!$cleanBeforeBuild) { $cleanBeforeBuild = $false}
+if ($configurationName -eq $buildCfgAll){
+    Write-Host ("Configuration name {0} for this script is not allowed. Use only {1},{2}." -f $buildCfgAll, $buildCfgDebug, $buildCfgRelease) -ForegroundColor Red
+    Break
+}
+
+# Script body section
+
+# May create output directory
+New-Item -ItemType Directory -Force -Path $projectOutputDir
+
+Write-Host "*** PUBLISH - START ***" -ForegroundColor Green
+$slnFullPath = ("{0}\{1}" -f $projectDir, $solutionFile)
+Write-Host ("Solution name: {0}" -f $slnFullPath) -ForegroundColor Yellow
+Write-host ("Configuration: {0}" -f $configurationName) -ForegroundColor Yellow
+Write-host ("Output directory: {0}" -f $projectOutputDir) -ForegroundColor Yellow
+
+if ($cleanBeforeBuild -eq $true){
+    Write-Host "Cleaning output directory" -ForegroundColor White
+    Remove-Item -Path "$projectOutputDir\*" -Recurse
+}
+
+PublishSolution -solutionFileName $slnFullPath -configurationName $configurationName -cleanBeforeBuild $cleanBeforeBuild
+Write-Host "*** PUBLISH - END ***" -ForegroundColor Green

+ 25 - 0
BuildScripts/300_cleanup.ps1

@@ -0,0 +1,25 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 300_cleanup.ps1                                               **#
+#**  Description: PowerShell script library to cleanup all projects      **#
+#**               folder to minimal size                                 **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 29.7.2019                                                  **# 
+#**************************************************************************#
+. ./000_bootstrap.ps1
+
+Write-Host "*** CLEANINGUP - START ***" -ForegroundColor Green
+$removeRoot = "$projectDir\"
+$i = 0
+Get-ChildItem $removeRoot -include bin,obj,*.user,packages,TestResults,resharper*  -Recurse | foreach ($_) { 
+    Remove-Item $_.fullname -Force -Recurse 
+    Write-Host ("Deleted file {0}" -f $_.fullname) -ForegroundColor White
+    $i = $i + 1
+}
+Get-ChildItem $removeRoot -include .vs -Recurse -Hidden | foreach ($_) { 
+    Remove-Item $_.fullname -Force -Recurse 
+    Write-Host ("Deleted file {0}" -f $_.fullname) -ForegroundColor White
+    $i = $i + 1
+}
+Write-Host ("Deleted {0} files" -f $i) -ForegroundColor Yellow
+Write-Host "*** CLEANINGUP - END ***" -ForegroundColor Green

+ 25 - 0
BuildScripts/301_zip.ps1

@@ -0,0 +1,25 @@
+#**************************************************************************#
+#**  QUADARAX DEPLOYMENT SCRIPTS                                         **#
+#**  File: 301_zip.ps1                                                   **#
+#**  Description: PowerShell script library to zip minimal version       **#
+#**  Version: 1.0.                                                       **#
+#**  Updated: 29.7.2019                                                  **# 
+#**************************************************************************#
+param(
+    # Defines alternative zip file. If not defined uses automatic name
+    [string] $alternativeZipFileName
+)
+
+. ./000_bootstrap.ps1
+# Validate inputs
+if (!$alternativeZipFileName) { $alternativeZipFileName = "$zipNamePrefix$(get-date -f yyyy-MM-dd).7z"}
+
+Write-Host ("Zipping directory {0}" -f $projectDir) -ForegroundColor Yellow
+Write-Host ("Zipping to archive {0}" -f $alternativeZipFileName) -ForegroundColor Yellow
+
+Remove-Item $alternativeZipFileName -Force
+
+Write-Host "*** ZIPPING - START ***" -ForegroundColor Green
+# -xr!.vs  -xr!*.user -xr!packages -xr!TestResults -xr!resharper* 
+7zip a -tzip $alternativeZipFileName $projectDir\ -mx0 -xr!bin -xr!obj -xr!packages -xr!TestResults -xr!resharper* 
+Write-Host "*** ZIPPING - END ***" -ForegroundColor Green

+ 40 - 0
BuildScripts/Quadarax.DevTools.BuildScripts.NuGet.nuspec

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package>
+  <metadata>
+    <id>Quadarax.DevTools.BuildScripts</id>
+    <version>1.0.0</version>
+    <title>Quadarax.DevTools.BuildScripts</title>
+    <authors>Dalibor Votruba</authors>
+    <owners>Dalibor Votruba</owners>
+    <description>Mandatory project build PowerShell scripts designed for simple build and deploy process.</description>
+    <releaseNotes>
+		1.0.0
+			- Initial publish
+	</releaseNotes>
+    <summary>PowerShell script to build and deploy projects</summary>
+    <language>en-US</language>
+    <projectUrl>http://www.quadarax.com</projectUrl>
+    <iconUrl>http://www.quadarax.com/quadarax.ico</iconUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <licenseUrl>http://www.quadarax.com</licenseUrl>
+    <copyright>Copyright Quadarax (c)2019</copyright>
+    <dependencies>     
+    </dependencies>
+    <references>
+	</references>
+    <tags>PowerShell, Build, Scripts</tags>
+  </metadata>
+    <files>
+    <file src="000_bootstrap.ps1" target="content\@Scripts\000_bootstrap.ps1" />
+    <file src="001_settings.ps1" target="content\@Scripts\001_settings.ps1" />
+    <file src="002_library.ps1" target="content\@Scripts\002_library.ps1" />
+    <file src="100_rebuild.ps1" target="content\@Scripts\100_rebuild.ps1" />
+    <file src="101_clean.ps1" target="content\@Scripts\101_clean.ps1" />
+    <file src="200_rebuild_output.ps1" target="content\@Scripts\200_rebuild_output.ps1" />
+    <file src="201_clean_output.ps1" target="content\@Scripts\201_clean_output.ps1" />
+    <file src="202_publish_output.ps1" target="content\@Scripts\202_publish_output.ps1" />
+    <file src="300_cleanup.ps1" target="content\@Scripts\300_cleanup.ps1" />
+    <file src="301_zip.ps1" target="content\@Scripts\301_zip.ps1" />
+    <file src="readme.txt" target="content\@Scripts\readme.txt" />
+  </files>
+</package>

+ 3 - 0
BuildScripts/build.bat

@@ -0,0 +1,3 @@
+@echo off
+echo ** Building NUGET package **
+..\Assets\nuget.exe pack Quadarax.DevTools.BuildScripts.NuGet.nuspec > bin

+ 10 - 0
BuildScripts/readme.txt

@@ -0,0 +1,10 @@
+000_bootstrap.ps1									-	Startup script to prepare PS console session
+001_settings.ps1									-	Project related constant settings
+002_library.ps1										-	Deployment functions library
+100_rebuild.ps1										-	MSBuild Rebuild all
+101_clean.ps1										-	MSBuild Clean all
+200_rebuild_output.ps1								-	Rebuild all to output directory
+201_clean_output.ps1								-	Clean all in output directory
+202_publish_output.ps1								-	Publish all to output directory
+300_cleanup.ps1                                     -   Cleanup all solution directory
+301_zip.ps1                                         -   Zip all minimal solution directory