setup.ps1 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. param($action)
  2. if (!$TROOT) {
  3. $TROOT = "C:\FrameworkBenchmarks\frameworks\CSharp\revenj"
  4. }
  5. if (!$IROOT) {
  6. $IROOT = "C:\FrameworkBenchmarks\installs"
  7. }
  8. if (!$DBHOST) {
  9. $DBHOST = "localhost"
  10. }
  11. Add-Type -AssemblyName System.IO.Compression.FileSystem
  12. $msbuild = $Env:windir + "\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe"
  13. $java=$Env:JAVA_HOME + "\bin\java"
  14. $dslclc=$TROOT + "\dsl-clc.jar"
  15. $httpZip=$TROOT + "\http-server.zip"
  16. $sln=$TROOT + "\Revenj.Bench.sln"
  17. $revenj=$TROOT + "\exe\Revenj.Http.exe"
  18. $exe=$TROOT + "\exe\"
  19. $config=$TROOT + "\exe\Revenj.Http.exe.config"
  20. echo "Stopping existing Revenj.Http"
  21. Stop-Process -Name "Revenj.Http*" -ErrorAction 'SilentlyContinue' | Out-Null
  22. if ($action -eq 'start') {
  23. echo "Cleaning up..."
  24. If (Test-Path $TROOT/exe) {
  25. rmdir $TROOT/exe -recurse -force
  26. }
  27. if (Test-Path $TROOT/dsl-clc.jar) {
  28. rm $TROOT/dsl-clc.jar
  29. }
  30. if (Test-Path $TROOT/http-server.zip) {
  31. rm $TROOT/http-server.zip
  32. }
  33. echo "Download DSL compiler client"
  34. $client = new-object System.Net.WebClient
  35. $client.DownloadFile( "https://github.com/ngs-doo/dsl-compiler-client/releases/download/1.7.0/dsl-clc.jar", $dslclc )
  36. echo "Download Revenj HTTP server"
  37. $client = new-object System.Net.WebClient
  38. $client.DownloadFile( "https://github.com/ngs-doo/revenj/releases/download/1.3.1/http-server.zip", $httpZip )
  39. echo "Unzipping HTTP server"
  40. [System.IO.Compression.ZipFile]::ExtractToDirectory($httpZip, $exe)
  41. echo "Compiling the server model and downloading DSL Platform compiler..."
  42. &$java -jar $dslclc temp=$TROOT/tmp/ force dsl=$TROOT/Revenj.Bench manual-json revenj.net=$TROOT/exe/ServerModel.dll no-prompt dependencies:revenj.net=$TROOT/exe compiler=$IROOT/dsl-compiler.exe
  43. echo "Compiling the benchmark project..."
  44. &$msbuild $sln /p:Configuration=Release /t:Rebuild
  45. echo "Copying the configuration template"
  46. $template = Get-Content $TROOT/Revenj.Http.exe.config
  47. $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False)
  48. [System.IO.File]::WriteAllText($config, $template.Replace("server=localhost", "server=" + $DBHOST), $Utf8NoBomEncoding)
  49. echo "Starting Revenj..."
  50. Start-Process $revenj
  51. }