diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..5ed6c1f6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: +- package-ecosystem: nuget + directory: "/" + schedule: + interval: daily + time: '02:00' + open-pull-requests-limit: 10 diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 00000000..bf723e16 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,11 @@ +"test": + - Tests/**/* + +"CI": + - .github/workflows/**/* + +"code style": + - .editorconfig + +"performance": + - src/Benchmarks/**/* diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..15737fe8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,38 @@ +name: Build artifacts + +# ==== NOTE: do not rename this yml file or the run_number will be reset ==== + +on: + push: + branches: + - master34 + +jobs: + build: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Use .NET Core 3.1 SDK + uses: actions/setup-dotnet@v1 + with: + dotnet-version: '3.1.x' + source-url: https://nuget.pkg.github.com/graphql-dotnet/index.json + env: + NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} + - name: Install dependencies + run: dotnet restore + env: + DOTNET_NOLOGO: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + - name: Build solution [Release] + run: dotnet build --no-restore -c Release -p:NoWarn=CS1591 -p:VersionSuffix=$GITHUB_RUN_NUMBER + - name: Pack solution [Release] + run: dotnet pack --no-restore --no-build -c Release -p:VersionSuffix=$GITHUB_RUN_NUMBER -o out + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: Nuget packages + path: | + out/* + - name: Publish Nuget packages to GitHub registry + run: dotnet nuget push "out/*" -k ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml new file mode 100644 index 00000000..9b2d0c9e --- /dev/null +++ b/.github/workflows/label.yml @@ -0,0 +1,17 @@ +# This workflow will triage pull requests and apply a label based on the +# paths that are modified in the pull request. +# +# To use this workflow, you will need to set up a .github/labeler.yml +# file with configuration. For more information, see: +# https://github.com/actions/labeler/blob/master/README.md + +name: Labeler +on: [pull_request] + +jobs: + label: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v2 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..8c016a16 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,49 @@ +name: Publish release + +on: + release: + types: + - published + +jobs: + build: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Check github.ref starts with 'refs/tags/' + if: ${{ !startsWith(github.ref, 'refs/tags/') }} + run: | + echo Error! github.ref does not start with 'refs/tags' + echo github.ref: ${{ github.ref }} + exit 1 + - name: Set version number environment variable + env: + github_ref: ${{ github.ref }} + run: | + version="${github_ref:10}" + echo version=$version + echo "version=$version" >> $GITHUB_ENV + - name: Use .NET Core 3.1 SDK + uses: actions/setup-dotnet@v1 + with: + dotnet-version: '3.1.x' + source-url: https://api.nuget.org/v3/index.json + env: + NUGET_AUTH_TOKEN: ${{secrets.NUGET_AUTH_TOKEN}} + - name: Install dependencies + run: dotnet restore + env: + DOTNET_NOLOGO: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + - name: Build solution [Release] + run: dotnet build --no-restore -c Release -p:NoWarn=CS1591 -p:Version=$version + - name: Pack solution [Release] + run: dotnet pack --no-restore --no-build -c Release -p:Version=$version -o out + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: Nuget packages + path: | + out/* + - name: Publish Nuget packages to Nuget registry + run: dotnet nuget push "out/*" -k ${{secrets.NUGET_AUTH_TOKEN}} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..7abd1f63 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,33 @@ +name: Run code tests + +on: + push: + +jobs: + test: + runs-on: windows-latest + steps: + - name: Checkout source + uses: actions/checkout@v2 + - name: Use .NET Core 2.2 SDK + uses: actions/setup-dotnet@v1 + with: + dotnet-version: '2.2.x' + - name: Use .NET Core 3.1 LTS SDK + uses: actions/setup-dotnet@v1 + with: + dotnet-version: '3.1.x' + source-url: https://nuget.pkg.github.com/graphql-dotnet/index.json + env: + NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} + - name: Install dependencies + run: dotnet restore + env: + DOTNET_NOLOGO: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + - name: Build solution [Release] + run: dotnet build --no-restore -c Release -p:NoWarn=CS1591 + - name: Build solution [Debug] + run: dotnet build --no-restore -p:NoWarn=CS1591 + - name: Test solution [Debug] + run: dotnet test --no-restore --no-build diff --git a/.github/workflows/wipcheck.yml b/.github/workflows/wipcheck.yml new file mode 100644 index 00000000..6ab31b2b --- /dev/null +++ b/.github/workflows/wipcheck.yml @@ -0,0 +1,20 @@ +name: Check if PR title contains [WIP] + +on: + pull_request: + types: + - opened # when PR is opened + - edited # when PR is edited + - synchronize # when code is added + - reopened # when a closed PR is reopened + +jobs: + check-title: + runs-on: ubuntu-latest + + steps: + - name: Fail build if pull request title contains [WIP] + if: ${{ contains(github.event.pull_request.title, '[WIP]') }} # This function is case insensitive. + run: | + echo Warning! PR title "${{ github.event.pull_request.title }}" contains [WIP]. Remove [WIP] from the title when PR is ready. + exit 1 diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 00000000..3429a5d6 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,25 @@ + + + + 3.4.1-preview + latest + https://github.com/graphql-dotnet/server + git + true + Pekka Heikura + Pekka Heikura + graphql-dotnet server + graphql-dotnet + true + + True + + embedded + true + + + + + + + diff --git a/GitVersion.yml b/GitVersion.yml deleted file mode 100644 index e69de29b..00000000 diff --git a/GraphQL.Server.sln b/GraphQL.Server.sln index 086ee8e6..78c7c63d 100644 --- a/GraphQL.Server.sln +++ b/GraphQL.Server.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2036 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30611.23 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transports.Subscriptions.WebSockets", "src\Transports.Subscriptions.WebSockets\Transports.Subscriptions.WebSockets.csproj", "{4DF1CB8E-30AA-4281-9056-D49FDBF4C496}" EndProject @@ -11,11 +11,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.Server", "samples\S EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{0FD61587-8BE6-4C62-9E3A-0B977AA42CA2}" ProjectSection(SolutionItems) = preProject - appveyor.yml = appveyor.yml - build.cake = build.cake - GitVersion.yml = GitVersion.yml - global.json = global.json + .github\workflows\build.yml = .github\workflows\build.yml + Directory.Build.props = Directory.Build.props nuget.config = nuget.config + .github\workflows\publish.yml = .github\workflows\publish.yml + .github\workflows\test.yml = .github\workflows\test.yml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{382C5C04-A34D-4C81-83D7-584C85FB9356}" diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 05eee804..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,35 +0,0 @@ -image: Visual Studio 2017 - -version: 0.0.0-{build} -build_script: - - ps: .\build.ps1 -Target "Default" - -artifacts: - - path: artifacts\*.nupkg - name: Packages - -test: off -skip_branch_with_pr: true - -on_failure: - - ps: Update-AppveyorBuild -Version "$($env:appveyor_build_version)-$(Get-Date -format HHmmss)-failed" - -deploy: - - provider: NuGet - server: https://www.myget.org/F/graphql-dotnet/api/v2/package - api_key: - secure: +l1vfBMajn1WfmXkQ2LdILKxK4fQ5AHSnnU1kf11Bn1xRGUOTCdPhLwHx232piEn - skip_symbols: true - on: - branch: - - develop - - master - -for: - -- - branches: - only: - - master - - skip_non_tags: true diff --git a/build.cake b/build.cake deleted file mode 100644 index b445479b..00000000 --- a/build.cake +++ /dev/null @@ -1,123 +0,0 @@ -#tool "nuget:?package=GitVersion.CommandLine&version=4.0.0-beta0012&prerelease" - -var target = Argument("target", "Default"); -var configuration = Argument("configuration", "Release"); -var artifactsDir = Directory(Argument("artifactsDir", "./artifacts")); -var publishDir = Directory(Argument("publishDir", "./publish")); -var framework = Argument("framework", "netstandard2.0"); -var runtime = Argument("runtime", "win-x64"); -var sln = "./GraphQL.Server.Transports.sln"; -var projectFiles = new [] { - "./src/Core/Core.csproj", - "./src/Transports.AspNetCore/Transports.AspNetCore.csproj", - "./src/Transports.Subscriptions.Abstractions/Transports.Subscriptions.Abstractions.csproj", - "./src/Transports.Subscriptions.WebSockets/Transports.Subscriptions.WebSockets.csproj", - "./src/Ui.Playground/Ui.Playground.csproj", - "./src/Ui.GraphiQL/Ui.GraphiQL.csproj", - "./src/Ui.Voyager/Ui.Voyager.csproj", - "./src/Authorization.AspNetCore/Authorization.AspNetCore.csproj" - }; - -var version = "0.0.0-dev"; - -Task("Default") - .IsDependentOn("SetVersion") - .IsDependentOn("Pack"); - -Task("Publish") - .IsDependentOn("Build") - .Does(()=> - { - var settings = new DotNetCorePublishSettings - { - Framework = framework, - Configuration = configuration, - OutputDirectory = publishDir, - Runtime = runtime - }; - - foreach(var projectFile in projectFiles) - { - DotNetCorePublish(projectFile, settings); - } - }); - -Task("Pack") - .IsDependentOn("Build") - .IsDependentOn("Test") - .Does(()=> - { - var buildSettings = new DotNetCoreMSBuildSettings(); - buildSettings.SetVersion(version); - var settings = new DotNetCorePackSettings - { - Configuration = configuration, - OutputDirectory = artifactsDir, - IncludeSymbols = true, - MSBuildSettings = buildSettings - }; - - foreach(var projectFile in projectFiles) - { - DotNetCorePack(projectFile, settings); - } - }); - -Task("Build") - .IsDependentOn("Clean") - .IsDependentOn("Restore") - .Does(() => - { - var settings = new DotNetCoreBuildSettings - { - Framework = framework, - Configuration = configuration - }; - - foreach(var projectFile in projectFiles) - { - DotNetCoreBuild(projectFile, settings); - } - }); - -Task("Clean") - .Does(()=> - { - Information($"Cleaning: {artifactsDir}"); - CleanDirectory(artifactsDir); - Information($"Cleaning: {publishDir}"); - CleanDirectory(publishDir); - }); - -Task("Restore") - .Does(()=> - { - foreach(var projectFile in projectFiles) - { - DotNetCoreRestore(projectFile); - } - }); - -Task("SetVersion") - .Does(()=> { - var versionInfo = GitVersion(new GitVersionSettings { - RepositoryPath = "." - }); - version = versionInfo.NuGetVersion; - Information($"Version: {version}, FullSemVer: {versionInfo.FullSemVer}"); - - if(AppVeyor.IsRunningOnAppVeyor) { - AppVeyor.UpdateBuildVersion(version); - } - }); - -Task("Test") - .Does(()=> { - var projectFiles = GetFiles("./tests/**/*.csproj"); - foreach(var file in projectFiles) - { - DotNetCoreTest(file.FullPath); - } - }); - -RunTarget(target); diff --git a/build.ps1 b/build.ps1 deleted file mode 100644 index 82529cf6..00000000 --- a/build.ps1 +++ /dev/null @@ -1,235 +0,0 @@ -########################################################################## -# This is the Cake bootstrapper script for PowerShell. -# This file was downloaded from https://github.com/cake-build/resources -# Feel free to change this file to fit your needs. -########################################################################## - -<# - -.SYNOPSIS -This is a Powershell script to bootstrap a Cake build. - -.DESCRIPTION -This Powershell script will download NuGet if missing, restore NuGet tools (including Cake) -and execute your Cake build script with the parameters you provide. - -.PARAMETER Script -The build script to execute. -.PARAMETER Target -The build script target to run. -.PARAMETER Configuration -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 -Uses the nightly builds of the Roslyn script engine. -.PARAMETER Mono -Uses the Mono Compiler rather than the Roslyn script engine. -.PARAMETER SkipToolPackageRestore -Skips restoring of packages. -.PARAMETER ScriptArgs -Remaining arguments are added here. - -.LINK -https://cakebuild.net - -#> - -[CmdletBinding()] -Param( - [string]$Script = "build.cake", - [string]$Target, - [string]$Configuration, - [ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")] - [string]$Verbosity, - [switch]$ShowDescription, - [Alias("WhatIf", "Noop")] - [switch]$DryRun, - [switch]$Experimental, - [switch]$Mono, - [switch]$SkipToolPackageRestore, - [Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)] - [string[]]$ScriptArgs -) - -[Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null -function MD5HashFile([string] $filePath) -{ - if ([string]::IsNullOrEmpty($filePath) -or !(Test-Path $filePath -PathType Leaf)) - { - return $null - } - - [System.IO.Stream] $file = $null; - [System.Security.Cryptography.MD5] $md5 = $null; - try - { - $md5 = [System.Security.Cryptography.MD5]::Create() - $file = [System.IO.File]::OpenRead($filePath) - return [System.BitConverter]::ToString($md5.ComputeHash($file)) - } - finally - { - if ($file -ne $null) - { - $file.Dispose() - } - } -} - -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){ - $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent -} - -$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" -$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)) { - Write-Verbose -Message "Creating tools directory..." - New-Item -Path $TOOLS_DIR -Type directory | out-null -} - -# Make sure that packages.config exist. -if (!(Test-Path $PACKAGES_CONFIG)) { - 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." - } -} - -# 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 $_ -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)." - $NUGET_EXE = $NUGET_EXE_IN_PATH.FullName - } -} - -# Try download NuGet.exe if not exists -if (!(Test-Path $NUGET_EXE)) { - Write-Verbose -Message "Downloading NuGet.exe..." - try { - $wc = GetProxyEnabledWebClient - $wc.DownloadFile($NUGET_URL, $NUGET_EXE) - } catch { - Throw "Could not download NuGet.exe." - } -} - -# Save nuget.exe path to environment to be available to child processed -$ENV:NUGET_EXE = $NUGET_EXE - -# Restore tools from NuGet? -if(-Not $SkipToolPackageRestore.IsPresent) { - Push-Location - Set-Location $TOOLS_DIR - - # Check for changes in packages.config and remove installed tools if true. - [string] $md5Hash = MD5HashFile($PACKAGES_CONFIG) - if((!(Test-Path $PACKAGES_CONFIG_MD5)) -Or - ($md5Hash -ne (Get-Content $PACKAGES_CONFIG_MD5 ))) { - Write-Verbose -Message "Missing or changed package.config hash..." - Get-ChildItem -Exclude packages.config,nuget.exe,Cake.Bakery | - Remove-Item -Recurse - } - - Write-Verbose -Message "Restoring tools from NuGet..." - $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`"" - - if ($LASTEXITCODE -ne 0) { - Throw "An error occurred while restoring NuGet tools." - } - else - { - $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 occurred 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 occurred while restoring NuGet modules." - } - - Write-Verbose -Message ($NuGetOutput | out-string) - - Pop-Location -} - -# Make sure that Cake has been installed. -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..." -&$CAKE_EXE $cakeArguments -exit $LASTEXITCODE diff --git a/build.sh b/build.sh deleted file mode 100755 index e5a95bcb..00000000 --- a/build.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env bash - -########################################################################## -# This is the Cake bootstrapper script for Linux and OS X. -# This file was downloaded from https://github.com/cake-build/resources -# Feel free to change this file to fit your needs. -########################################################################## - -# Define directories. -SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) -TOOLS_DIR=$SCRIPT_DIR/tools -ADDINS_DIR=$TOOLS_DIR/Addins -MODULES_DIR=$TOOLS_DIR/Modules -NUGET_EXE=$TOOLS_DIR/nuget.exe -CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe -PACKAGES_CONFIG=$TOOLS_DIR/packages.config -PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum -ADDINS_PACKAGES_CONFIG=$ADDINS_DIR/packages.config -MODULES_PACKAGES_CONFIG=$MODULES_DIR/packages.config - -# Define md5sum or md5 depending on Linux/OSX -MD5_EXE= -if [[ "$(uname -s)" == "Darwin" ]]; then - MD5_EXE="md5 -r" -else - MD5_EXE="md5sum" -fi - -# Define default arguments. -SCRIPT="build.cake" -CAKE_ARGUMENTS=() - -# Parse arguments. -for i in "$@"; do - case $1 in - -s|--script) SCRIPT="$2"; shift ;; - --) shift; CAKE_ARGUMENTS+=("$@"); break ;; - *) CAKE_ARGUMENTS+=("$1") ;; - esac - shift -done - -# Make sure the tools folder exist. -if [ ! -d "$TOOLS_DIR" ]; then - mkdir "$TOOLS_DIR" -fi - -# Make sure that packages.config exist. -if [ ! -f "$TOOLS_DIR/packages.config" ]; then - echo "Downloading packages.config..." - curl -Lsfo "$TOOLS_DIR/packages.config" https://cakebuild.net/download/bootstrapper/packages - if [ $? -ne 0 ]; then - echo "An error occured while downloading packages.config." - exit 1 - fi -fi - -# Download NuGet if it does not exist. -if [ ! -f "$NUGET_EXE" ]; then - echo "Downloading NuGet..." - curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe - if [ $? -ne 0 ]; then - echo "An error occured while downloading nuget.exe." - exit 1 - fi -fi - -# Restore tools from NuGet. -pushd "$TOOLS_DIR" >/dev/null -if [ ! -f "$PACKAGES_CONFIG_MD5" ] || [ "$( cat "$PACKAGES_CONFIG_MD5" | sed 's/\r$//' )" != "$( $MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' )" ]; then - find . -type d ! -name . | xargs rm -rf -fi - -mono "$NUGET_EXE" install -ExcludeVersion -if [ $? -ne 0 ]; then - echo "Could not restore NuGet tools." - exit 1 -fi - -$MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' >| "$PACKAGES_CONFIG_MD5" - -popd >/dev/null - -# Restore addins from NuGet. -if [ -f "$ADDINS_PACKAGES_CONFIG" ]; then - pushd "$ADDINS_DIR" >/dev/null - - mono "$NUGET_EXE" install -ExcludeVersion - if [ $? -ne 0 ]; then - echo "Could not restore NuGet addins." - exit 1 - fi - - popd >/dev/null -fi - -# Restore modules from NuGet. -if [ -f "$MODULES_PACKAGES_CONFIG" ]; then - pushd "$MODULES_DIR" >/dev/null - - mono "$NUGET_EXE" install -ExcludeVersion - if [ $? -ne 0 ]; then - echo "Could not restore NuGet modules." - exit 1 - fi - - popd >/dev/null -fi - -# Make sure that Cake has been installed. -if [ ! -f "$CAKE_EXE" ]; then - echo "Could not find Cake.exe at '$CAKE_EXE'." - exit 1 -fi - -# Start Cake -exec mono "$CAKE_EXE" $SCRIPT "${CAKE_ARGUMENTS[@]}" diff --git a/global.json b/global.json deleted file mode 100644 index 1208561d..00000000 --- a/global.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "sdk": { - "version": "2.1.302" - } -} diff --git a/samples/Samples.Schemas.Chat/Samples.Schemas.Chat.csproj b/samples/Samples.Schemas.Chat/Samples.Schemas.Chat.csproj index dcd945ff..f1679fcb 100644 --- a/samples/Samples.Schemas.Chat/Samples.Schemas.Chat.csproj +++ b/samples/Samples.Schemas.Chat/Samples.Schemas.Chat.csproj @@ -4,6 +4,7 @@ netstandard2.0 GraphQL.Samples.Schemas.Chat GraphQL.Samples.Schemas.Chat + false diff --git a/samples/Samples.Server/Samples.Server.csproj b/samples/Samples.Server/Samples.Server.csproj index a8fd9b26..90ec6e96 100644 --- a/samples/Samples.Server/Samples.Server.csproj +++ b/samples/Samples.Server/Samples.Server.csproj @@ -4,6 +4,7 @@ netcoreapp2.0 GraphQL.Samples.Server GraphQL.Samples.Server + false diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index 137c5275..12fa7ddd 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -1,23 +1,14 @@ - - - netstandard2.0 - GraphQL.Server.Core - GraphQL.Server - 0.0.0 - dev - graphql-dotnet server - graphql-dotnet - Pekka Heikura - GraphQL Server Core - https://github.com/graphql-dotnet/server - https://github.com/graphql-dotnet/server - Git - GraphQL transport server - Pekka Heikura - - - - - - + + + netstandard2.0 + GraphQL.Server.Core + GraphQL.Server + GraphQL Server Core + GraphQL transport server + + + + + + diff --git a/src/Transports.Subscriptions.WebSockets/Transports.Subscriptions.WebSockets.csproj b/src/Transports.Subscriptions.WebSockets/Transports.Subscriptions.WebSockets.csproj index 89d194d5..50ab00f1 100644 --- a/src/Transports.Subscriptions.WebSockets/Transports.Subscriptions.WebSockets.csproj +++ b/src/Transports.Subscriptions.WebSockets/Transports.Subscriptions.WebSockets.csproj @@ -3,26 +3,17 @@ netstandard2.0 GraphQL.Server.Transports.WebSockets GraphQL.Server.Transports.WebSockets - 0.0.0 - dev - graphql-dotnet server - graphql-dotnet - Pekka Heikura WebSockets transport for subscriptions - https://github.com/graphql-dotnet/server - https://github.com/graphql-dotnet/server - Git GraphQL WebSockets subscriptions transport - Pekka Heikura - - - - - - - - - - + + + + + + + + + + diff --git a/src/Transports.Subscriptions.WebSockets/WebSocketWriterPipeline.cs b/src/Transports.Subscriptions.WebSockets/WebSocketWriterPipeline.cs index ac8f570e..d3ec0caa 100644 --- a/src/Transports.Subscriptions.WebSockets/WebSocketWriterPipeline.cs +++ b/src/Transports.Subscriptions.WebSockets/WebSocketWriterPipeline.cs @@ -43,7 +43,6 @@ private ITargetBlock CreateMessageWriter() var target = new ActionBlock( WriteMessageAsync, new ExecutionDataflowBlockOptions { - BoundedCapacity = 1, MaxDegreeOfParallelism = 1, EnsureOrdered = true }); diff --git a/tools/packages.config b/tools/packages.config deleted file mode 100644 index ee1a5621..00000000 --- a/tools/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - -