mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-01 07:15:27 +08:00 
			
		
		
		
	fixed build
This commit is contained in:
		| @@ -1,6 +1,7 @@ | ||||
| #tool "nuget:?package=GitVersion.CommandLine" | ||||
| #tool "nuget:?package=GitReleaseNotes" | ||||
| #addin "nuget:?package=Cake.Json" | ||||
| #addin nuget:?package=Cake.Json | ||||
| #addin nuget:?package=Newtonsoft.Json&version=9.0.1 | ||||
| #tool "nuget:?package=OpenCover" | ||||
| #tool "nuget:?package=ReportGenerator" | ||||
| #tool coveralls.net | ||||
|   | ||||
							
								
								
									
										121
									
								
								build.ps1
									
									
									
									
									
								
							
							
						
						
									
										121
									
								
								build.ps1
									
									
									
									
									
								
							| @@ -21,34 +21,35 @@ The build script target to run. | ||||
| The build configuration to use. | ||||
| .PARAMETER Verbosity | ||||
| Specifies the amount of information to be displayed. | ||||
| .PARAMETER ShowDescription | ||||
| Shows description about tasks. | ||||
| .PARAMETER DryRun | ||||
| Performs a dry run. | ||||
| .PARAMETER Experimental | ||||
| Tells Cake to use the latest Roslyn release. | ||||
| .PARAMETER WhatIf | ||||
| Performs a dry run of the build script. | ||||
| No tasks will be executed. | ||||
| Uses the nightly builds of the Roslyn script engine. | ||||
| .PARAMETER Mono | ||||
| Tells Cake to use the Mono scripting engine. | ||||
| Uses the Mono Compiler rather than the Roslyn script engine. | ||||
| .PARAMETER SkipToolPackageRestore | ||||
| Skips restoring of packages. | ||||
| .PARAMETER ScriptArgs | ||||
| Remaining arguments are added here. | ||||
|  | ||||
| .LINK | ||||
| http://cakebuild.net | ||||
| https://cakebuild.net | ||||
|  | ||||
| #> | ||||
|  | ||||
| [CmdletBinding()] | ||||
| Param( | ||||
|     [string]$Script = "build.cake", | ||||
|     [string]$Target = "Default", | ||||
|     [ValidateSet("Release", "Debug")] | ||||
|     [string]$Configuration = "Release", | ||||
|     [string]$Target, | ||||
|     [string]$Configuration, | ||||
|     [ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")] | ||||
|     [string]$Verbosity = "Verbose", | ||||
|     [string]$Verbosity, | ||||
|     [switch]$ShowDescription, | ||||
|     [Alias("WhatIf", "Noop")] | ||||
|     [switch]$DryRun, | ||||
|     [switch]$Experimental, | ||||
|     [Alias("DryRun","Noop")] | ||||
|     [switch]$WhatIf, | ||||
|     [switch]$Mono, | ||||
|     [switch]$SkipToolPackageRestore, | ||||
|     [Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)] | ||||
| @@ -80,6 +81,15 @@ function MD5HashFile([string] $filePath) | ||||
|     } | ||||
| } | ||||
|  | ||||
| function GetProxyEnabledWebClient | ||||
| { | ||||
|     $wc = New-Object System.Net.WebClient | ||||
|     $proxy = [System.Net.WebRequest]::GetSystemWebProxy() | ||||
|     $proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials         | ||||
|     $wc.Proxy = $proxy | ||||
|     return $wc | ||||
| } | ||||
|  | ||||
| Write-Host "Preparing to run build script..." | ||||
|  | ||||
| if(!$PSScriptRoot){ | ||||
| @@ -87,31 +97,15 @@ if(!$PSScriptRoot){ | ||||
| } | ||||
|  | ||||
| $TOOLS_DIR = Join-Path $PSScriptRoot "tools" | ||||
| $ADDINS_DIR = Join-Path $TOOLS_DIR "Addins" | ||||
| $MODULES_DIR = Join-Path $TOOLS_DIR "Modules" | ||||
| $NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe" | ||||
| $CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe" | ||||
| $NUGET_URL = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" | ||||
| $PACKAGES_CONFIG = Join-Path $TOOLS_DIR "packages.config" | ||||
| $PACKAGES_CONFIG_MD5 = Join-Path $TOOLS_DIR "packages.config.md5sum" | ||||
|  | ||||
| # Should we use mono? | ||||
| $UseMono = ""; | ||||
| if($Mono.IsPresent) { | ||||
|     Write-Verbose -Message "Using the Mono based scripting engine." | ||||
|     $UseMono = "-mono" | ||||
| } | ||||
|  | ||||
| # Should we use the new Roslyn? | ||||
| $UseExperimental = ""; | ||||
| if($Experimental.IsPresent -and !($Mono.IsPresent)) { | ||||
|     Write-Verbose -Message "Using experimental version of Roslyn." | ||||
|     $UseExperimental = "-experimental" | ||||
| } | ||||
|  | ||||
| # Is this a dry run? | ||||
| $UseDryRun = ""; | ||||
| if($WhatIf.IsPresent) { | ||||
|     $UseDryRun = "-dryrun" | ||||
| } | ||||
| $ADDINS_PACKAGES_CONFIG = Join-Path $ADDINS_DIR "packages.config" | ||||
| $MODULES_PACKAGES_CONFIG = Join-Path $MODULES_DIR "packages.config" | ||||
|  | ||||
| # Make sure tools folder exists | ||||
| if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) { | ||||
| @@ -121,8 +115,10 @@ if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) { | ||||
|  | ||||
| # Make sure that packages.config exist. | ||||
| if (!(Test-Path $PACKAGES_CONFIG)) { | ||||
|     Write-Verbose -Message "Downloading packages.config..." | ||||
|     try { (New-Object System.Net.WebClient).DownloadFile("http://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch { | ||||
|     Write-Verbose -Message "Downloading packages.config..."     | ||||
|     try {         | ||||
|         $wc = GetProxyEnabledWebClient | ||||
|         $wc.DownloadFile("https://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch { | ||||
|         Throw "Could not download packages.config." | ||||
|     } | ||||
| } | ||||
| @@ -130,7 +126,7 @@ if (!(Test-Path $PACKAGES_CONFIG)) { | ||||
| # Try find NuGet.exe in path if not exists | ||||
| if (!(Test-Path $NUGET_EXE)) { | ||||
|     Write-Verbose -Message "Trying to find nuget.exe in PATH..." | ||||
|     $existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_) } | ||||
|     $existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_ -PathType Container) } | ||||
|     $NUGET_EXE_IN_PATH = Get-ChildItem -Path $existingPaths -Filter "nuget.exe" | Select -First 1 | ||||
|     if ($NUGET_EXE_IN_PATH -ne $null -and (Test-Path $NUGET_EXE_IN_PATH.FullName)) { | ||||
|         Write-Verbose -Message "Found in PATH at $($NUGET_EXE_IN_PATH.FullName)." | ||||
| @@ -142,7 +138,8 @@ if (!(Test-Path $NUGET_EXE)) { | ||||
| if (!(Test-Path $NUGET_EXE)) { | ||||
|     Write-Verbose -Message "Downloading NuGet.exe..." | ||||
|     try { | ||||
|         (New-Object System.Net.WebClient).DownloadFile($NUGET_URL, $NUGET_EXE) | ||||
|         $wc = GetProxyEnabledWebClient | ||||
|         $wc.DownloadFile($NUGET_URL, $NUGET_EXE) | ||||
|     } catch { | ||||
|         Throw "Could not download NuGet.exe." | ||||
|     } | ||||
| @@ -175,6 +172,41 @@ if(-Not $SkipToolPackageRestore.IsPresent) { | ||||
|         $md5Hash | Out-File $PACKAGES_CONFIG_MD5 -Encoding "ASCII" | ||||
|     } | ||||
|     Write-Verbose -Message ($NuGetOutput | out-string) | ||||
|  | ||||
|     Pop-Location | ||||
| } | ||||
|  | ||||
| # Restore addins from NuGet | ||||
| if (Test-Path $ADDINS_PACKAGES_CONFIG) { | ||||
|     Push-Location | ||||
|     Set-Location $ADDINS_DIR | ||||
|  | ||||
|     Write-Verbose -Message "Restoring addins from NuGet..." | ||||
|     $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$ADDINS_DIR`"" | ||||
|  | ||||
|     if ($LASTEXITCODE -ne 0) { | ||||
|         Throw "An error occured while restoring NuGet addins." | ||||
|     } | ||||
|  | ||||
|     Write-Verbose -Message ($NuGetOutput | out-string) | ||||
|  | ||||
|     Pop-Location | ||||
| } | ||||
|  | ||||
| # Restore modules from NuGet | ||||
| if (Test-Path $MODULES_PACKAGES_CONFIG) { | ||||
|     Push-Location | ||||
|     Set-Location $MODULES_DIR | ||||
|  | ||||
|     Write-Verbose -Message "Restoring modules from NuGet..." | ||||
|     $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$MODULES_DIR`"" | ||||
|  | ||||
|     if ($LASTEXITCODE -ne 0) { | ||||
|         Throw "An error occured while restoring NuGet modules." | ||||
|     } | ||||
|  | ||||
|     Write-Verbose -Message ($NuGetOutput | out-string) | ||||
|  | ||||
|     Pop-Location | ||||
| } | ||||
|  | ||||
| @@ -183,7 +215,20 @@ if (!(Test-Path $CAKE_EXE)) { | ||||
|     Throw "Could not find Cake.exe at $CAKE_EXE" | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| # Build Cake arguments | ||||
| $cakeArguments = @("$Script"); | ||||
| if ($Target) { $cakeArguments += "-target=$Target" } | ||||
| if ($Configuration) { $cakeArguments += "-configuration=$Configuration" } | ||||
| if ($Verbosity) { $cakeArguments += "-verbosity=$Verbosity" } | ||||
| if ($ShowDescription) { $cakeArguments += "-showdescription" } | ||||
| if ($DryRun) { $cakeArguments += "-dryrun" } | ||||
| if ($Experimental) { $cakeArguments += "-experimental" } | ||||
| if ($Mono) { $cakeArguments += "-mono" } | ||||
| $cakeArguments += $ScriptArgs | ||||
|  | ||||
| # Start Cake | ||||
| Write-Host "Running build script..." | ||||
| Invoke-Expression "& `"$CAKE_EXE`" `"$Script`" -target=`"$Target`" -configuration=`"$Configuration`" -verbosity=`"$Verbosity`" $UseMono $UseDryRun $UseExperimental $ScriptArgs" | ||||
| exit $LASTEXITCODE | ||||
| &$CAKE_EXE $cakeArguments | ||||
| exit $LASTEXITCODE | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <packages> | ||||
|     <package id="Cake" version="0.17.0" /> | ||||
|     <package id="Cake" version="0.22.2" /> | ||||
| </packages> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Tom Pallister
					Tom Pallister