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')" /> -