Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Changes: xamarin/java.interop@974ad32...79744f6

  * xamarin/java.interop@79744f61: [generator] Fix for fixing invalid annotation XML. (#897)
  * xamarin/java.interop@220b87fb: [tests] rework JavaObjectTest, use FinalizerHelper from mono/mono (#899)
  * xamarin/java.interop@f658ab26: [generator] Add Java.Interop.Tools.JavaTypeSystem (#849)

Add `Java.Interop.Tools.JavaTypeSystem.csproj` to
`Xamarin.Android.sln`, and add `Java.Interop.Tools.JavaTypeSystem.dll`
to the installers.

Add a temporary MSBuild property `$(_AndroidUseJavaLegacyResolver)`,
which when set to `true` will cause `generator` to use the legacy
Java type resolver (`ApiXmlAdjuster`) instead of the new
`JavaTypeSystem` one, in case there are unexpected issues.
  • Loading branch information
jpobst committed Oct 27, 2021
1 parent f9d86ae commit 43243b4
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 1 deletion.
7 changes: 7 additions & 0 deletions Xamarin.Android.sln
Expand Up @@ -150,6 +150,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tmt", "tools\tmt\tmt.csproj
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "assembly-store-reader", "tools\assembly-store-reader\assembly-store-reader.csproj", "{DA50FC92-7FE7-48B5-BDB6-CDA57B37BB51}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop.Tools.JavaTypeSystem", "external\Java.Interop\src\Java.Interop.Tools.JavaTypeSystem\Java.Interop.Tools.JavaTypeSystem.csproj", "{4EFCED6E-9A6B-453A-94E4-CE4B736EC684}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.projitems*{3f1f2f50-af1a-4a5a-bedb-193372f068d7}*SharedItemsImports = 5
Expand Down Expand Up @@ -414,6 +416,10 @@ Global
{DA50FC92-7FE7-48B5-BDB6-CDA57B37BB51}.Debug|AnyCPU.Build.0 = Debug|anycpu
{DA50FC92-7FE7-48B5-BDB6-CDA57B37BB51}.Release|AnyCPU.ActiveCfg = Release|anycpu
{DA50FC92-7FE7-48B5-BDB6-CDA57B37BB51}.Release|AnyCPU.Build.0 = Release|anycpu
{4EFCED6E-9A6B-453A-94E4-CE4B736EC684}.Debug|AnyCPU.ActiveCfg = Debug|Any CPU
{4EFCED6E-9A6B-453A-94E4-CE4B736EC684}.Debug|AnyCPU.Build.0 = Debug|Any CPU
{4EFCED6E-9A6B-453A-94E4-CE4B736EC684}.Release|AnyCPU.ActiveCfg = Release|Any CPU
{4EFCED6E-9A6B-453A-94E4-CE4B736EC684}.Release|AnyCPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -482,6 +488,7 @@ Global
{1A273ED2-AE84-48E9-9C23-E978C2D0CB34} = {864062D3-A415-4A6F-9324-5820237BA058}
{DA50FC92-7FE7-48B5-BDB6-CDA57B37BB51} = {864062D3-A415-4A6F-9324-5820237BA058}
{1FED3F23-1175-42AA-BE87-EF1E8DB52F8B} = {04E3E11E-B47D-4599-8AFC-50515A95E715}
{4EFCED6E-9A6B-453A-94E4-CE4B736EC684} = {864062D3-A415-4A6F-9324-5820237BA058}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {53A1F287-EFB2-4D97-A4BB-4A5E145613F6}
Expand Down
2 changes: 2 additions & 0 deletions build-tools/installers/create-installers.targets
Expand Up @@ -148,6 +148,8 @@
<_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Tools.JavaCallableWrappers.pdb" />
<_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Tools.JavaSource.dll" />
<_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Tools.JavaSource.pdb" />
<_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Tools.JavaTypeSystem.dll" />
<_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Tools.JavaTypeSystem.pdb" />
<_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Runtime.Environment.dll" />
<_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Runtime.Environment.pdb" />
<_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Runtime.Environment.dll.config" Condition=" '$(HostOS)' != 'Windows' " />
Expand Down
2 changes: 1 addition & 1 deletion external/Java.Interop
Submodule Java.Interop updated 66 files
+14 −0 Java.Interop.sln
+18 −0 src/Java.Interop.Localization/Resources.Designer.cs
+8 −0 src/Java.Interop.Localization/Resources.resx
+10 −0 src/Java.Interop.Localization/xlf/Resources.cs.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.de.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.es.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.fr.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.it.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.ja.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.ko.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.pl.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.pt-BR.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.ru.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.tr.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.zh-Hans.xlf
+10 −0 src/Java.Interop.Localization/xlf/Resources.zh-Hant.xlf
+16 −0 src/Java.Interop.Tools.Generator/Utilities/ISourceLineInfo.cs
+2 −0 src/Java.Interop.Tools.Generator/Utilities/Report.cs
+359 −0 src/Java.Interop.Tools.JavaTypeSystem/Adapters/JavaXmlApiExporter.cs
+366 −0 src/Java.Interop.Tools.JavaTypeSystem/Adapters/JavaXmlApiImporter.cs
+380 −0 src/Java.Interop.Tools.JavaTypeSystem/Adapters/ManagedApiImporter.cs
+23 −0 src/Java.Interop.Tools.JavaTypeSystem/Extensions/CollectionExtensions.cs
+47 −0 src/Java.Interop.Tools.JavaTypeSystem/Extensions/StringExtensions.cs
+30 −0 src/Java.Interop.Tools.JavaTypeSystem/Extensions/XmlExtensions.cs
+23 −0 src/Java.Interop.Tools.JavaTypeSystem/Java.Interop.Tools.JavaTypeSystem.csproj
+10 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/IJavaResolvable.cs
+16 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaBuiltInType.cs
+118 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaClassModel.cs
+14 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaConstructorModel.cs
+16 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaExceptionModel.cs
+47 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaFieldModel.cs
+11 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaGenericConstraint.cs
+21 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaImplementsModel.cs
+14 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaInterfaceModel.cs
+31 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaMemberModel.cs
+188 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaMethodModel.cs
+27 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaPackage.cs
+56 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaParameterModel.cs
+118 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaTypeModel.cs
+151 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaTypeName.cs
+33 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaTypeParameter.cs
+17 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaTypeParameters.cs
+159 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JavaTypeReference.cs
+129 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaModels/JniTypeName.cs
+260 −0 src/Java.Interop.Tools.JavaTypeSystem/JavaTypeCollection.cs
+26 −0 src/Java.Interop.Tools.JavaTypeSystem/Utilities/CollectionResolutionResult.cs
+15 −0 src/Java.Interop.Tools.JavaTypeSystem/Utilities/JavaTypeResolutionException.cs
+82 −0 src/Java.Interop.Tools.JavaTypeSystem/Utilities/JavaUnresolvableModel.cs
+19 −0 src/Java.Interop.Tools.JavaTypeSystem/Utilities/TypeResolutionOptions.cs
+14 −0 src/Xamarin.Android.Tools.AnnotationSupport/AndroidAnnotationsSupport.cs
+47 −0 tests/Java.Interop-Tests/Java.Interop/FinalizerHelpers.cs
+9 −19 tests/Java.Interop-Tests/Java.Interop/JavaObjectTest.cs
+87 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/BaseMethodTests.cs
+95 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/GenericInheritanceMappingTests.cs
+28 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/Java.Interop.Tools.JavaTypeSystem-Tests.csproj
+39 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/JavaApiTestHelper.cs
+77 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/JavaTypeCollectionTests.cs
+29 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/JavaTypeModelsTests.cs
+49 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/JavaTypeNameTests.cs
+36 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/JavaTypeReferenceTests.cs
+1,043,621 −0 tests/Java.Interop.Tools.JavaTypeSystem-Tests/api-24.xml.in
+23 −2 tools/generator/CodeGenerator.cs
+4 −0 tools/generator/CodeGeneratorOptions.cs
+83 −0 tools/generator/Java.Interop.Tools.Generator.Transformation/JavaTypeResolutionFixups.cs
+1 −0 tools/generator/generator.csproj
+4 −3 tools/generator/generator.slnf
Expand Up @@ -80,6 +80,7 @@ It is shared between "legacy" binding projects and .NET 5 projects.
EnableBindingNestedInterfaceTypes="$(AndroidBoundInterfacesContainTypes)"
EnableBindingInterfaceConstants="$(AndroidBoundInterfacesContainConstants)"
Nullable="$(Nullable)"
UseJavaLegacyResolver="$(_AndroidUseJavaLegacyResolver)"
/>

<!-- Write a flag so we won't redo this target if nothing changed -->
Expand Down
5 changes: 5 additions & 0 deletions src/Xamarin.Android.Build.Tasks/Tasks/Generator.cs
Expand Up @@ -59,6 +59,8 @@ public class BindingsGenerator : AndroidDotnetToolTask
public ITaskItem[] JavadocXml { get; set; }
public string JavadocVerbosity { get; set; }

public bool UseJavaLegacyResolver { get; set; }

private List<Tuple<string, string>> transform_files = new List<Tuple<string,string>> ();

public override bool RunTask ()
Expand Down Expand Up @@ -198,6 +200,9 @@ protected override string GenerateCommandLineCommands ()
WriteLine (sw, $"\"--with-javadoc-xml={Path.GetFullPath (xml.ItemSpec)}\"");
}
}

if (UseJavaLegacyResolver)
WriteLine (sw, "--use-legacy-java-resolver=true");
}

cmd.AppendSwitch (ApiXmlInput);
Expand Down

0 comments on commit 43243b4

Please sign in to comment.