variables: NUGET_PATH: 'C:\Tools\nuget.exe' MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe' SOL_NAME: 'IOB-WIN-NEXT' APP_NAME: 'IOB-WIN-NEXT' NUM_REL: '0.1.2.3' NUM_DEB: '0.1.2-beta.3' CONFIG: '' VERS_MAIN: '3.7' NEW_REL: '' OUTPUT_DIR: '' NET_SHARE_X: '\\codedoc.egalware.com\library' NET_USER_X: 'gitlab' NEXUS_PATH: 'MAPO/IOB-WIN-NEXT' .DocReplica: &DocReplica - | net use X: /delete net use X: $env:NET_SHARE_X /u:$env:NET_USER_X $XDRIVE_PASSWD ROBOCOPY docfx X:\$env:APP_NAME /MIR /XF .git* /XD .git SLEEP 2 net use X: /delete # helper x fix pacchetti nuget da repo locale nexus.steamware.net .nuget-fix: &nuget-fix - | echo "esecuzione Nuget FIX steps" dotnet nuget list source $hasSource = dotnet nuget list source | Select-String -Pattern "Steamware Nexus Proxy" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source "`"Steamware Nexus Proxy`"" } $hasSource = dotnet nuget list source | Select-String -Pattern "Steamware Nexus" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source "`"Steamware Nexus`"" } $hasSource = dotnet nuget list source | Select-String -Pattern "nexus-proxy-v3" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source nexus-proxy-v3 } $hasSource = dotnet nuget list source | Select-String -Pattern "nexus-hosted" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source nexus-hosted } $hasSource = dotnet nuget list source | Select-String -Pattern "Microsoft Visual Studio Offline Packages" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source 'Microsoft Visual Studio Offline Packages' } echo "Situazione sorgenti post remove:" dotnet nuget list source dotnet nuget add source https://nexus.steamware.net/repository/nuget-proxy-v3/index.json -n nexus-proxy-v3 -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text dotnet nuget add source https://nexus.steamware.net/repository/nuget-hosted/ -n nexus-hosted -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text $hasSource = dotnet nuget list source echo "Situazione sorgenti FINALE:" dotnet nuget list source # helper x fix version number .version-fix: &version-fix - | $env:NEW_REL = $env:VERS_MAIN+"."+(get-date -format yyMM)+"."+(get-date -format ddHH) $env:NUM_REL = $env:VERS_MAIN+"."+(get-date -format yyMM)+"."+(get-date -format dHH) $env:NUM_DEB = $env:VERS_MAIN+"."+(get-date -format yyMM)+"-beta."+(get-date -format dHH) $env:NEW_COPYRIGHT = "EgalWare @ 2006-" + (get-date -format yyyy) $contenuto = Get-Content -path 'VersGen\VersGen.cs' -Raw $newContenuto = $contenuto -replace '0.0.0.0', $env:NEW_REL $newContenuto = $newContenuto -replace 'EgalWare © 2006', $env:NEW_COPYRIGHT $newContenuto | Set-Content -Path 'VersGen\VersGen.cs' # display versioni generate $resoconto = "Effettuato fix file VersGen | release v: " + $env:NUM_REL + " | debug v: " + $env:NUM_DEB; Write-Output $resoconto; echo "Replace completati" # helper x fix nuspec file .nuspec-fix: &nuspec-fix - | echo "Modifica dati file nuspec Release" $currRelease = $env:NUM_REL $currDebug = $env:NUM_DEB $find = "(.|\n)*?"; $fileNameRel = "$env:APP_NAME.Release.nuspec"; $replRel = "" + $currRelease + ""; $nuspDataRel = Get-Content $fileNameRel; $nuspDataRelUpd = $nuspDataRel -replace $find, $replRel; $nuspDataRelUpd = $nuspDataRelUpd -replace "#copyright#", $replCopy; $nuspDataRelUpd = $nuspDataRelUpd -replace "#releaseNotes#", "Build $adesso"; Set-Content -Path $fileNameRel -Value $nuspDataRelUpd; echo "Modifica dati file nuspec Debug" $fileNameDeb = "$env:APP_NAME.Debug.nuspec"; $replDeb = "" + $currDebug + ""; $nuspDataDeb = Get-Content $fileNameDeb; $nuspDataDebUpd = $nuspDataDeb -replace $find, $replDeb; $nuspDataDebUpd = $nuspDataDebUpd -replace "#copyright#", $replCopy; $nuspDataDebUpd = $nuspDataDebUpd -replace "#releaseNotes#", "Build $adesso"; Set-Content -Path $fileNameDeb -Value $nuspDataDebUpd; echo "replace completati" # helper pulizia files zip .cleanup-zip: &cleanup-zip - | $env:OUTPUT_DIR = "Releases\" + $CI_COMMIT_BRANCH + "\*" if ((Test-Path $env:OUTPUT_DIR)) { Remove-Item $env:OUTPUT_DIR -Force -Recurse -ErrorAction Ignore } echo "Clening ZIP dir: $env:OUTPUT_DIR" # helper creazione files zip .zipper: &zipper - | $7zipPath = $env:ProgramFiles+"\7-Zip\7z.exe" if (-not (Test-Path -Path $7zipPath -PathType Leaf)) { throw "7 zip file '$7zipPath' not found" } Set-Alias 7zip $7zipPath $Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip" cd "$env:APP_NAME\bin\" $Source = "*" 7zip a -tzip $Target $Source -xr!DATA\CONF echo "called ZIP $Source --> $Target" # helper creazione hash files .hashBuild: &hashBuild - | $Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip" $MD5 = Get-FileHash $Target -Algorithm MD5 $SHA1 = Get-FileHash $Target -Algorithm SHA1 New-Item $Target".md5" New-Item $Target".sha1" $MD5.Hash | Set-Content -Path $Target".md5" $SHA1.Hash | Set-Content -Path $Target".sha1" echo "Created HASH files for $Target" .nexusUpload: &nexusUpload - | Set-Alias mCurl C:\Windows\system32\curl.exe $VersNumb = $env:NEW_REL echo "Curr Version: $VersNumb" if($CI_COMMIT_BRANCH -eq "master") { $version = "stable" } else { $version = "unstable" } $File2Send = Get-ChildItem("Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".*") ForEach ($File in $File2Send) { $FileName = Split-Path $File -leaf mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/LAST/$FileName mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/ARCHIVE/$VersNumb/$FileName } echo "Upload area utility for Releases\$CI_COMMIT_BRANCH\$env:APP_NAME.*" $FileUtility = Get-ChildItem("Releases\$CI_COMMIT_BRANCH\$env:APP_NAME.*") ForEach ($File in $FileUtility) { $FileName = Split-Path $File -leaf mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/utility/MAPO/$env:APP_NAME/$version/$FileName } stages: - build - staging - release - docfx # -------------------------------- # BUILD # -------------------------------- EgwConf.Iob:build: stage: build tags: - win variables: APP_NAME: EgwConf.Iob before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.Ftp:build: stage: build tags: - win variables: APP_NAME: EgwProxy.Ftp before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.Gomba:build: stage: build tags: - win variables: APP_NAME: EgwProxy.Gomba before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.Icoel:build: stage: build tags: - win variables: APP_NAME: EgwProxy.Icoel before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.MultiCncLib:build: stage: build tags: - win variables: APP_NAME: EgwProxy.MultiCncLib before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.OsaiCncLib:build: stage: build tags: - win variables: APP_NAME: EgwProxy.OsaiCncLib before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.Shelly:build: stage: build tags: - win variables: APP_NAME: EgwProxy.Shelly before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' EgwProxy.SqlDb:build: stage: build tags: - win variables: APP_NAME: EgwProxy.SqlDb before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' # -------------------------------- # STAGING: (nuget beta) # -------------------------------- EgwConf.Iob:staging: stage: staging needs: ["EgwConf.Iob:build"] tags: - win variables: CONFIG: Debug APP_NAME: EgwConf.Iob # rules: # - if: $CI_COMMIT_BRANCH == 'develop' # changes: # - EgwConf.Iob/* # when: always # - if: $CI_COMMIT_BRANCH == 'SDK/Conf' # changes: # - EgwConf.Iob/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Ftp:staging: stage: staging needs: ["EgwProxy.Ftp:build"] tags: - win variables: CONFIG: Debug APP_NAME: EgwProxy.Ftp rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.Ftp/* when: always - if: $CI_COMMIT_BRANCH == 'SDK/Ftp' changes: - EgwProxy.Ftp/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Gomba:staging: stage: staging needs: ["EgwProxy.Gomba:build"] tags: - win variables: CONFIG: Debug APP_NAME: EgwProxy.Gomba rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.Gomba/* when: always - if: $CI_COMMIT_BRANCH == 'SDK/Gomba' changes: - EgwProxy.Gomba/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Icoel:staging: stage: staging needs: ["EgwProxy.Icoel:build"] tags: - win variables: CONFIG: Debug APP_NAME: EgwProxy.Icoel rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.Icoel/* when: always - if: $CI_COMMIT_BRANCH == 'SDK/Icoel' changes: - EgwProxy.Icoel/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.MultiCncLib:staging: stage: staging needs: ["EgwProxy.MultiCncLib:build"] tags: - win variables: CONFIG: Debug APP_NAME: EgwProxy.MultiCncLib rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.MultiCncLib/* when: always - if: $CI_COMMIT_BRANCH == 'SDK/MultiCncLib' changes: - EgwProxy.MultiCncLib/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.OsaiCncLib:staging: stage: staging needs: ["EgwProxy.OsaiCncLib:build"] tags: - win variables: CONFIG: Debug APP_NAME: EgwProxy.OsaiCncLib rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.OsaiCncLib/* when: always - if: $CI_COMMIT_BRANCH == 'SDK/OsaiCnc' changes: - EgwProxy.OsaiCncLib/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Shelly:staging: stage: staging needs: ["EgwProxy.Shelly:build"] tags: - win variables: CONFIG: Debug APP_NAME: EgwProxy.Shelly rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.Shelly/* when: always - if: $CI_COMMIT_BRANCH == 'SDK/Shelly' changes: - EgwProxy.Shelly/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.SqlDb:staging: stage: staging needs: ["EgwProxy.SqlDb:build"] tags: - win variables: CONFIG: Debug APP_NAME: EgwProxy.SqlDb rules: - if: $CI_COMMIT_BRANCH == 'develop' changes: - EgwProxy.SqlDb/* when: always - if: $CI_COMMIT_BRANCH == 'SDK/SqlDb' changes: - EgwProxy.SqlDb/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' # -------------------------------- # RELEASE # -------------------------------- EgwConf.Iob:build:release: stage: release needs: ["EgwConf.Iob:build"] tags: - win variables: CONFIG: Release APP_NAME: EgwConf.Iob # rules: # - if: $CI_COMMIT_BRANCH == 'main' # changes: # - EgwConf.Iob/* # when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Ftp:build:release: stage: release needs: ["EgwProxy.Ftp:build"] tags: - win variables: CONFIG: Release APP_NAME: EgwProxy.Ftp rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.Ftp/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Gomba:build:release: stage: release needs: ["EgwProxy.Gomba:build"] tags: - win variables: CONFIG: Release APP_NAME: EgwProxy.Gomba rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.Gomba/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Icoel:build:release: stage: release needs: ["EgwProxy.Icoel:build"] tags: - win variables: CONFIG: Release APP_NAME: EgwProxy.Icoel rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.Icoel/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.MultiCncLib:build:release: stage: release needs: ["EgwProxy.MultiCncLib:build"] tags: - win variables: CONFIG: Release APP_NAME: EgwProxy.MultiCncLib rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.MultiCncLib/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.OsaiCncLib:build:release: stage: release needs: ["EgwProxy.OsaiCncLib:build"] tags: - win variables: CONFIG: Release APP_NAME: EgwProxy.OsaiCncLib rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.OsaiCncLib/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.vbproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.Shelly:build:release: stage: release needs: ["EgwProxy.Shelly:build"] tags: - win variables: CONFIG: Release APP_NAME: EgwProxy.Shelly # rules: # - if: $CI_COMMIT_BRANCH == 'main' # changes: # - EgwProxy.Shelly/* before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' EgwProxy.SqlDb:build:release: stage: release needs: ["EgwProxy.SqlDb:build"] tags: - win variables: CONFIG: Release APP_NAME: EgwProxy.SqlDb rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.SqlDb/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - *version-fix - *nuspec-fix script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' # - '& "$env:NUGET_PATH" pack "$env:APP_NAME\$env:APP_NAME.csproj" -properties Configuration=$env:CONFIG -Version $env:NUM_REL' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' # -------------------------------- # DocFx # -------------------------------- EgwConf.Iob:docfx: stage: docfx needs: ["EgwConf.Iob:build"] tags: - win variables: APP_NAME: EgwConf.Iob rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwConf.Iob/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica EgwProxy.Ftp:docfx: stage: docfx needs: ["EgwProxy.Ftp:build"] tags: - win variables: APP_NAME: EgwProxy.Ftp rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.Ftp/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica EgwProxy.Gomba:docfx: stage: docfx needs: ["EgwProxy.Gomba:build"] tags: - win variables: APP_NAME: EgwProxy.Gomba rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.Gomba/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica EgwProxy.Icoel:docfx: stage: docfx needs: ["EgwProxy.Icoel:build"] tags: - win variables: APP_NAME: EgwProxy.Icoel rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.Icoel/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica EgwProxy.MultiCncLib:docfx: stage: docfx needs: ["EgwProxy.MultiCncLib:build"] tags: - win variables: APP_NAME: EgwProxy.MultiCncLib rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.MultiCncLib/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica EgwProxy.OsaiCncLib:docfx: stage: docfx needs: ["EgwProxy.OsaiCncLib:build"] tags: - win variables: APP_NAME: EgwProxy.OsaiCncLib rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.OsaiCncLib/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica EgwProxy.Shelly:docfx: stage: docfx needs: ["EgwProxy.Shelly:build"] tags: - win variables: APP_NAME: EgwProxy.Shelly rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.Shelly/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica EgwProxy.SqlDb:docfx: stage: docfx needs: ["EgwProxy.SqlDb:build"] tags: - win variables: APP_NAME: EgwProxy.SqlDb rules: - if: $CI_COMMIT_BRANCH == 'main' changes: - EgwProxy.SqlDb/* when: always before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica