From 879834c7b9434b12a43a201da339d57f92bc212c Mon Sep 17 00:00:00 2001
From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch>
Date: Thu, 2 May 2019 16:12:58 +0200
Subject: [PATCH] Move build-package-deploy details to Scripts/README

Relates to #60
---
 CONTRIBUTING.md   | 69 +--------------------------------------
 Scripts/README.md | 82 ++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 75 insertions(+), 76 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ea85c1e..b0823d1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -73,74 +73,7 @@ To run a typical development cycle, a few helper scripts are provided, most
 notably to facilitate / automate that cycle whilst using the common
 functionalities coming with AutoTx (like the updater).
 
-### Building / Compiling
-
-Open a shell session using the `Developer Command Prompt for VS 2017` shortcut
-(doesn't require any special permissions, i.e. can be your user that's also
-running Visual Studio). For convenience reasons it is recommended to start
-`PowerShell` within this terminal, but this is not strictly required. Navigate
-to the `AutoTx` source code base directory, then call any of the `.cmd` scripts
-under `Scripts/msbuild` depending on your needs. For a *Debug* build this would
-be something like this:
-
-```PowerShell
-cd  C:\Devel\AutoTx   ## <- adjust path to your requirements
-.\Scripts\msbuild\build\debug.cmd
-```
-
-### Creating an Installation / Updater Package
-
-After building the service has completed, use the `Deploy-NewBuild.ps1` script,
-optionally with specifying the path to the updater configuration (by default
-the script will assume "`C:\Tools\AutoTx-Updater\UpdaterConfig.inc.ps1`" for
-this).
-
-```PowerShell
-.\Scripts\Deploy-NewBuild.ps1
-# or by specifying the config explicitly:
-.\Scripts\Deploy-NewBuild.ps1 -UpdaterSettings C:\Path\To\UpdaterConfig.inc.ps1
-```
-
-Running this should produce output similar to the one shown here:
-
-```
-Creating package [build_2019-04-23_14-14-42__3.0-70-gf90a55c] using binaries from:
-    [C:\Devel\AutoTx\ATxService\bin\Debug]
-    [C:\Devel\AutoTx\ATxTray\bin\Debug]
-    [C:\Devel\AutoTx\ATxConfigTest\bin\Debug]
-    [C:\Devel\AutoTx\ATxDiagnostics\bin\Debug]
-
-Removing existing package dir [build_2019-04-23_14-14-42__3.0-70-gf90a55c]...
-
-Done creating package [build_2019-04-23_14-14-42__3.0-70-gf90a55c]
-    [configuration: Debug]
-    [commit: 3.0-70-gf90a55c]
-
-Location: [C:\Devel\AutoTx\Scripts\build_2019-04-23_14-14-42__3.0-70-gf90a55c]
-```
-
-### Triggering the Updater
-
-Running the updater can be done in various ways, for example you could simply
-call the script manually from a PowerShell session with sufficient privileges.
-However, the recommended method is to actually trigger the scheduled task to
-mimick a "*real-life*" run as closely as possible. This is doable using the
-GUI (e.g. by launching `compmgmt.msc` and clicking all your way through the
-"Task Scheduler" tree jungle). A much easier approach is to use the command line
-again to run the job. Unfortunately there is no *straightforward* way to launch
-a registered job on Windows 7 (on Windows 10 there is the `Start-ScheduledTask`
-cmdlet), so you have to take a little detour. First of all make sure to have a
-PowerShell session running with *elevated privileges* (i.e. it is **not enough**
-to run it with an administrator account, you explicitly need to start it with
-the "Run as Administrator" option), then issue this command:
-
-```PowerShell
-(Get-ScheduledJob -Name "AutoTx-Updater").StartJob()
-```
-
-This should trigger a run of the updater, any actions will be recorded to the
-Windows Event Log. In case the service was running before, it will be restarted
-and show its related messages in the service log file.
+For details, please have a look at [Build-Package-Deploy](Scripts/README.md).
 
 ## Coding Conventions
 
