From 3b22480b5d36b75d0e7e8fcd831cf37b9f0bab57 Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Date: Mon, 15 Apr 2019 21:46:09 +0200 Subject: [PATCH 01/10] Update with correct paths --- src/ApiDocs/docfx.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ApiDocs/docfx.json b/src/ApiDocs/docfx.json index 520622a0e0..0d0efe4f66 100644 --- a/src/ApiDocs/docfx.json +++ b/src/ApiDocs/docfx.json @@ -2,7 +2,8 @@ "metadata": [ { "src": [ - { + { + "src": "../", "files": [ "Umbraco.Core/Umbraco.Core.csproj", "Umbraco.Web/Umbraco.Web.csproj" @@ -11,12 +12,11 @@ "**/obj/**", "**/bin/**", "_site/**" - ], - "cwd": "../src" + ] } ], - "dest": "../apidocs/api", - "filter": "../apidocs/docfx.filter.yml" + "dest": "api", + "filter": "docfx.filter.yml" } ], "build": { @@ -72,4 +72,4 @@ "default", "umbracotemplate" ] } -} \ No newline at end of file +} From dba241ef50b8fc7ca8997d82128643b8925ebc64 Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Date: Mon, 15 Apr 2019 22:04:55 +0200 Subject: [PATCH 02/10] Adding build script for API docs --- build/build-docs.ps1 | 119 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 build/build-docs.ps1 diff --git a/build/build-docs.ps1 b/build/build-docs.ps1 new file mode 100644 index 0000000000..c1b2b22f03 --- /dev/null +++ b/build/build-docs.ps1 @@ -0,0 +1,119 @@ +$PSScriptFilePath = (Get-Item $MyInvocation.MyCommand.Path); +$RepoRoot = (get-item $PSScriptFilePath).Directory.Parent.FullName; +$SolutionRoot = Join-Path -Path $RepoRoot "src"; +$ToolsRoot = Join-Path -Path $RepoRoot "\build\temp"; +$DocFx = Join-Path -Path $ToolsRoot "docfx\docfx.exe" +$DocFxFolder = (Join-Path -Path $ToolsRoot "docfx") +$DocFxJson = Join-Path -Path $SolutionRoot "ApiDocs\docfx.json" +$7Zip = Join-Path -Path $ToolsRoot "7za.exe" +$DocFxSiteOutput = Join-Path -Path $SolutionRoot "ApiDocs\_site\*.*" +#$NgDocsSiteOutput = Join-Path -Path $RepoRoot "src\Umbraco.Web.UI.Client\docs\api\*.*" +$ProgFiles86 = [Environment]::GetEnvironmentVariable("ProgramFiles(x86)"); +$MSBuild = "$ProgFiles86\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" + +<# +################ Do the UI docs + +"Changing to Umbraco.Web.UI.Client folder" +cd .. +cd src\Umbraco.Web.UI.Client +Write-Host $(Get-Location) + +"Creating build folder so MSBuild doesn't run the whole grunt build" +if (-Not (Test-Path "build")) { + md "build" +} + +"Installing node" +# Check if Install-Product exists, should only exist on the build server +if (Get-Command Install-Product -errorAction SilentlyContinue) +{ + Install-Product node '' +} + +"Installing node modules" +& npm install + +"Installing grunt" +& npm install -g grunt-cli + +"Moving back to build folder" +cd .. +cd .. +cd build +Write-Host $(Get-Location) + + & grunt --gruntfile ../src/umbraco.web.ui.client/gruntfile.js docs + +# change baseUrl +$BaseUrl = "https://our.umbraco.org/apidocs/ui/" +$IndexPath = "../src/umbraco.web.ui.client/docs/api/index.html" +(Get-Content $IndexPath).replace('location.href.replace(rUrl, indexFile)', "`'" + $BaseUrl + "`'") | Set-Content $IndexPath +# zip it + +& $7Zip a -tzip ui-docs.zip $NgDocsSiteOutput -r + +#> + +################ Do the c# docs + +# Build the solution in debug mode +$SolutionPath = Join-Path -Path $SolutionRoot -ChildPath "umbraco.sln" + +# Go get nuget.exe if we don't have it +$NuGet = "$ToolsRoot\nuget.exe" +$FileExists = Test-Path $NuGet +If ($FileExists -eq $False) { + Write-Host "Retrieving nuget.exe..." + $SourceNugetExe = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" + Invoke-WebRequest $SourceNugetExe -OutFile $NuGet +} + +#restore nuget packages +Write-Host "Restoring nuget packages..." +& $NuGet restore $SolutionPath + +& $MSBuild "$SolutionPath" /p:Configuration=Debug /maxcpucount /t:Clean +if (-not $?) +{ + throw "The MSBuild process returned an error code." +} +& $MSBuild "$SolutionPath" /p:Configuration=Debug /maxcpucount +if (-not $?) +{ + throw "The MSBuild process returned an error code." +} + +# Go get docfx if we don't have it +$FileExists = Test-Path $DocFx +If ($FileExists -eq $False) { + + If(!(Test-Path $DocFxFolder)) + { + New-Item $DocFxFolder -type directory + } + + Write-Host "Getting docfx..." + $DocFxZip = Join-Path -Path $ToolsRoot "docfx\docfx.zip" + $DocFxSource = "https://github.com/dotnet/docfx/releases/download/v2.41/docfx.zip" + # Create SSL/TLS secure channel to access GitHub API endpoint + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 + Invoke-WebRequest $DocFxSource -OutFile $DocFxZip + + #unzip it + & $7Zip e $DocFxZip "-o$DocFxFolder" +} + +#clear site +If(Test-Path(Join-Path -Path $RepoRoot "ApiDocs\_site")) +{ + Remove-Item $DocFxSiteOutput -recurse +} + +# run it! +& $DocFx metadata $DocFxJson +& $DocFx $DocFxJson --serve + +# zip it + +& $7Zip a -tzip csharp-docs.zip $DocFxSiteOutput -r \ No newline at end of file From 7e064cee83fdb82bc740531c2dcca72399892b2a Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Date: Sun, 28 Apr 2019 21:14:32 +0200 Subject: [PATCH 03/10] Optimizing scripts --- build/build-docs.ps1 | 121 ++++++++----------------------------------- 1 file changed, 23 insertions(+), 98 deletions(-) diff --git a/build/build-docs.ps1 b/build/build-docs.ps1 index c1b2b22f03..15a150ce25 100644 --- a/build/build-docs.ps1 +++ b/build/build-docs.ps1 @@ -1,119 +1,44 @@ -$PSScriptFilePath = (Get-Item $MyInvocation.MyCommand.Path); -$RepoRoot = (get-item $PSScriptFilePath).Directory.Parent.FullName; -$SolutionRoot = Join-Path -Path $RepoRoot "src"; -$ToolsRoot = Join-Path -Path $RepoRoot "\build\temp"; -$DocFx = Join-Path -Path $ToolsRoot "docfx\docfx.exe" -$DocFxFolder = (Join-Path -Path $ToolsRoot "docfx") -$DocFxJson = Join-Path -Path $SolutionRoot "ApiDocs\docfx.json" -$7Zip = Join-Path -Path $ToolsRoot "7za.exe" -$DocFxSiteOutput = Join-Path -Path $SolutionRoot "ApiDocs\_site\*.*" -#$NgDocsSiteOutput = Join-Path -Path $RepoRoot "src\Umbraco.Web.UI.Client\docs\api\*.*" -$ProgFiles86 = [Environment]::GetEnvironmentVariable("ProgramFiles(x86)"); -$MSBuild = "$ProgFiles86\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" +$uenv=build/build.ps1 -get + +$src = "$($uenv.SolutionRoot)\src" +$tmp = $uenv.BuildTemp +$out = $uenv.BuildOutput +$DocFxJson = "$src\ApiDocs\docfx.json" +$DocFxSiteOutput = "$tmp\_site\*.*" -<# ################ Do the UI docs +$uenv.CompileBelle() -"Changing to Umbraco.Web.UI.Client folder" -cd .. -cd src\Umbraco.Web.UI.Client -Write-Host $(Get-Location) +"Moving to Umbraco.Web.UI.Client folder" +cd .\src\Umbraco.Web.UI.Client -"Creating build folder so MSBuild doesn't run the whole grunt build" -if (-Not (Test-Path "build")) { - md "build" -} - -"Installing node" -# Check if Install-Product exists, should only exist on the build server -if (Get-Command Install-Product -errorAction SilentlyContinue) -{ - Install-Product node '' -} - -"Installing node modules" -& npm install - -"Installing grunt" -& npm install -g grunt-cli - -"Moving back to build folder" -cd .. -cd .. -cd build -Write-Host $(Get-Location) - - & grunt --gruntfile ../src/umbraco.web.ui.client/gruntfile.js docs +"Generating the docs and waiting before executing the next commands" +& gulp docs | Out-Null # change baseUrl $BaseUrl = "https://our.umbraco.org/apidocs/ui/" -$IndexPath = "../src/umbraco.web.ui.client/docs/api/index.html" +$IndexPath = "./docs/api/index.html" (Get-Content $IndexPath).replace('location.href.replace(rUrl, indexFile)', "`'" + $BaseUrl + "`'") | Set-Content $IndexPath + # zip it +& $uenv.BuildEnv.Zip a -tzip -r "$out\ui-docs.zip" "$src\Umbraco.Web.UI.Client\docs\api\*.*" -& $7Zip a -tzip ui-docs.zip $NgDocsSiteOutput -r - -#> ################ Do the c# docs # Build the solution in debug mode -$SolutionPath = Join-Path -Path $SolutionRoot -ChildPath "umbraco.sln" - -# Go get nuget.exe if we don't have it -$NuGet = "$ToolsRoot\nuget.exe" -$FileExists = Test-Path $NuGet -If ($FileExists -eq $False) { - Write-Host "Retrieving nuget.exe..." - $SourceNugetExe = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" - Invoke-WebRequest $SourceNugetExe -OutFile $NuGet -} +$SolutionPath = Join-Path -Path $src -ChildPath "umbraco.sln" +#$uenv.CompileUmbraco() #restore nuget packages -Write-Host "Restoring nuget packages..." -& $NuGet restore $SolutionPath +$uenv.RestoreNuGet() -& $MSBuild "$SolutionPath" /p:Configuration=Debug /maxcpucount /t:Clean -if (-not $?) -{ - throw "The MSBuild process returned an error code." -} -& $MSBuild "$SolutionPath" /p:Configuration=Debug /maxcpucount -if (-not $?) -{ - throw "The MSBuild process returned an error code." -} +# run DocFx +$DocFx = $uenv.BuildEnv.DocFx -# Go get docfx if we don't have it -$FileExists = Test-Path $DocFx -If ($FileExists -eq $False) { - - If(!(Test-Path $DocFxFolder)) - { - New-Item $DocFxFolder -type directory - } - - Write-Host "Getting docfx..." - $DocFxZip = Join-Path -Path $ToolsRoot "docfx\docfx.zip" - $DocFxSource = "https://github.com/dotnet/docfx/releases/download/v2.41/docfx.zip" - # Create SSL/TLS secure channel to access GitHub API endpoint - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - Invoke-WebRequest $DocFxSource -OutFile $DocFxZip - - #unzip it - & $7Zip e $DocFxZip "-o$DocFxFolder" -} - -#clear site -If(Test-Path(Join-Path -Path $RepoRoot "ApiDocs\_site")) -{ - Remove-Item $DocFxSiteOutput -recurse -} - -# run it! +Write-Host "$DocFxJson" & $DocFx metadata $DocFxJson -& $DocFx $DocFxJson --serve +& $DocFx build $DocFxJson # zip it - -& $7Zip a -tzip csharp-docs.zip $DocFxSiteOutput -r \ No newline at end of file +& $uenv.BuildEnv.Zip a -tzip -r "$out\csharp-docs.zip" $DocFxSiteOutput From 880e86820ef216150b3a10360adf2ae430c7c32b Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Date: Sun, 28 Apr 2019 21:15:59 +0200 Subject: [PATCH 04/10] Updating with correct directory refferences --- src/ApiDocs/docfx.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ApiDocs/docfx.json b/src/ApiDocs/docfx.json index 0d0efe4f66..21f310fec6 100644 --- a/src/ApiDocs/docfx.json +++ b/src/ApiDocs/docfx.json @@ -11,7 +11,7 @@ "exclude": [ "**/obj/**", "**/bin/**", - "_site/**" + "../../build.tmp/_site/**" ] } ], @@ -36,7 +36,7 @@ ], "exclude": [ "obj/**", - "_site/**" + "../../build.tmp/_site/**" ] } ], @@ -47,7 +47,7 @@ ], "exclude": [ "obj/**", - "_site/**" + "../../build.tmp/_site/**" ] } ], @@ -58,7 +58,7 @@ ], "exclude": [ "obj/**", - "_site/**" + "../../build.tmp/_site/**" ] } ], @@ -67,7 +67,7 @@ "_enableSearch": true, "_disableContribution": false }, - "dest": "_site", + "dest": "../../build.tmp/_site", "template": [ "default", "umbracotemplate" ] From 6b17248f64da002fe28a1644451bc3772781e543 Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Date: Wed, 1 May 2019 15:22:10 +0200 Subject: [PATCH 05/10] Updating base link --- build/build-docs.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/build-docs.ps1 b/build/build-docs.ps1 index 15a150ce25..8cd3f090c7 100644 --- a/build/build-docs.ps1 +++ b/build/build-docs.ps1 @@ -16,7 +16,7 @@ cd .\src\Umbraco.Web.UI.Client & gulp docs | Out-Null # change baseUrl -$BaseUrl = "https://our.umbraco.org/apidocs/ui/" +$BaseUrl = "https://our.umbraco.com/apidocs/v8/ui/" $IndexPath = "./docs/api/index.html" (Get-Content $IndexPath).replace('location.href.replace(rUrl, indexFile)', "`'" + $BaseUrl + "`'") | Set-Content $IndexPath From adf762bdf80188a7b40e0e1af9bac64fbad4f61f Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Date: Wed, 1 May 2019 15:25:47 +0200 Subject: [PATCH 06/10] Integrate docs script with the main build script --- build/build.ps1 | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/build/build.ps1 b/build/build.ps1 index 1088da33bc..290f3ef094 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -424,6 +424,56 @@ Write-Host "Prepare Azure Gallery" $this.CopyFile("$($this.SolutionRoot)\build\Azure\azuregalleryrelease.ps1", $this.BuildOutput) }) + + $ubuild.DefineMethod("PrepareCSharpDocs", + { + Write-Host "Prepare C# Documentation" + + $src = "$($this.SolutionRoot)\src" + $tmp = $this.BuildTemp + $out = $this.BuildOutput + $DocFxJson = Join-Path -Path $src "\ApiDocs\docfx.json" + $DocFxSiteOutput = Join-Path -Path $tmp "\_site\*.*" + + # Build the solution in debug mode + $SolutionPath = Join-Path -Path $src -ChildPath "umbraco.sln" + + #restore nuget packages + $this.RestoreNuGet() + + # run DocFx + $DocFx = $this.BuildEnv.DocFx + + & $DocFx metadata $DocFxJson + & $DocFx build $DocFxJson + + # zip it + & $this.BuildEnv.Zip a -tzip -r "$out\csharp-docs.zip" $DocFxSiteOutput + }) + + $ubuild.DefineMethod("PrepareAngularDocs", + { + Write-Host "Prepare Angular Documentation" + + $src = "$($this.SolutionRoot)\src" + $out = $this.BuildOutput + + $this.CompileBelle() + + "Moving to Umbraco.Web.UI.Client folder" + cd .\src\Umbraco.Web.UI.Client + + "Generating the docs and waiting before executing the next commands" + & gulp docs | Out-Null + + # change baseUrl + $BaseUrl = "https://our.umbraco.org/apidocs/ui/" + $IndexPath = "./docs/api/index.html" + (Get-Content $IndexPath).replace('location.href.replace(rUrl, indexFile)', "`'" + $BaseUrl + "`'") | Set-Content $IndexPath + + # zip it + & $this.BuildEnv.Zip a -tzip -r "$out\ui-docs.zip" "$src\Umbraco.Web.UI.Client\docs\api\*.*" + }) $ubuild.DefineMethod("Build", { From 6cd77df1ad03db2902c3c330e8efbe1ac3fbc135 Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Date: Wed, 1 May 2019 15:30:58 +0200 Subject: [PATCH 07/10] Updating the base link --- build/build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/build.ps1 b/build/build.ps1 index 290f3ef094..6731767be5 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -467,7 +467,7 @@ & gulp docs | Out-Null # change baseUrl - $BaseUrl = "https://our.umbraco.org/apidocs/ui/" + $BaseUrl = "https://our.umbraco.com/apidocs/v8/ui/" $IndexPath = "./docs/api/index.html" (Get-Content $IndexPath).replace('location.href.replace(rUrl, indexFile)', "`'" + $BaseUrl + "`'") | Set-Content $IndexPath From fc0f996500df32128bb2f263d9293751aa986177 Mon Sep 17 00:00:00 2001 From: elitsa Date: Wed, 8 May 2019 12:11:06 +0200 Subject: [PATCH 08/10] Excluding no longer needed paths. --- src/ApiDocs/docfx.json | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/ApiDocs/docfx.json b/src/ApiDocs/docfx.json index 21f310fec6..76677d45d5 100644 --- a/src/ApiDocs/docfx.json +++ b/src/ApiDocs/docfx.json @@ -10,8 +10,7 @@ ], "exclude": [ "**/obj/**", - "**/bin/**", - "../../build.tmp/_site/**" + "**/bin/**" ] } ], @@ -35,19 +34,7 @@ "*.md" ], "exclude": [ - "obj/**", - "../../build.tmp/_site/**" - ] - } - ], - "resource": [ - { - "files": [ - "images/**" - ], - "exclude": [ - "obj/**", - "../../build.tmp/_site/**" + "obj/**" ] } ], @@ -57,8 +44,7 @@ "**.md" ], "exclude": [ - "obj/**", - "../../build.tmp/_site/**" + "obj/**" ] } ], From 3d80d511a46673008d6f95bc055162096c670f01 Mon Sep 17 00:00:00 2001 From: elitsa Date: Wed, 8 May 2019 14:27:44 +0200 Subject: [PATCH 09/10] Adding a parameter for enabling docfx into the script. --- build/build.ps1 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build/build.ps1 b/build/build.ps1 index 6731767be5..f1855833a8 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -11,6 +11,11 @@ [Alias("loc")] [switch] $local = $false, + # enable docfx + [Parameter(Mandatory=$false)] + [Alias("doc")] + [switch] $docfx = $false, + # keep the build directories, don't clear them [Parameter(Mandatory=$false)] [Alias("c")] @@ -31,7 +36,7 @@ $ubuild = &"$PSScriptRoot\build-bootstrap.ps1" if (-not $?) { return } $ubuild.Boot($PSScriptRoot, - @{ Local = $local; }, + @{ Local = $local; WithDocFx = $docfx }, @{ Continue = $continue }) if ($ubuild.OnError()) { return } From 8fce680430f00c9fc896e63a8348e2bcfb9810cf Mon Sep 17 00:00:00 2001 From: Shannon Date: Fri, 10 May 2019 13:07:06 +1000 Subject: [PATCH 10/10] removes unused line, updates gitignore --- .gitignore | 1 + build/build.ps1 | 56 ++++++++++++++++++++++++------------------------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index 23ba01ebf0..585bd855b7 100644 --- a/.gitignore +++ b/.gitignore @@ -161,3 +161,4 @@ build/temp/ # eof /src/Umbraco.Web.UI.Client/TESTS-*.xml +/src/ApiDocs/api/* diff --git a/build/build.ps1 b/build/build.ps1 index f1855833a8..55b686c98e 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -434,50 +434,47 @@ { Write-Host "Prepare C# Documentation" - $src = "$($this.SolutionRoot)\src" - $tmp = $this.BuildTemp - $out = $this.BuildOutput - $DocFxJson = Join-Path -Path $src "\ApiDocs\docfx.json" - $DocFxSiteOutput = Join-Path -Path $tmp "\_site\*.*" + $src = "$($this.SolutionRoot)\src" + $tmp = $this.BuildTemp + $out = $this.BuildOutput + $DocFxJson = Join-Path -Path $src "\ApiDocs\docfx.json" + $DocFxSiteOutput = Join-Path -Path $tmp "\_site\*.*" - # Build the solution in debug mode - $SolutionPath = Join-Path -Path $src -ChildPath "umbraco.sln" #restore nuget packages $this.RestoreNuGet() + # run DocFx + $DocFx = $this.BuildEnv.DocFx + + & $DocFx metadata $DocFxJson + & $DocFx build $DocFxJson - # run DocFx - $DocFx = $this.BuildEnv.DocFx - - & $DocFx metadata $DocFxJson - & $DocFx build $DocFxJson - - # zip it - & $this.BuildEnv.Zip a -tzip -r "$out\csharp-docs.zip" $DocFxSiteOutput + # zip it + & $this.BuildEnv.Zip a -tzip -r "$out\csharp-docs.zip" $DocFxSiteOutput }) $ubuild.DefineMethod("PrepareAngularDocs", { Write-Host "Prepare Angular Documentation" - $src = "$($this.SolutionRoot)\src" - $out = $this.BuildOutput - - $this.CompileBelle() + $src = "$($this.SolutionRoot)\src" + $out = $this.BuildOutput + + $this.CompileBelle() - "Moving to Umbraco.Web.UI.Client folder" - cd .\src\Umbraco.Web.UI.Client + "Moving to Umbraco.Web.UI.Client folder" + cd .\src\Umbraco.Web.UI.Client - "Generating the docs and waiting before executing the next commands" - & gulp docs | Out-Null + "Generating the docs and waiting before executing the next commands" + & gulp docs | Out-Null - # change baseUrl - $BaseUrl = "https://our.umbraco.com/apidocs/v8/ui/" - $IndexPath = "./docs/api/index.html" - (Get-Content $IndexPath).replace('location.href.replace(rUrl, indexFile)', "`'" + $BaseUrl + "`'") | Set-Content $IndexPath + # change baseUrl + $BaseUrl = "https://our.umbraco.com/apidocs/v8/ui/" + $IndexPath = "./docs/api/index.html" + (Get-Content $IndexPath).replace('location.href.replace(rUrl, indexFile)', "`'" + $BaseUrl + "`'") | Set-Content $IndexPath - # zip it - & $this.BuildEnv.Zip a -tzip -r "$out\ui-docs.zip" "$src\Umbraco.Web.UI.Client\docs\api\*.*" + # zip it + & $this.BuildEnv.Zip a -tzip -r "$out\ui-docs.zip" "$src\Umbraco.Web.UI.Client\docs\api\*.*" }) $ubuild.DefineMethod("Build", @@ -511,6 +508,7 @@ if ($this.OnError()) { return } $this.PostPackageHook() if ($this.OnError()) { return } + Write-Host "Done" })