You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[jcw-gen] use Assembly Name instead of FullName for typemaps
Context: https://bugzilla.xamarin.com/show_bug.cgi?id=61073
The Java-to-Managed typemaps list types such as:
```
android/app/Activity
Android.App.Activity, Mono.Android, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=84e04ff9cfb79065
```
Let’s assume you have an Android project with the following
assembly-level attribute:
```
[assembly:AssemblyVersion("1.0.0.*")]
```
Then on *every* build, the typemap is invalidated because your version
number has been incremented.
The fix here is to use the assembly’s short name via `GetName ().Name`
or Mono.Cecil’s equivalent `AssemblyDefinition.Name.Name`. So the above
typemap would only be `Android.App.Activity, Mono.Android`. These
changes needed to happen in both `JavaNativeTypeManager` and
`TypeNameMapGenerator`.
Copy file name to clipboardExpand all lines: src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/TypeNameMapGenerator.cs
+11-2Lines changed: 11 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -141,7 +141,7 @@ public void WriteJavaToManaged (Stream output)
Copy file name to clipboardExpand all lines: src/Java.Interop.Tools.JavaCallableWrappers/Test/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGeneratorTests.cs
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -93,7 +93,7 @@ public void GenerateIndirectApplication (
Copy file name to clipboardExpand all lines: src/Java.Interop.Tools.JavaCallableWrappers/Test/Java.Interop.Tools.JavaCallableWrappers/TypeNameMapGeneratorTests.cs
+22-17Lines changed: 22 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ public void WriteJavaToManaged ()
49
49
v.WriteJavaToManaged(o);
50
50
vara=ToArray(o);
51
51
Save(a,"__j2m");
52
-
varlength=259;
52
+
varlength=204;
53
53
varoffset=90;
54
54
vare=
55
55
"version=1\u0000"+
@@ -59,12 +59,12 @@ public void WriteJavaToManaged ()
0 commit comments