diff --git a/Configuration.Override.props.in b/Configuration.Override.props.in
index d73ecfe83..f9421ed40 100644
--- a/Configuration.Override.props.in
+++ b/Configuration.Override.props.in
@@ -1,14 +1,14 @@
- /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/jre/jli/libjli.dylib
+ /Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/lib/jli/libjli.dylib
/Library/Frameworks/Mono.framework/Libraries/libmonosgen-2.0.1.dylib
$(MSBuildThisFileDirectory)bin\$(Configuration)\
-
-
+
+
diff --git a/Directory.Build.props b/Directory.Build.props
index cf91bb5d3..314a40f53 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -58,8 +58,8 @@
$(MSBuildThisFileDirectory)build-tools\gradle
$(GradleHome)\gradlew
--stacktrace --no-daemon
- 1.8
- 1.8
+ 11
+ 11
<_BootClassPath Condition=" '$(JreRtJarPath)' != '' ">-bootclasspath "$(JreRtJarPath)"
<_JavacSourceOptions>-source $(JavacSourceVersion) -target $(JavacTargetVersion) $(_BootClassPath)
diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml
index d6a3d7105..f1c79490f 100644
--- a/build-tools/automation/azure-pipelines.yaml
+++ b/build-tools/automation/azure-pipelines.yaml
@@ -20,7 +20,6 @@ pr:
variables:
RunningOnCI: true
Build.Configuration: Release
- MaxJdkVersion: 8
DotNetCoreVersion: 7.x
DotNetTargetFramework: net7.0
NetCoreTargetFrameworkPathSuffix: -$(DotNetTargetFramework)
diff --git a/build-tools/automation/templates/core-build.yaml b/build-tools/automation/templates/core-build.yaml
index 0283fcdae..5998bfac0 100644
--- a/build-tools/automation/templates/core-build.yaml
+++ b/build-tools/automation/templates/core-build.yaml
@@ -6,7 +6,7 @@ steps:
displayName: Prepare Solution
inputs:
projects: Java.Interop.sln
- arguments: '-c $(Build.Configuration) -target:Prepare -p:MaxJdkVersion=$(MaxJdkVersion)'
+ arguments: '-c $(Build.Configuration) -target:Prepare'
- task: DotNetCoreCLI@2
displayName: Shut down existing build server
diff --git a/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties b/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties
index 6b3851a8a..fae08049a 100644
--- a/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/build-tools/scripts/Prepare.targets b/build-tools/scripts/Prepare.targets
index 411f954dc..a409eae27 100644
--- a/build-tools/scripts/Prepare.targets
+++ b/build-tools/scripts/Prepare.targets
@@ -15,26 +15,15 @@
<_MaxJdk>$(MaxJdkVersion)
<_MaxJdk Condition=" '$(_MaxJdk)' == '' ">$(JI_MAX_JDK)
- $(JAVA_HOME_8_X64)
+ $(JAVA_HOME_11_X64)
-
- $(JAVA_HOME_11_X64)
-
-
-
-
diff --git a/src/Java.Base/Java.Base.targets b/src/Java.Base/Java.Base.targets
index 4240630c7..b9131750f 100644
--- a/src/Java.Base/Java.Base.targets
+++ b/src/Java.Base/Java.Base.targets
@@ -9,8 +9,8 @@
-
- <_JavaBaseJmod>$(Java11SdkDirectory)/jmods/java.base.jmod
+
+ <_JavaBaseJmod>$(JavaSdkDirectory)/jmods/java.base.jmod
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/IJavaInterfaceTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/IJavaInterfaceTests.cs
index 1b23e8c9f..1f4a210ad 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/IJavaInterfaceTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/IJavaInterfaceTests.cs
@@ -16,7 +16,7 @@ public void ClassFile_WithIJavaInterface_class ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
ConstantPoolCount = 23,
AccessFlags = ClassAccessFlags.Interface | ClassAccessFlags.Abstract,
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaAnnotationTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaAnnotationTests.cs
index e0ffadc4e..5309a7b51 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaAnnotationTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaAnnotationTests.cs
@@ -16,7 +16,7 @@ public void ClassFile_WithJavaAnnotation_class ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
ConstantPoolCount = 23,
AccessFlags = ClassAccessFlags.Public | ClassAccessFlags.Interface | ClassAccessFlags.Abstract | ClassAccessFlags.Annotation,
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaEnumTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaEnumTests.cs
index 559e0491e..da192250b 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaEnumTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaEnumTests.cs
@@ -20,7 +20,7 @@ public void ClassFileDescription ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
ConstantPoolCount = 53,
AccessFlags = ClassAccessFlags.Final | ClassAccessFlags.Super | ClassAccessFlags.Enum,
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.1MyStringListTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.1MyStringListTests.cs
index 8f1ba151e..661b33852 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.1MyStringListTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.1MyStringListTests.cs
@@ -26,9 +26,9 @@ public void ClassFileDescription ()
: new ParameterInfo ("val$value1", "Ljava/lang/Object;", "Ljava/lang/Object;");
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
- ConstantPoolCount = 73,
+ ConstantPoolCount = 74,
AccessFlags = ClassAccessFlags.Super,
FullName = "com/xamarin/JavaType$1MyStringList",
Superclass = new TypeInfo ("java/util/ArrayList", "Ljava/util/ArrayList;"),
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.1Tests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.1Tests.cs
index 35e515c53..c8bcb0e44 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.1Tests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.1Tests.cs
@@ -16,9 +16,9 @@ public void ClassFileDescription ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
- ConstantPoolCount = 47,
+ ConstantPoolCount = 48,
AccessFlags = ClassAccessFlags.Super,
FullName = "com/xamarin/JavaType$1",
Superclass = new TypeInfo ("java/lang/Object", "Ljava/lang/Object;"),
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.ASCTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.ASCTests.cs
index 89c4fda3f..c8bc6d01c 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.ASCTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.ASCTests.cs
@@ -16,9 +16,9 @@ public void ClassFileDescription ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
- ConstantPoolCount = 23,
+ ConstantPoolCount = 24,
Deprecated = true,
AccessFlags = ClassAccessFlags.Super,
FullName = "com/xamarin/JavaType$ASC",
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.PSCTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.PSCTests.cs
index 9981e326d..e7c2977a0 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.PSCTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.PSCTests.cs
@@ -16,9 +16,9 @@ public void ClassFileDescription ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
- ConstantPoolCount = 20,
+ ConstantPoolCount = 21,
AccessFlags = ClassAccessFlags.Public | ClassAccessFlags.Super | ClassAccessFlags.Abstract,
FullName = "com/xamarin/JavaType$PSC",
Superclass = new TypeInfo ("java/lang/Object", "Ljava/lang/Object;"),
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.RNC.RPNCTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.RNC.RPNCTests.cs
index a2e7fc336..9957bf876 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.RNC.RPNCTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.RNC.RPNCTests.cs
@@ -16,9 +16,9 @@ public void ClassFileDescription ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
- ConstantPoolCount = 46,
+ ConstantPoolCount = 47,
AccessFlags = ClassAccessFlags.Public | ClassAccessFlags.Super | ClassAccessFlags.Abstract,
FullName = "com/xamarin/JavaType$RNC$RPNC",
Superclass = new TypeInfo ("java/lang/Object", "Ljava/lang/Object;"),
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.RNCTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.RNCTests.cs
index 7a65d19d2..92e8f1d02 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.RNCTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaType.RNCTests.cs
@@ -16,9 +16,9 @@ public void ClassFileDescription ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
- ConstantPoolCount = 44,
+ ConstantPoolCount = 45,
AccessFlags = ClassAccessFlags.Public | ClassAccessFlags.Super | ClassAccessFlags.Abstract,
FullName = "com/xamarin/JavaType$RNC",
Superclass = new TypeInfo ("java/lang/Object", "Ljava/lang/Object;"),
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaTypeNoParametersTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaTypeNoParametersTests.cs
index 46a3aea2c..13c33b063 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaTypeNoParametersTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaTypeNoParametersTests.cs
@@ -16,7 +16,7 @@ public void ClassFile_WithNonGenericGlobalType_class ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
ConstantPoolCount = 18,
AccessFlags = ClassAccessFlags.Public | ClassAccessFlags.Super,
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaTypeTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaTypeTests.cs
index e91428eb0..6039d0598 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaTypeTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/JavaTypeTests.cs
@@ -18,9 +18,9 @@ public void ClassFile_WithJavaType_class ()
{
var c = LoadClassFile ("JavaType.class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
- ConstantPoolCount = 198,
+ ConstantPoolCount = 202,
AccessFlags = ClassAccessFlags.Public | ClassAccessFlags.Super,
FullName = "com/xamarin/JavaType",
Superclass = new TypeInfo ("java/lang/Object", "Ljava/lang/Object;"),
@@ -65,6 +65,12 @@ public void ClassFile_WithJavaType_class ()
InnerName = null,
AccessFlags = 0,
},
+ new ExpectedInnerClassInfo {
+ InnerClassName = "com/xamarin/JavaType$RNC$RPNC",
+ OuterClassName = "com/xamarin/JavaType$RNC",
+ InnerName = "RPNC",
+ AccessFlags = ClassAccessFlags.Public | ClassAccessFlags.Abstract,
+ },
},
Fields = {
new ExpectedFieldDeclaration {
@@ -143,7 +149,7 @@ public void ClassFile_WithJavaType_class ()
Name = "STATIC_FINAL_STRING",
Descriptor = "Ljava/lang/String;",
AccessFlags = FieldAccessFlags.Public | FieldAccessFlags.Static | FieldAccessFlags.Final,
- ConstantValue = "String(stringIndex=188 Utf8=\"Hello, \\\"embedded\0Nulls\" and \ud83d\udca9!\")",
+ ConstantValue = "String(stringIndex=190 Utf8=\"Hello, \\\"embedded\0Nulls\" and \ud83d\udca9!\")",
},
new ExpectedFieldDeclaration {
Name = "STATIC_FINAL_BOOL_FALSE",
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/NonGenericGlobalTypeTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/NonGenericGlobalTypeTests.cs
index c599c791a..706660a9f 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/NonGenericGlobalTypeTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/NonGenericGlobalTypeTests.cs
@@ -16,7 +16,7 @@ public void ClassFile_WithNonGenericGlobalType_class ()
{
var c = LoadClassFile (JavaType + ".class");
new ExpectedTypeDeclaration {
- MajorVersion = 0x34,
+ MajorVersion = 0x37,
MinorVersion = 0,
ConstantPoolCount = 16,
AccessFlags = ClassAccessFlags.Super,
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/ParameterFixupTests.cs b/tests/Xamarin.Android.Tools.Bytecode-Tests/ParameterFixupTests.cs
index 2fe450e55..7ed2eb372 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/ParameterFixupTests.cs
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/ParameterFixupTests.cs
@@ -24,7 +24,7 @@ public void XmlDeclaration_FixedUpFromDocumentation()
return;
}
try {
- AssertXmlDeclaration ("Collection.class", "ParameterFixupFromDocs.xml", Path.Combine (Environment.GetEnvironmentVariable ("ANDROID_SDK_PATH"), "docs", "reference"));
+ AssertXmlDeclaration ("TypeEvaluator.class", "ParameterFixupFromDocs.xml", Path.Combine (Environment.GetEnvironmentVariable ("ANDROID_SDK_PATH"), "docs", "reference"));
} catch (Exception ex) {
Assert.Fail ("An unexpected exception was thrown : {0}", ex);
}
@@ -38,7 +38,7 @@ public void XmlDeclaration_FixedUpFromApiXmlDocumentation ()
try {
tempFile = LoadToTempFile ("ParameterFixupApiXmlDocs.xml");
- AssertXmlDeclaration ("Collection.class", "ParameterFixupFromDocs.xml", tempFile);
+ AssertXmlDeclaration ("TypeEvaluator.class", "ParameterFixupFromDocs.xml", tempFile);
} finally {
if (File.Exists (tempFile))
File.Delete (tempFile);
@@ -111,7 +111,7 @@ public void XmlDeclaration_FixedUpFromParameterDescription ()
try {
tempFile = LoadToTempFile ("ParameterDescription.txt");
- AssertXmlDeclaration (new string [] { "Collection.class" }, "ParameterFixupFromDocs.xml", tempFile);
+ AssertXmlDeclaration (new string [] { "TypeEvaluator.class" }, "ParameterFixupFromDocs.xml", tempFile);
}
finally {
if (File.Exists (tempFile))
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterDescription.txt b/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterDescription.txt
index db04a6149..469ed8f49 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterDescription.txt
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterDescription.txt
@@ -1,9 +1,8 @@
; This is a comment line.
-package java.util ; Anything after semicolon is comment.
- class Collection
- add(E e)
- #ctor()
+package android.animation ; Anything after semicolon is comment.
+ class TypeEvaluator
+ evaluate(float fraction, T startValue, T endValue)
package com.xamarin
interface NestedInterface.DnsSdTxtRecordListener
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterFixupApiXmlDocs.xml b/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterFixupApiXmlDocs.xml
index e79117970..ab1f555e0 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterFixupApiXmlDocs.xml
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterFixupApiXmlDocs.xml
@@ -1,10 +1,12 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterFixupFromDocs.xml b/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterFixupFromDocs.xml
index 68db003c1..66cdcc2f6 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterFixupFromDocs.xml
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/Resources/ParameterFixupFromDocs.xml
@@ -1,47 +1,51 @@
+ name="android.animation"
+ jni-name="android/animation">
-
+ jni-signature="(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;">
+ name="fraction"
+ type="float"
+ jni-type="F" />
+
+
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.csproj b/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.csproj
index 636482a8a..b7cadb7fa 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.csproj
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.csproj
@@ -46,7 +46,7 @@
-
+
diff --git a/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.targets b/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.targets
index 2d1437ea8..0f2fcdfc8 100644
--- a/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.targets
+++ b/tests/Xamarin.Android.Tools.Bytecode-Tests/Xamarin.Android.Tools.Bytecode-Tests.targets
@@ -1,27 +1,24 @@
-
+
-
-
+
<_BuildClassOutputs Include="@(TestJar->'$(IntermediateOutputPath)classes\%(RecursiveDir)%(Filename).class')" />
- <_BuildClassOutputs Include="@(TestJarJdk11->'$(IntermediateOutputPath)classes\%(RecursiveDir)%(Filename).class')" />
<_BuildClassOutputs Include="@(TestJarNoParameters->'$(IntermediateOutputPath)classes\%(RecursiveDir)%(Filename).class')" />
-