77 lines
3.2 KiB
PowerShell
77 lines
3.2 KiB
PowerShell
#POSTBUILD powershell -ExecutionPolicy Unrestricted $(ProjectDir)deploy.ps1 -ProjectDir $(ProjectDir) -SolutionDir $(SolutionDir) -OutDir $(OutDir) -ConfigurationName $(ConfigurationName)
|
|
param([string]$OutDir,
|
|
[string]$ConfigurationName,
|
|
[string]$SolutionDir,
|
|
[string]$ProjectDir);
|
|
|
|
$copyAssembly = 0
|
|
$copyWorkspace = 0
|
|
$signAssembly = 1
|
|
$ProductName="C4IT - F4SD - WebApi for M42"
|
|
|
|
|
|
$targetPath = "\\srvwsm001.imagoverum.com\c$\Program Files (x86)\Matrix42\Matrix42 Workplace Management"
|
|
$minifyApi = "https://www.toptal.com/developers/javascript-minifier/api/raw"
|
|
|
|
|
|
#minify js file
|
|
$workdirPath = "$ProjectDir${OutDir}"
|
|
$workdirPathZip = "$workdirPath\zip"
|
|
|
|
|
|
Get-ChildItem -Path "$workdirPathZip" -File -Recurse | Remove-Item
|
|
Expand-Archive -Path "$workdirPath\F4SD - M42.zip" -DestinationPath $workdirPathZip
|
|
|
|
$buildDate = $((get-date).ToLocalTime()).ToString("yyyy-MM-dd")
|
|
$jsCode = Get-Content -Path "$workdirPath\F4SD.js" -Raw
|
|
$body = @{input=$jsCode}
|
|
$contentType = 'application/x-www-form-urlencoded'
|
|
$resp = Invoke-WebRequest -Method POST -Uri $minifyApi -body $body -ContentType $contentType
|
|
$workspaceVersion = (Get-Content -Raw -Path "$workdirPath\workspace.json" | ConvertFrom-Json).version
|
|
[IO.File]::WriteAllLines("$workdirPath\F4SD.min.js","/*v$workspaceVersion ($buildDate)*/" + $resp.Content)
|
|
|
|
$finalWorkspacePath = "$workdirPathZip\Files\WM\workspaces\C4IT_F4SD"
|
|
New-Item -ItemType Directory -Force -Path $finalWorkspacePath | out-null
|
|
Copy-Item "$workdirPath\F4SD.min.js" -Destination "$finalWorkspacePath"
|
|
Copy-Item "$workdirPath\F4SDIcons.svg" -Destination "$finalWorkspacePath"
|
|
Copy-Item "$workdirPath\workspace.json" -Destination "$finalWorkspacePath"
|
|
|
|
$finalAssemblyPath = "$workdirPathZip\Assemblies\svc\bin\"
|
|
New-Item -ItemType Directory -Force -Path $finalWorkspacePath | out-null
|
|
|
|
if($signAssembly -eq 1)
|
|
{
|
|
|
|
$SignTool="$SolutionDir\..\..\Workspaces\Common Code\Tools\signtool.exe"
|
|
$TimeStamp="http://rfc3161timestamp.globalsign.com/advanced"
|
|
& $SignTool sign /a /tr $TimeStamp /td SHA256 /fd SHA256 /d $ProductName C:\Users\dm134\source\repos\F4SDM42WebApi\F4SDM42WebApi\bin\Release\C4ITF4SDM42WebApi.dll C:\Users\dm134\source\repos\F4SDM42WebApi\F4SDM42WebApi\bin\Release\C4ITF4SDM42WebApiHelper.dll
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Get-ChildItem -Path "$ProjectDir${OutDir}C4ITF4SD*" -Include *.dll | Copy-Item -Destination $finalAssemblyPath
|
|
|
|
Remove-Item "$workdirPath\F4SD - M42 v$workspaceVersion.zip"
|
|
Compress-Archive -Path "$workdirPathZip\*" -DestinationPath "$workdirPath\F4SD - M42 v$workspaceVersion.zip"
|
|
|
|
|
|
|
|
|
|
IF( $ConfigurationName -eq "Release_and_copy" -OR $ConfigurationName -eq "Debug_and_copy" )
|
|
{
|
|
#Copy Assembly
|
|
if($copyAssembly -eq 1)
|
|
{
|
|
Get-ChildItem -Path "$ProjectDir${OutDir}C4ITF4SD*" -Include *.dll | Copy-Item -Destination "$targetPath\svc\bin\"
|
|
}
|
|
#Copy Workspace
|
|
if($copyWorkspace -eq 1)
|
|
{
|
|
$targetWorkspacePath = "$targetPath\WM\workspaces\C4IT_F4SD"
|
|
New-Item -ItemType Directory -Force -Path $targetWorkspacePath | out-null
|
|
Get-ChildItem -Path "$finalWorkspacePath\*" -Include * | Copy-Item -Destination $targetWorkspacePath
|
|
}
|
|
|
|
} |