diff --git a/.azure/pipelines/helix-test.yml b/.azure/pipelines/helix-test.yml
new file mode 100644
index 0000000000..96b9d6ccaa
--- /dev/null
+++ b/.azure/pipelines/helix-test.yml
@@ -0,0 +1,27 @@
+# Don't run CI for this config yet. We're not ready to move official builds on to Azure Pipelines
+trigger: none
+
+# Run PR validation on all branches
+pr:
+ branches:
+ include:
+ - '*'
+
+jobs:
+- template: jobs/default-build.yml
+ parameters:
+ jobName: Helix_quarantine_x64
+ jobDisplayName: 'Tests: Helix Quarantine x64'
+ agentOs: Windows
+ timeoutInMinutes: 240
+ steps:
+ - script: .\restore.cmd -ci
+ displayName: Restore
+ - script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
+ displayName: Run build.cmd helix target
+ env:
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
+ artifacts:
+ - name: Helix_logs
+ path: artifacts/log/
+ publishOnError: true
diff --git a/Directory.Build.props b/Directory.Build.props
index 6cbe46561b..b68fd8cb66 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -30,6 +30,9 @@
-->
false
true
+
+
+ true
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 097673484f..9d7cb2a34d 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -22,7 +22,6 @@ and are generated based on the last package release.
-
@@ -121,6 +120,7 @@ and are generated based on the last package release.
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index edad9a636d..18435f325a 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -401,11 +401,6 @@
https://github.com/dotnet/runtime
e793fcc19797f407a1b7e98d5f81b04e25a551c3
-
-
- https://github.com/dotnet/corefx
- 4ac4c0367003fe3973a3648eb0715ddb0e3bbcea
-
@@ -417,15 +412,15 @@
https://github.com/dotnet/extensions
31b8e7cc01fcb48eca7526c7d8db793493dd58b4
-
+
https://github.com/dotnet/arcade
- cc8fe69635c7c6e791c87540851aea75946945fa
+ 841c83d8a5b8d8a6bd427f6798b086780138aa9a
-
+
https://github.com/dotnet/arcade
- cc8fe69635c7c6e791c87540851aea75946945fa
+ 841c83d8a5b8d8a6bd427f6798b086780138aa9a
-
+
https://github.com/dotnet/arcade
cc8fe69635c7c6e791c87540851aea75946945fa
diff --git a/eng/Versions.props b/eng/Versions.props
index e0b59d56f9..5528153249 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -60,7 +60,7 @@
-->
- 5.0.0-beta.20076.3
+ 5.0.0-beta.20074.6
3.5.0-beta2-20074-05
@@ -70,7 +70,6 @@
5.0.0-alpha.1.20076.2
2.1.0-alpha.1.20076.2
- 1.0.0
5.0.0-alpha.1.20076.2
5.0.0-alpha.1.20076.2
5.0.0-alpha.1.20076.2
@@ -206,6 +205,7 @@
2.3.2
10.0.1
+ 1.0.0
15.8.166
1.2.0
15.8.166
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 23a3fd53d7..8e6642a283 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -655,9 +655,6 @@ Write-PipelineSetVariable -Name 'Artifacts.Log' -Value $LogDir
Write-PipelineSetVariable -Name 'TEMP' -Value $TempDir
Write-PipelineSetVariable -Name 'TMP' -Value $TempDir
-$env:TEMP=$TempDir
-$env:TMP=$TempDir
-
# Import custom tools configuration, if present in the repo.
# Note: Import in global scope so that the script set top-level variables without qualification.
if (!$disableConfigureToolsetImport) {
@@ -671,4 +668,4 @@ if (!$disableConfigureToolsetImport) {
}
}
}
-}
+}
\ No newline at end of file
diff --git a/eng/helix/content/runtests.cmd b/eng/helix/content/runtests.cmd
index b0a910502c..2e1f87878b 100644
--- a/eng/helix/content/runtests.cmd
+++ b/eng/helix/content/runtests.cmd
@@ -8,6 +8,7 @@ set sdkVersion=%3
set runtimeVersion=%4
set helixQueue=%5
set arch=%6
+set quarantined=%7
set DOTNET_HOME=%HELIX_CORRELATION_PAYLOAD%\sdk
set DOTNET_ROOT=%DOTNET_HOME%\%arch%
@@ -38,25 +39,25 @@ if not errorlevel 1 (
set exit_code=0
-REM Run non-flaky tests first
-REM We need to specify all possible Flaky filters that apply to this environment, because the flaky attribute
-REM only puts the explicit filter traits the user provided in
-REM Filter syntax: https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md
-set NONFLAKY_FILTER="Flaky:All!=true&Flaky:Helix:All!=true&Flaky:Helix:Queue:All!=true&Flaky:Helix:Queue:%HELIX%!=true"
-echo Running non-flaky tests.
-%DOTNET_ROOT%\dotnet vstest %target% --logger:xunit --TestCaseFilter:%NONFLAKY_FILTER%
-if errorlevel 1 (
- echo Failure in non-flaky test 1>&2
- set exit_code=1
- REM DO NOT EXIT
-)
-
-set FLAKY_FILTER="Flaky:All=true|Flaky:Helix:All=true|Flaky:Helix:Queue:All=true|Flaky:Helix:Queue:%HELIX%=true"
-echo Running known-flaky tests.
-%DOTNET_ROOT%\dotnet vstest %target% --TestCaseFilter:%FLAKY_FILTER%
-if errorlevel 1 (
- echo Failure in flaky test 1>&2
- REM DO NOT EXIT and DO NOT SET EXIT_CODE to 1
+set NONQUARANTINE_FILTER="Flaky:All!=true&Flaky:Helix:All!=true&Flaky:Helix:Queue:All!=true&Flaky:Helix:Queue:%HELIX%!=true"
+if (%quarantined%==true) (
+ echo Running all tests.
+ %DOTNET_ROOT%\dotnet vstest %target% --logger:xunit
+ if errorlevel 1 (
+ echo Failure in flaky test 1>&2
+ REM DO NOT EXIT and DO NOT SET EXIT_CODE to 1
+ )
+) else (
+ REM We need to specify all possible Flaky filters that apply to this environment, because the flaky attribute
+ REM only puts the explicit filter traits the user provided in
+ REM Filter syntax: https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md
+ echo Running non-quarantined tests.
+ %DOTNET_ROOT%\dotnet vstest %target% --logger:xunit --TestCaseFilter:%NONQUARANTINE_FILTER%
+ if errorlevel 1 (
+ echo Failure in non-flaky test 1>&2
+ set exit_code=1
+ REM DO NOT EXIT
+ )
)
echo "Copying TestResults\TestResults.xml to ."
diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh
index 3934d5541c..663b20afb3 100644
--- a/eng/helix/content/runtests.sh
+++ b/eng/helix/content/runtests.sh
@@ -4,6 +4,8 @@ test_binary_path="$1"
dotnet_sdk_version="$2"
dotnet_runtime_version="$3"
helix_queue_name="$4"
+target_arch="$5"
+quarantined="$6"
RESET="\033[0m"
RED="\033[0;31m"
@@ -87,25 +89,27 @@ if grep -q "Exception thrown" discovered.txt; then
exit 1
fi
-# Run non-flaky tests first
-# We need to specify all possible Flaky filters that apply to this environment, because the flaky attribute
+exit_code=0
+
+# We need to specify all possible quarantined filters that apply to this environment, because the quarantine attribute
# only puts the explicit filter traits the user provided in the flaky attribute
# Filter syntax: https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md
-NONFLAKY_FILTER="Flaky:All!=true&Flaky:Helix:All!=true&Flaky:Helix:Queue:All!=true&Flaky:Helix:Queue:$helix_queue_name!=true"
-echo "Running non-flaky tests."
-$DOTNET_ROOT/dotnet vstest $test_binary_path --logger:xunit --TestCaseFilter:"$NONFLAKY_FILTER"
-nonflaky_exitcode=$?
-if [ $nonflaky_exitcode != 0 ]; then
- echo "Non-flaky tests failed!" 1>&2
- # DO NOT EXIT
-fi
-
-FLAKY_FILTER="Flaky:All=true|Flaky:Helix:All=true|Flaky:Helix:Queue:All=true|Flaky:Helix:Queue:$helix_queue_name=true"
-echo "Running known-flaky tests."
-$DOTNET_ROOT/dotnet vstest $test_binary_path --TestCaseFilter:"$FLAKY_FILTER"
-if [ $? != 0 ]; then
- echo "Flaky tests failed!" 1>&2
- # DO NOT EXIT
+NONQUARANTINE_FILTER="Flaky:All!=true&Flaky:Helix:All!=true&Flaky:Helix:Queue:All!=true&Flaky:Helix:Queue:$helix_queue_name!=true"
+if [ "$quarantined" == true ]; then
+ echo "Running all tests including quarantined."
+ $DOTNET_ROOT/dotnet vstest $test_binary_path --logger:xunit
+ if [ $? != 0 ]; then
+ echo "Quarantined tests failed!" 1>&2
+ # DO NOT EXIT
+ fi
+else
+ echo "Running non-quarantined tests."
+ $DOTNET_ROOT/dotnet vstest $test_binary_path --logger:xunit --TestCaseFilter:"$NONQUARANTINE_FILTER"
+ exit_code=$?
+ if [ $exit_code != 0 ]; then
+ echo "Non-quarantined tests failed!" 1>&2
+ # DO NOT EXIT
+ fi
fi
echo "Copying TestResults/TestResults to ."
@@ -114,4 +118,4 @@ echo "Copying artifacts/logs to $HELIX_WORKITEM_UPLOAD_ROOT/../"
shopt -s globstar
cp artifacts/log/**/*.log $HELIX_WORKITEM_UPLOAD_ROOT/../
cp artifacts/log/**/*.log $HELIX_WORKITEM_UPLOAD_ROOT/
-exit $nonflaky_exitcode
+exit $exit_code
diff --git a/eng/targets/Helix.props b/eng/targets/Helix.props
index 8d71616ea6..5a41315124 100644
--- a/eng/targets/Helix.props
+++ b/eng/targets/Helix.props
@@ -12,9 +12,12 @@
true
00:30:00
+ false
false
true
- $(MSBuildProjectName)-$(TargetFramework)
+ <_HelixRunType Condition="'$(RunQuarantinedTests)' == 'true'">quarantined
+ <_HelixRunType Condition="'$(RunQuarantinedTests)' != 'true'">unquarantined
+ $(MSBuildProjectName)--$(TargetFramework)--$(_HelixRunType)
false
false
10.15.3
diff --git a/eng/targets/Helix.targets b/eng/targets/Helix.targets
index 91e952efe3..c6a20b6055 100644
--- a/eng/targets/Helix.targets
+++ b/eng/targets/Helix.targets
@@ -83,8 +83,8 @@ Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj
$(TargetFileName)
@(HelixPreCommand)
@(HelixPostCommand)
- call runtests.cmd $(TargetFileName) $(TargetFrameworkIdentifier) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture)
- ./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture)
+ call runtests.cmd $(TargetFileName) $(TargetFrameworkIdentifier) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests)
+ ./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests)
$(HelixTimeout)
diff --git a/global.json b/global.json
index 8d1cda730a..2606b9bc6e 100644
--- a/global.json
+++ b/global.json
@@ -25,7 +25,7 @@
},
"msbuild-sdks": {
"Yarn.MSBuild": "1.15.2",
- "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20076.3",
- "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20076.3"
+ "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20074.6",
+ "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20074.6"
}
}
diff --git a/src/Components/Analyzers/src/InternalUsageAnalyzer.cs b/src/Components/Analyzers/src/InternalUsageAnalyzer.cs
index 495e4c90fa..af77a42ecc 100644
--- a/src/Components/Analyzers/src/InternalUsageAnalyzer.cs
+++ b/src/Components/Analyzers/src/InternalUsageAnalyzer.cs
@@ -126,7 +126,7 @@ namespace Microsoft.Extensions.Internal
// Similar logic here to VisitDeclarationSymbol, keep these in sync.
private void VisitOperationSymbol(OperationAnalysisContext context, ISymbol symbol)
{
- if (symbol.ContainingAssembly == context.Compilation.Assembly)
+ if (symbol == null || symbol.ContainingAssembly == context.Compilation.Assembly)
{
// The type is being referenced within the same assembly. This is valid use of an "internal" type
return;
@@ -155,7 +155,7 @@ namespace Microsoft.Extensions.Internal
// Similar logic here to VisitOperationSymbol, keep these in sync.
private void VisitDeclarationSymbol(SymbolAnalysisContext context, ISymbol symbol, ISymbol symbolForDiagnostic)
{
- if (symbol.ContainingAssembly == context.Compilation.Assembly)
+ if (symbol == null || symbol.ContainingAssembly == context.Compilation.Assembly)
{
// This is part of the compilation, avoid this analyzer when building from source.
return;
diff --git a/src/Components/Analyzers/test/TestFiles/ComponentInternalUsageDiagnosticsAnalyzerTest/UsesRendererTypesInDeclarations.cs b/src/Components/Analyzers/test/TestFiles/ComponentInternalUsageDiagnosticsAnalyzerTest/UsesRendererTypesInDeclarations.cs
index e2877b0df5..0a0bd11b7b 100644
--- a/src/Components/Analyzers/test/TestFiles/ComponentInternalUsageDiagnosticsAnalyzerTest/UsesRendererTypesInDeclarations.cs
+++ b/src/Components/Analyzers/test/TestFiles/ComponentInternalUsageDiagnosticsAnalyzerTest/UsesRendererTypesInDeclarations.cs
@@ -22,11 +22,15 @@ namespace Microsoft.AspNetCore.Components.Analyzers.Tests.TestFiles.ComponentInt
throw new NotImplementedException();
}
- /*MMParameter*/protected override Task UpdateDisplayAsync(in RenderBatch renderBatch)
+ /*MMParameter*/protected override Task UpdateDisplayAsync(in RenderBatch renderBatch)
{
throw new NotImplementedException();
}
/*MMReturnType*/private Renderer GetRenderer() => _field;
+
+ public interface ITestInterface
+ {
+ }
}
}
diff --git a/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketAwaitableEventArgs.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketAwaitableEventArgs.cs
index 9c8f2aef9d..0d59cd1c43 100644
--- a/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketAwaitableEventArgs.cs
+++ b/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketAwaitableEventArgs.cs
@@ -11,7 +11,7 @@ using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal
{
- internal class SocketAwaitableEventArgs : SocketAsyncEventArgs, ICriticalNotifyCompletion
+ internal sealed class SocketAwaitableEventArgs : SocketAsyncEventArgs, ICriticalNotifyCompletion
{
private static readonly Action _callbackCompleted = () => { };
@@ -20,6 +20,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal
private Action _callback;
public SocketAwaitableEventArgs(PipeScheduler ioScheduler)
+ : base(unsafeSuppressExecutionContextFlow: true)
{
_ioScheduler = ioScheduler;
}
diff --git a/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.jar b/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.jar
index 1948b9074f..f3d88b1c2f 100644
Binary files a/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.jar and b/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.properties b/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.properties
index 838e6bc85a..407e71a6cf 100644
--- a/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.properties
+++ b/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.3-bin.zip
+distributionSha256Sum=d0c43d14e1c70a48b82442f435d06186351a2d290d72afd5b8866f15e6d7038a
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/src/SignalR/clients/java/signalr/gradlew b/src/SignalR/clients/java/signalr/gradlew
index cccdd3d517..2fe81a7d95 100755
--- a/src/SignalR/clients/java/signalr/gradlew
+++ b/src/SignalR/clients/java/signalr/gradlew
@@ -1,5 +1,21 @@
#!/usr/bin/env sh
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
##############################################################################
##
## Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
@@ -109,8 +125,8 @@ if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
@@ -138,19 +154,19 @@ if $cygwin ; then
else
eval `echo args$i`="\"$arg\""
fi
- i=$((i+1))
+ i=`expr $i + 1`
done
case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ 0) set -- ;;
+ 1) set -- "$args0" ;;
+ 2) set -- "$args0" "$args1" ;;
+ 3) set -- "$args0" "$args1" "$args2" ;;
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
@@ -159,14 +175,9 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
-APP_ARGS=$(save "$@")
+APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
-# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
- cd "$(dirname "$0")"
-fi
-
exec "$JAVACMD" "$@"
diff --git a/src/SignalR/clients/java/signalr/gradlew.bat b/src/SignalR/clients/java/signalr/gradlew.bat
index f9553162f1..9618d8d960 100644
--- a/src/SignalR/clients/java/signalr/gradlew.bat
+++ b/src/SignalR/clients/java/signalr/gradlew.bat
@@ -1,3 +1,19 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
diff --git a/src/SignalR/clients/java/signalr/settings.gradle b/src/SignalR/clients/java/signalr/settings.gradle
index 44af7e9984..80beacb801 100644
--- a/src/SignalR/clients/java/signalr/settings.gradle
+++ b/src/SignalR/clients/java/signalr/settings.gradle
@@ -1,6 +1,2 @@
rootProject.name = 'signalr'
include 'main'
-
-// This is required for Gradle 4.6+ to support importing BOMs, like we do for the Microsoft super pom.
-// See here: https://docs.gradle.org/4.6/release-notes.html?_ga=2.220409368.162752831.1539212384-1601231980.1538950297#bom-import
-enableFeaturePreview('IMPROVED_POM_SUPPORT')
\ No newline at end of file