diff --git a/Scripts/README.md b/Scripts/README.md
index 107fc3d..b06b4c0 100644
--- a/Scripts/README.md
+++ b/Scripts/README.md
@@ -1,13 +1,79 @@
-Build-Package-Deploy Cycle
-==========================
+# Build-Package-Deploy Cycle
 
-NOTE: everything here assumes default installation locations!
+Instructions on running a typical development cycle using the helper /
+convenience scripts provided here to automate the steps as much as possible.
 
-Run the `Deploy-NewBuild.ps1` script to package a new build, place the files at
-their appropriate location and remove the update marker file for this host. Then
-use a shell with the appropriate permissions and run the updater script using
-the following command (or trigger it through the scheduled jobs if installed):
+## Building / Compiling
 
-```powershell
+Open a shell session using the `Developer Command Prompt for VS 2017` shortcut
+(doesn't require any special permissions, i.e. can be your user that's also
+running Visual Studio). For convenience reasons it is recommended to start
+`PowerShell` within this terminal, but this is not strictly required. Navigate
+to the `AutoTx` source code base directory, then call any of the `.cmd` scripts
+under `Scripts/msbuild` depending on your needs. For a *Debug* build this would
+be something like this:
+
+```PowerShell
+cd  C:\Devel\AutoTx   ## <- adjust path to your requirements
+.\Scripts\msbuild\build\debug.cmd
+```
+
+## Creating an Installation / Updater Package
+
+After building the service has completed, use the `Deploy-NewBuild.ps1` script,
+optionally with specifying the path to the updater configuration (by default
+the script will assume "`C:\Tools\AutoTx-Updater\UpdaterConfig.inc.ps1`" for
+this).
+
+```PowerShell
+.\Scripts\Deploy-NewBuild.ps1
+# or by specifying the config explicitly:
+.\Scripts\Deploy-NewBuild.ps1 -UpdaterSettings C:\Path\To\UpdaterConfig.inc.ps1
+```
+
+Running this should produce output similar to the one shown here:
+
+```
+Creating package [build_2019-04-23_14-14-42__3.0-70-gf90a55c] using binaries from:
+    [C:\Devel\AutoTx\ATxService\bin\Debug]
+    [C:\Devel\AutoTx\ATxTray\bin\Debug]
+    [C:\Devel\AutoTx\ATxConfigTest\bin\Debug]
+    [C:\Devel\AutoTx\ATxDiagnostics\bin\Debug]
+
+Removing existing package dir [build_2019-04-23_14-14-42__3.0-70-gf90a55c]...
+
+Done creating package [build_2019-04-23_14-14-42__3.0-70-gf90a55c]
+    [configuration: Debug]
+    [commit: 3.0-70-gf90a55c]
+
+Location: [C:\Devel\AutoTx\Scripts\build_2019-04-23_14-14-42__3.0-70-gf90a55c]
+```
+
+## Triggering the Updater
+
+Running the updater can be done in various ways, for example you could simply
+call the script manually from a PowerShell session with sufficient privileges
+(*NOT recommended though*):
+
+```PowerShell
 C:\Tools\AutoTx-Updater\Update-Service.ps1 -UpdaterSettings C:\Tools\AutoTx-Updater\UpdaterConfig.inc.ps1
 ```
+
+However, the way better approach is to actually trigger the scheduled task to
+mimick a "*real-life*" run as closely as possible. This is doable using the
+GUI (e.g. by launching `compmgmt.msc` and clicking all your way through the
+"Task Scheduler" tree jungle). A much easier approach is to use the command line
+again to run the job. Unfortunately there is no *straightforward* way to launch
+a registered job on Windows 7 (on Windows 10 there is the `Start-ScheduledTask`
+cmdlet), so you have to take a little detour. First of all make sure to have a
+PowerShell session running with *elevated privileges* (i.e. it is **not enough**
+to run it with an administrator account, you explicitly need to start it with
+the "Run as Administrator" option), then issue this command:
+
+```PowerShell
+(Get-ScheduledJob -Name "AutoTx-Updater").StartJob()
+```
+
+This should trigger a run of the updater, any actions will be recorded to the
+Windows Event Log. In case the service was running before, it will be restarted
+and show its related messages in the service log file.
\ No newline at end of file
-- 
GitLab