diff --git a/Build/build.flurl.cmd b/Build/build.flurl.cmd index d03e604..b13cacf 100644 --- a/Build/build.flurl.cmd +++ b/Build/build.flurl.cmd @@ -1,4 +1,4 @@ -@set project=..\src\Flurl.Library\ +@set project=..\src\Flurl\ call dotnet restore --verbosity Error %project% @if ERRORLEVEL 1 ( diff --git a/Build/build.flurl.http.cmd b/Build/build.flurl.http.cmd index 2840e17..4fe7790 100644 --- a/Build/build.flurl.http.cmd +++ b/Build/build.flurl.http.cmd @@ -14,7 +14,7 @@ echo Error! Generation cs file failed. exit /b 1 ) -@set project=..\src\Flurl.Http.Library\ +@set project=..\src\Flurl.Http\ call dotnet restore --verbosity Error %project% @if ERRORLEVEL 1 ( diff --git a/Build/nuspec/Flurl.Http.nuspec b/Build/nuspec/Flurl.Http.nuspec index bf64590..ce3ddea 100644 --- a/Build/nuspec/Flurl.Http.nuspec +++ b/Build/nuspec/Flurl.Http.nuspec @@ -2,7 +2,7 @@ Flurl.Http - 1.0.0 + 1.0.1-beta Flurl.Http Todd Menier http://tmenier.github.io/Flurl @@ -107,10 +107,10 @@ - - - - - + + + + + \ No newline at end of file diff --git a/Build/nuspec/Flurl.nuspec b/Build/nuspec/Flurl.nuspec index eee8824..fbce270 100644 --- a/Build/nuspec/Flurl.nuspec +++ b/Build/nuspec/Flurl.nuspec @@ -2,7 +2,7 @@ Flurl - 2.1.0 + 2.1.1-beta Flurl Todd Menier http://tmenier.github.io/Flurl @@ -52,10 +52,10 @@ - - - - - + + + + + \ No newline at end of file diff --git a/Build/scripts/install.ps1 b/Build/scripts/install.ps1 deleted file mode 100644 index a68031f..0000000 --- a/Build/scripts/install.ps1 +++ /dev/null @@ -1,358 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -<# -.SYNOPSIS - Installs dotnet cli -.DESCRIPTION - Installs dotnet cli. If dotnet installation already exists in the given directory - it will update it only if the requested version differs from the one already installed. -.PARAMETER Channel - Default: preview - Channel is the way of reasoning about stability and quality of dotnet. This parameter takes one of the values: - - future - Possibly unstable, frequently changing, may contain new finished and unfinished features - - preview - Pre-release stable with known issues and feature gaps - - production - Most stable releases -.PARAMETER Version - Default: latest - Represents a build version on specific channel. Possible values: - - 4-part version in a format A.B.C.D - represents specific version of build - - latest - most latest build on specific channel - - lkg - last known good version on specific channel - Note: LKG work is in progress. Once the work is finished, this will become new default -.PARAMETER InstallDir - Default: %LocalAppData%\Microsoft\dotnet - Path to where to install dotnet. Note that binaries will be placed directly in a given directory. -.PARAMETER Architecture - Default: - this value represents currently running OS architecture - Architecture of dotnet binaries to be installed. - Possible values are: , x64 and x86 -.PARAMETER SharedRuntime - Default: false - Installs just the shared runtime bits, not the entire SDK -.PARAMETER DebugSymbols - If set the installer will include symbols in the installation. -.PARAMETER DryRun - If set it will not perform installation but instead display what command line to use to consistently install - currently requested version of dotnet cli. In example if you specify version 'latest' it will display a link - with specific version so that this command can be used deterministicly in a build script. - It also displays binaries location if you prefer to install or download it yourself. -.PARAMETER NoPath - By default this script will set environment variable PATH for the current process to the binaries folder inside installation folder. - If set it will display binaries location but not set any environment variable. -.PARAMETER Verbose - Displays diagnostics information. -.PARAMETER AzureFeed - Default: https://dotnetcli.blob.core.windows.net/dotnet - This parameter should not be usually changed by user. It allows to change URL for the Azure feed used by this installer. -#> -[cmdletbinding()] -param( - [string]$Channel="rel-1.0.0", - [string]$Version="Latest", - [string]$InstallDir="", - [string]$Architecture="", - [switch]$SharedRuntime, - [switch]$DebugSymbols, # TODO: Switch does not work yet. Symbols zip is not being uploaded yet. - [switch]$DryRun, - [switch]$NoPath, - [string]$AzureFeed="https://dotnetcli.blob.core.windows.net/dotnet" -) - -Set-StrictMode -Version Latest -$ErrorActionPreference="Stop" -$ProgressPreference="SilentlyContinue" - -$BinFolderRelativePath="" - -# example path with regex: shared/1.0.0-beta-12345/somepath -$VersionRegEx="/\d+\.\d+[^/]+/" -$OverrideNonVersionedFiles=$true - -function Say($str) { - Write-Host "dotnet-install: $str" -} - -function Say-Verbose($str) { - Write-Verbose "dotnet-install: $str" -} - -function Say-Invocation($Invocation) { - $command = $Invocation.MyCommand; - $args = (($Invocation.BoundParameters.Keys | foreach { "-$_ `"$($Invocation.BoundParameters[$_])`"" }) -join " ") - Say-Verbose "$command $args" -} - -function Get-Machine-Architecture() { - Say-Invocation $MyInvocation - - # possible values: AMD64, IA64, x86 - return $ENV:PROCESSOR_ARCHITECTURE -} - -# TODO: Architecture and CLIArchitecture should be unified -function Get-CLIArchitecture-From-Architecture([string]$Architecture) { - Say-Invocation $MyInvocation - - switch ($Architecture.ToLower()) { - { $_ -eq "" } { return Get-CLIArchitecture-From-Architecture $(Get-Machine-Architecture) } - { ($_ -eq "amd64") -or ($_ -eq "x64") } { return "x64" } - { $_ -eq "x86" } { return "x86" } - default { throw "Architecture not supported. If you think this is a bug, please report it at https://github.com/dotnet/cli/issues" } - } -} - -function Get-Version-Info-From-Version-Text([string]$VersionText) { - Say-Invocation $MyInvocation - - $Data = @($VersionText.Split([char[]]@(), [StringSplitOptions]::RemoveEmptyEntries)); - - $VersionInfo = @{} - $VersionInfo.CommitHash = $Data[0].Trim() - $VersionInfo.Version = $Data[1].Trim() - return $VersionInfo -} - -function Get-Latest-Version-Info([string]$AzureFeed, [string]$AzureChannel, [string]$CLIArchitecture) { - Say-Invocation $MyInvocation - - $VersionFileUrl = $null - if ($SharedRuntime) { - $VersionFileUrl = "$AzureFeed/$AzureChannel/dnvm/latest.sharedfx.win.$CLIArchitecture.version" - } - else { - $VersionFileUrl = "$AzureFeed/Sdk/$AzureChannel/latest.version" - } - - $Response = Invoke-WebRequest -UseBasicParsing $VersionFileUrl - - switch ($Response.Headers.'Content-Type'){ - { ($_ -eq "application/octet-stream") } { $VersionText = [Text.Encoding]::UTF8.GetString($Response.Content) } - { ($_ -eq "text/plain") } { $VersionText = $Response.Content } - default { throw "``$Response.Headers.'Content-Type'`` is an unknown .version file content type." } - } - - - $VersionInfo = Get-Version-Info-From-Version-Text $VersionText - - return $VersionInfo -} - -# TODO: AzureChannel and Channel should be unified -function Get-Azure-Channel-From-Channel([string]$Channel) { - Say-Invocation $MyInvocation - - # For compatibility with build scripts accept also directly Azure channels names - switch ($Channel.ToLower()) { - { ($_ -eq "future") -or ($_ -eq "dev") } { return "dev" } - { $_ -eq "production" } { throw "Production channel does not exist yet" } - default { return $_ } - } -} - -function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$AzureChannel, [string]$CLIArchitecture, [string]$Version) { - Say-Invocation $MyInvocation - - switch ($Version.ToLower()) { - { $_ -eq "latest" } { - $LatestVersionInfo = Get-Latest-Version-Info -AzureFeed $AzureFeed -AzureChannel $AzureChannel -CLIArchitecture $CLIArchitecture - return $LatestVersionInfo.Version - } - { $_ -eq "lkg" } { throw "``-Version LKG`` not supported yet." } - default { return $Version } - } -} - -function Get-Download-Links([string]$AzureFeed, [string]$AzureChannel, [string]$SpecificVersion, [string]$CLIArchitecture) { - Say-Invocation $MyInvocation - - $ret = @() - - if ($SharedRuntime) { - $PayloadURL = "$AzureFeed/$AzureChannel/Binaries/$SpecificVersion/dotnet-win-$CLIArchitecture.$SpecificVersion.zip" - } - else { - $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-dev-win-$CLIArchitecture.$SpecificVersion.zip" - } - - Say-Verbose "Constructed payload URL: $PayloadURL" - $ret += $PayloadURL - - return $ret -} - -function Get-User-Share-Path() { - Say-Invocation $MyInvocation - - $InstallRoot = $env:DOTNET_INSTALL_DIR - if (!$InstallRoot) { - $InstallRoot = "$env:LocalAppData\Microsoft\dotnet" - } - return $InstallRoot -} - -function Resolve-Installation-Path([string]$InstallDir) { - Say-Invocation $MyInvocation - - if ($InstallDir -eq "") { - return Get-User-Share-Path - } - return $InstallDir -} - -function Get-Version-Info-From-Version-File([string]$InstallRoot, [string]$RelativePathToVersionFile) { - Say-Invocation $MyInvocation - - $VersionFile = Join-Path -Path $InstallRoot -ChildPath $RelativePathToVersionFile - Say-Verbose "Local version file: $VersionFile" - - if (Test-Path $VersionFile) { - $VersionText = cat $VersionFile - Say-Verbose "Local version file text: $VersionText" - return Get-Version-Info-From-Version-Text $VersionText - } - - Say-Verbose "Local version file not found." - - return $null -} - -function Is-Dotnet-Package-Installed([string]$InstallRoot, [string]$RelativePathToPackage, [string]$SpecificVersion) { - Say-Invocation $MyInvocation - - $DotnetPackagePath = Join-Path -Path $InstallRoot -ChildPath $RelativePathToPackage | Join-Path -ChildPath $SpecificVersion - Say-Verbose "Is-Dotnet-Package-Installed: Path to a package: $DotnetPackagePath" - return Test-Path $DotnetPackagePath -PathType Container -} - -function Get-Absolute-Path([string]$RelativeOrAbsolutePath) { - # Too much spam - # Say-Invocation $MyInvocation - - return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($RelativeOrAbsolutePath) -} - -function Get-Path-Prefix-With-Version($path) { - $match = [regex]::match($path, $VersionRegEx) - if ($match.Success) { - return $entry.FullName.Substring(0, $match.Index + $match.Length) - } - - return $null -} - -function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([System.IO.Compression.ZipArchive]$Zip, [string]$OutPath) { - Say-Invocation $MyInvocation - - $ret = @() - foreach ($entry in $Zip.Entries) { - $dir = Get-Path-Prefix-With-Version $entry.FullName - if ($dir -ne $null) { - $path = Get-Absolute-Path $(Join-Path -Path $OutPath -ChildPath $dir) - if (-Not (Test-Path $path -PathType Container)) { - $ret += $dir - } - } - } - - $ret = $ret | Sort-Object | Get-Unique - - $values = ($ret | foreach { "$_" }) -join ";" - Say-Verbose "Directories to unpack: $values" - - return $ret -} - -# Example zip content and extraction algorithm: -# Rule: files if extracted are always being extracted to the same relative path locally -# .\ -# a.exe # file does not exist locally, extract -# b.dll # file exists locally, override only if $OverrideFiles set -# aaa\ # same rules as for files -# ... -# abc\1.0.0\ # directory contains version and exists locally -# ... # do not extract content under versioned part -# abc\asd\ # same rules as for files -# ... -# def\ghi\1.0.1\ # directory contains version and does not exist locally -# ... # extract content -function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) { - Say-Invocation $MyInvocation - - Add-Type -Assembly System.IO.Compression.FileSystem | Out-Null - Set-Variable -Name Zip - try { - $Zip = [System.IO.Compression.ZipFile]::OpenRead($ZipPath) - - $DirectoriesToUnpack = Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package -Zip $Zip -OutPath $OutPath - - foreach ($entry in $Zip.Entries) { - $PathWithVersion = Get-Path-Prefix-With-Version $entry.FullName - if (($PathWithVersion -eq $null) -Or ($DirectoriesToUnpack -contains $PathWithVersion)) { - $DestinationPath = Get-Absolute-Path $(Join-Path -Path $OutPath -ChildPath $entry.FullName) - $DestinationDir = Split-Path -Parent $DestinationPath - $OverrideFiles=$OverrideNonVersionedFiles -Or (-Not (Test-Path $DestinationPath)) - if ((-Not $DestinationPath.EndsWith("\")) -And $OverrideFiles) { - New-Item -ItemType Directory -Force -Path $DestinationDir | Out-Null - [System.IO.Compression.ZipFileExtensions]::ExtractToFile($entry, $DestinationPath, $OverrideNonVersionedFiles) - } - } - } - } - finally { - if ($Zip -ne $null) { - $Zip.Dispose() - } - } -} - -$AzureChannel = Get-Azure-Channel-From-Channel -Channel $Channel -$CLIArchitecture = Get-CLIArchitecture-From-Architecture $Architecture -$SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $AzureFeed -AzureChannel $AzureChannel -CLIArchitecture $CLIArchitecture -Version $Version -$DownloadLinks = Get-Download-Links -AzureFeed $AzureFeed -AzureChannel $AzureChannel -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture - -if ($DryRun) { - Say "Payload URLs:" - foreach ($DownloadLink in $DownloadLinks) { - Say "- $DownloadLink" - } - Say "Repeatable invocation: .\$($MyInvocation.MyCommand) -Version $SpecificVersion -Channel $Channel -Architecture $CLIArchitecture -InstallDir $InstallDir" - exit 0 -} - -$InstallRoot = Resolve-Installation-Path $InstallDir -Say-Verbose "InstallRoot: $InstallRoot" - -$IsSdkInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage "sdk" -SpecificVersion $SpecificVersion -Say-Verbose ".NET SDK installed? $IsSdkInstalled" -if ($IsSdkInstalled) { - Say ".NET SDK version $SpecificVersion is already installed." - exit 0 -} - -New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null - -foreach ($DownloadLink in $DownloadLinks) { - $ZipPath = [System.IO.Path]::GetTempFileName() - Say "Downloading $DownloadLink" - $resp = Invoke-WebRequest -UseBasicParsing $DownloadLink -OutFile $ZipPath - - Say "Extracting zip from $DownloadLink" - Extract-Dotnet-Package -ZipPath $ZipPath -OutPath $InstallRoot - - Remove-Item $ZipPath -} - -$BinPath = Get-Absolute-Path $(Join-Path -Path $InstallRoot -ChildPath $BinFolderRelativePath) -if (-Not $NoPath) { - Say "Adding to current process PATH: `"$BinPath`". Note: This change will not be visible if PowerShell was run as a child process." - $env:path = "$BinPath;" + $env:path -} -else { - Say "Binaries of dotnet can be found in $BinPath" -} - -Say "Installation finished" -exit 0 diff --git a/Build/scripts/show-dotnet-info.ps1 b/Build/scripts/show-dotnet-info.ps1 deleted file mode 100644 index d358156..0000000 --- a/Build/scripts/show-dotnet-info.ps1 +++ /dev/null @@ -1,9 +0,0 @@ - -if (Get-Command dotnet -errorAction SilentlyContinue) { - Write-Host "Using dotnet '$((Get-Command dotnet).Path)'" - dotnet --version -} -else { - Write-Host "dotnet.exe not found" -} - diff --git a/Build/test.cmd b/Build/test.cmd index 3fb3f64..f512394 100644 --- a/Build/test.cmd +++ b/Build/test.cmd @@ -1,7 +1,5 @@ @set project=..\test\Flurl.Test.NETCore\ -@call dotnet --info - call dotnet restore --verbosity Error %project% @if ERRORLEVEL 1 ( echo Error! Restoring dependicies failed. diff --git a/Flurl.sln b/Flurl.sln index 7076541..b376691 100644 --- a/Flurl.sln +++ b/Flurl.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.25123.0 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{CF0659E1-9C0D-4D35-8FBA-CC5E94619853}" EndProject @@ -11,9 +11,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Test.NET45", "test\Fl EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Test.PCL", "test\Flurl.Test.PCL\Flurl.Test.PCL.csproj", "{49CB777F-D13D-401A-9206-48A6B2ECB276}" EndProject -Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Flurl.Http.Library", "src\Flurl.Http.Library\Flurl.Http.Library.xproj", "{52C8C00D-9BD2-4642-B103-F0A8C564FE05}" +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Flurl.Http", "src\Flurl.Http\Flurl.Http.xproj", "{52C8C00D-9BD2-4642-B103-F0A8C564FE05}" EndProject -Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Flurl.Library", "src\Flurl.Library\Flurl.Library.xproj", "{52CE5E08-8F02-4F75-8B64-8E00E3262A0F}" +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Flurl", "src\Flurl\Flurl.xproj", "{52CE5E08-8F02-4F75-8B64-8E00E3262A0F}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "packageTesters", "packageTesters", "{FA115433-6141-4A60-B3F2-8A5972632B50}" EndProject @@ -45,18 +45,18 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuspec", "nuspec", "{E41F60 EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution - Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{4c7c0861-84f6-436e-8fa6-4c318b336a7b}*SharedItemsImports = 13 - PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{19c1befd-9df7-4efa-9d7d-37b0dc6eef54}*SharedItemsImports = 13 - src\Flurl.Http.Shared\Flurl.Http.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4 - Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4 - src\Flurl.Shared\Flurl.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4 - PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{d00a7c13-ab11-46f0-a694-8986dec6ac5d}*SharedItemsImports = 4 PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{0a32978c-bc48-4dfb-b1f7-b88541b0d686}*SharedItemsImports = 4 - src\Flurl.Http.Shared\Flurl.Http.Shared.projitems*{734e6962-97e2-4318-9a2d-c87e76921afb}*SharedItemsImports = 13 - src\Flurl.Shared\Flurl.Shared.projitems*{ed944c76-9613-474e-9861-54e41a3e77cd}*SharedItemsImports = 13 + PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{19c1befd-9df7-4efa-9d7d-37b0dc6eef54}*SharedItemsImports = 13 src\Flurl.Http.Shared\Flurl.Http.Shared.projitems*{3f6be828-fa29-429e-99e1-f1fcdfdc1205}*SharedItemsImports = 4 - Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{3f6be828-fa29-429e-99e1-f1fcdfdc1205}*SharedItemsImports = 4 src\Flurl.Shared\Flurl.Shared.projitems*{3f6be828-fa29-429e-99e1-f1fcdfdc1205}*SharedItemsImports = 4 + Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{3f6be828-fa29-429e-99e1-f1fcdfdc1205}*SharedItemsImports = 4 + src\Flurl.Http.Shared\Flurl.Http.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4 + src\Flurl.Shared\Flurl.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4 + Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4 + Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{4c7c0861-84f6-436e-8fa6-4c318b336a7b}*SharedItemsImports = 13 + src\Flurl.Http.Shared\Flurl.Http.Shared.projitems*{734e6962-97e2-4318-9a2d-c87e76921afb}*SharedItemsImports = 13 + PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{d00a7c13-ab11-46f0-a694-8986dec6ac5d}*SharedItemsImports = 4 + src\Flurl.Shared\Flurl.Shared.projitems*{ed944c76-9613-474e-9861-54e41a3e77cd}*SharedItemsImports = 13 EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Ad-Hoc|Any CPU = Ad-Hoc|Any CPU diff --git a/NuGet.Config b/NuGet.Config index 6b3bbc6..fdd3388 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -6,6 +6,12 @@ + + + + + + diff --git a/PackageTesters/PackageTester.NETCore/project.json b/PackageTesters/PackageTester.NETCore/project.json index a7f8650..24d7755 100644 --- a/PackageTesters/PackageTester.NETCore/project.json +++ b/PackageTesters/PackageTester.NETCore/project.json @@ -6,7 +6,7 @@ } }, "dependencies": { - "Flurl.Http": "1.0.0" + "Flurl.Http": "1.0.1-beta" }, "frameworks": { "netcoreapp1.0": { diff --git a/Test/Flurl.Test.NETCore/project.json b/Test/Flurl.Test.NETCore/project.json index b39f568..7abc47f 100644 --- a/Test/Flurl.Test.NETCore/project.json +++ b/Test/Flurl.Test.NETCore/project.json @@ -1,19 +1,25 @@ { - "name": "Flurl.Test.NETCore", - "buildOptions": { "compile": { "include": [ "../Flurl.Test.Shared/**/*.cs" ] } }, + "configurations": { + "Release": { + "buildOptions": { + "optimize": true + } + } + }, + "commands": { "test": "Flurl.Test.NETCore" }, "dependencies": { "dotnet-test-nunit": "3.4.0-beta-1", - "Flurl.Http.Library": { "target": "project" }, + "Flurl.Http": { "target": "project" }, "NUnit": "3.4.1" }, @@ -34,4 +40,4 @@ } } } -} +} \ No newline at end of file diff --git a/Test/Flurl.Test.Shared/PackageTests.cs b/Test/Flurl.Test.Shared/PackageTests.cs index fee36ef..def28bf 100644 --- a/Test/Flurl.Test.Shared/PackageTests.cs +++ b/Test/Flurl.Test.Shared/PackageTests.cs @@ -16,14 +16,14 @@ namespace Flurl.Test { [Test] public void flurl_versions_are_consistent() { - var projVer = GetProjectVersion(@"src\Flurl.Library\project.json"); + var projVer = GetProjectVersion(@"src\Flurl\project.json"); var nuspecVer = GetNuspecVersion(@"build\nuspec\Flurl.nuspec"); Assert.AreEqual(projVer, nuspecVer); } [Test] public void flurlhttp_versions_are_consistent() { - var projVer = GetProjectVersion(@"src\Flurl.Http.Library\project.json"); + var projVer = GetProjectVersion(@"src\Flurl.Http\project.json"); var nuspecVer = GetNuspecVersion(@"build\nuspec\Flurl.Http.nuspec"); Assert.AreEqual(projVer, nuspecVer); } diff --git a/appveyor.yml b/appveyor.yml index f0046b4..a70f5bc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,7 +1,6 @@ version: 1.0.0-{branch}-{build} branches: - # whitelist only: - master - dev @@ -9,14 +8,8 @@ branches: pull_requests: do_not_increment_build_number: true -os: Visual Studio 2015 - -install: - - ps: .\build\scripts\install.ps1 - build_script: - - ps: .\build\scripts\show-dotnet-info.ps1 - - cmd: call cmd /C "cd .\build & pack.flurl.cmd & pack.flurl.http.cmd" + - cmd: call cmd /C "call dotnet --info & cd .\build & pack.flurl.cmd & pack.flurl.http.cmd" test_script: - cmd: call cmd /C "cd .\build & test.cmd" diff --git a/src/Flurl.Http.CodeGen/project.json b/src/Flurl.Http.CodeGen/project.json index 3105e5b..7b4ee09 100644 --- a/src/Flurl.Http.CodeGen/project.json +++ b/src/Flurl.Http.CodeGen/project.json @@ -1,7 +1,14 @@ { "buildOptions": { - "emitEntryPoint": true, - "optimize": true + "emitEntryPoint": true + }, + + "configurations": { + "Release": { + "buildOptions": { + "optimize": true + } + } }, "dependencies": { diff --git a/src/Flurl.Http.Shared/Content/FileContent.cs b/src/Flurl.Http.Shared/Content/FileContent.cs index d9fd01b..caa715d 100644 --- a/src/Flurl.Http.Shared/Content/FileContent.cs +++ b/src/Flurl.Http.Shared/Content/FileContent.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using System.IO; +using System.IO; using System.Net; using System.Net.Http; using System.Threading.Tasks; @@ -11,7 +9,7 @@ namespace Flurl.Http.Content /// Represents HTTP content based on a local file. Typically used with PostMultipartAsync for uploading files. /// public class FileContent : HttpContent - { + { /// /// The local file path. /// @@ -29,15 +27,26 @@ namespace Flurl.Http.Content _bufferSize = bufferSize; } - protected override async Task SerializeToStreamAsync(Stream stream, TransportContext context) { - using (var source = await FileUtil.OpenReadAsync(Path, _bufferSize).ConfigureAwait(false)) { - await source.CopyToAsync(stream, _bufferSize).ConfigureAwait(false); - } + /// + /// Serializes to stream asynchronous. + /// + /// The stream. + /// The context. + /// + protected override async Task SerializeToStreamAsync(Stream stream, TransportContext context) { + using (var source = await FileUtil.OpenReadAsync(Path, _bufferSize).ConfigureAwait(false)) { + await source.CopyToAsync(stream, _bufferSize).ConfigureAwait(false); + } } - protected override bool TryComputeLength(out long length) { - length = -1; + /// + /// Tries the length of the compute. + /// + /// The length. + /// + protected override bool TryComputeLength(out long length) { + length = -1; return false; - } - } -} + } + } +} \ No newline at end of file diff --git a/src/Flurl.Http.Library/Flurl.Http.Library.xproj b/src/Flurl.Http/Flurl.Http.xproj similarity index 100% rename from src/Flurl.Http.Library/Flurl.Http.Library.xproj rename to src/Flurl.Http/Flurl.Http.xproj diff --git a/src/Flurl.Http.Library/project.json b/src/Flurl.Http/project.json similarity index 56% rename from src/Flurl.Http.Library/project.json rename to src/Flurl.Http/project.json index 8e2acf2..28b1b27 100644 --- a/src/Flurl.Http.Library/project.json +++ b/src/Flurl.Http/project.json @@ -1,9 +1,9 @@ { "title": "Flurl.Http", - "version": "1.0.0", + "version": "1.0.1-beta", "dependencies": { - "Flurl": "2.1.0", + "Flurl": "2.1.1-beta", "Newtonsoft.Json": "9.0.1" }, @@ -11,9 +11,16 @@ "compile": { "include": [ "../Flurl.Http.Shared/**/*.cs" ] }, - "optimize": true, - "outputName": "Flurl.Http", - "xmlDoc": true + "xmlDoc": true, + "warningsAsErrors": true + }, + + "configurations": { + "Release": { + "buildOptions": { + "optimize": true + } + } }, "frameworks": { @@ -32,7 +39,7 @@ "System.Text.Encoding.CodePages": "4.0.1" } }, - "portable45-net45+win8+wpa81": { + ".NETPortable4.0-net45+sl50+win+wpa81+wp80": { "buildOptions": { "define": [ "PORTABLE" ] }, @@ -41,16 +48,16 @@ "Microsoft.Bcl.Build": "1.0.21", "Microsoft.Net.Http": "2.2.29", "PCLStorage": "1.0.2" - }, - "frameworkAssemblies": { - "System.Collections": "4.0.0.0", - "System.Dynamic.Runtime": "4.0.0.0", - "System.Linq": "4.0.0.0", - "System.Runtime.Extensions": "4.0.0.0", - "System.Text.Encoding": "4.0.0.0", - "System.Text.RegularExpressions": "4.0.0.0", - "System.Threading": "4.0.0.0" - } + }//, + //"frameworkAssemblies": { + // "System.Collections": "4.0.0.0", + // "System.Dynamic.Runtime": "4.0.0.0", + // "System.Linq": "4.0.0.0", + // "System.Runtime.Extensions": "4.0.0.0", + // "System.Text.Encoding": "4.0.0.0", + // "System.Text.RegularExpressions": "4.0.0.0", + // "System.Threading": "4.0.0.0" + //} } } } \ No newline at end of file diff --git a/src/Flurl.Shared/Url.cs b/src/Flurl.Shared/Url.cs index 20c8363..2e0370c 100644 --- a/src/Flurl.Shared/Url.cs +++ b/src/Flurl.Shared/Url.cs @@ -71,7 +71,7 @@ namespace Flurl } /// - /// Basically a Path.Combine for URLs. Ensures exactly one '/' character is used to seperate each segment. + /// Basically a Path.Combine for URLs. Ensures exactly one '/' character is used to separate each segment. /// URL-encodes illegal characters but not reserved characters. /// /// The URL to use as a starting point (required). diff --git a/src/Flurl.Library/Flurl.Library.xproj b/src/Flurl/Flurl.xproj similarity index 100% rename from src/Flurl.Library/Flurl.Library.xproj rename to src/Flurl/Flurl.xproj diff --git a/src/Flurl.Library/project.json b/src/Flurl/project.json similarity index 69% rename from src/Flurl.Library/project.json rename to src/Flurl/project.json index 14a1c61..1da9905 100644 --- a/src/Flurl.Library/project.json +++ b/src/Flurl/project.json @@ -1,18 +1,25 @@ { "title": "Flurl", - "version": "2.1.0", + "version": "2.1.1-beta", "buildOptions": { "compile": { "include": "../Flurl.Shared/**/*.cs" }, - "optimize": true, - "outputName": "Flurl", + "warningsAsErrors": true, "xmlDoc": true }, + "configurations": { + "Release": { + "buildOptions": { + "optimize": true + } + } + }, + "frameworks": { - "portable40-net40+win8+wpa81": { + ".NETPortable4.0-net40+sl50+win+wpa81+wp80": { "frameworkAssemblies": { "mscorlib": "2.0.5.0", "System": "2.0.5.0",