DocSpace-buildtools/build/install/win/build-download-prereq.ps1
Eugene Kozyrev de61cedfd1
Feature/Refactor windows installation (#749)
* Refactor services start

* Change executable

* Add substitutions

* Add substitutions

* Add redis erlang rabbit

* Update AppServer.aip

* Add custom actions

* Add dialogs

* Update AppServer.aip

* Update AppServer.aip

* Add docspace_upgrade1.sql execution

* Add sql scripts

Delete ApiSystem service
Delete StorageEncryption service
Delete StorageMigration service

* Update AppServer.aip

* Update AppServer.aip

* Update AppServer.aip

* Refactor install project

* Add new exe files

* Add sql execution

* Upgrade MySQL version to 8.0.29

* Add new services

* Delete Thumbnails prop

* Edit sql scripts

* Delete sql connection

* Add migration runner

* Edit StartMigrationRunner

* Edit typo

* Edit fail condition

* Update publish

* Downgrade MySQL version to 8.0.21

* Update build-download-prereq.ps1

* Change dialogs banner

* Add debug migration run

* Update nginx.conf

* Add shortcuts

* Edit StartMigrationRunner

* Add PRODUCT_NAME

* Delete AppServer.back.aip

* Update AppServer.aip

* Update nginx.conf

* Delete shortcuts

* Add norestart flag

* Test

* Revert "Add norestart flag"

This reverts commit 535d37841caab542302ac2255c1fd3993a21b782.

* Update AppServer.aip

* Update AppServer.aip

* Add redistributable libs download

* Change packages download via NuGet

* Add RabbitMQ.Client package download

Co-authored-by: Alexey Golubev <alexey.golubev@onlyoffice.com>
2022-08-04 08:27:22 +03:00

65 lines
1.9 KiB
PowerShell

$AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12,Tls13'
[System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols
# Function 'DownloadComponents' downloads some components that need on build satge
#
# It gets two parameters list of maps and download path
#
# The map consists of: download_allways ($true/$false) - should this component should download every time
# name - name of the dowmloaded component
# link - component download link
function DownloadComponents {
param ( $prereq_list, $path )
ForEach ( $item in $prereq_list ) {
$url = $item.link
$output = $path + $item.name
if( $item.download_allways ){
[system.console]::WriteLine("Downloading $url")
Invoke-WebRequest -Uri $url -OutFile $output
} else {
if(![System.IO.File]::Exists($output)){
[system.console]::WriteLine("Downloading $url")
Invoke-WebRequest -Uri $url -OutFile $output
}
}
}
}
$zookeeper_version = '3.7.1'
$kafka_version = '2.8.0'
$scala_version = '2.12'
$nginx_version = '1.21.1'
$path_prereq = "${pwd}\build\install\win\"
$prerequisites = @(
@{
download_allways = $false;
name = "nginx-${nginx_version}.zip";
link = "https://nginx.org/download/nginx-${nginx_version}.zip";
}
@{
download_allways = $false;
name = "apache-zookeeper-${zookeeper_version}-bin.tar.gz";
link = "https://dlcdn.apache.org/zookeeper/zookeeper-${zookeeper_version}/apache-zookeeper-${zookeeper_version}-bin.tar.gz";
}
@{
download_allways = $false;
name = "kafka_${scala_version}-${kafka_version}.tgz";
link = "https://archive.apache.org/dist/kafka/${kafka_version}/kafka_${scala_version}-${kafka_version}.tgz";
}
@{
download_allways = $false;
name = "WinSW.NET4new.exe";
link = "https://github.com/winsw/winsw/releases/download/v2.11.0/WinSW.NET4.exe";
}
)
DownloadComponents $prerequisites $path_prereq