@@ -251,25 +251,27 @@ void Run (bool useMarshalMethods)
251
251
252
252
internal static Dictionary < string , ITaskItem > MaybeGetArchAssemblies ( Dictionary < AndroidTargetArch , Dictionary < string , ITaskItem > > dict , AndroidTargetArch arch )
253
253
{
254
- if ( androidRuntime != Xamarin . Android . Tasks . AndroidRuntime . CoreCLR ) {
255
- // Create additional runtime provider java sources.
256
- bool isMonoVM = androidRuntime == Xamarin . Android . Tasks . AndroidRuntime . MonoVM ;
257
- string providerTemplateFile = isMonoVM ?
258
- "MonoRuntimeProvider.Bundled.java" :
259
- "NativeAotRuntimeProvider.java" ;
260
- string providerTemplate = GetResource ( providerTemplateFile ) ;
261
-
262
- foreach ( var provider in additionalProviders ) {
263
- var contents = providerTemplate . Replace ( isMonoVM ? "MonoRuntimeProvider" : "NativeAotRuntimeProvider" , provider ) ;
264
- var real_provider = isMonoVM ?
265
- Path . Combine ( OutputDirectory , "src" , "mono" , provider + ".java" ) :
266
- Path . Combine ( OutputDirectory , "src" , "net" , "dot" , "jni" , "nativeaot" , provider + ".java" ) ;
267
- Files . CopyIfStringChanged ( contents , real_provider ) ;
268
- }
269
- } else {
270
- Log . LogDebugMessage ( $ "Skipping android.content.ContentProvider generation for: { androidRuntime } ") ;
254
+ // Create additional runtime provider java sources.
255
+ bool isMonoVM = androidRuntime switch {
256
+ Xamarin . Android . Tasks . AndroidRuntime . MonoVM => true ,
257
+ Xamarin . Android . Tasks . AndroidRuntime . CoreCLR => true ,
258
+ _ => false ,
259
+ } ;
260
+
261
+ string providerTemplateFile = isMonoVM ?
262
+ "MonoRuntimeProvider.Bundled.java" :
263
+ "NativeAotRuntimeProvider.java" ;
264
+ string providerTemplate = GetResource ( providerTemplateFile ) ;
265
+
266
+ foreach ( var provider in additionalProviders ) {
267
+ var contents = providerTemplate . Replace ( isMonoVM ? "MonoRuntimeProvider" : "NativeAotRuntimeProvider" , provider ) ;
268
+ var real_provider = isMonoVM ?
269
+ Path . Combine ( OutputDirectory , "src" , "mono" , provider + ".java" ) :
270
+ Path . Combine ( OutputDirectory , "src" , "net" , "dot" , "jni" , "nativeaot" , provider + ".java" ) ;
271
+ Files . CopyIfStringChanged ( contents , real_provider ) ;
271
272
}
272
273
274
+
273
275
// For NativeAOT, generate JavaInteropRuntime.java
274
276
if ( androidRuntime == Xamarin . Android . Tasks . AndroidRuntime . NativeAOT ) {
275
277
const string fileName = "JavaInteropRuntime.java" ;
@@ -414,10 +416,7 @@ void WriteTypeMappings (NativeCodeGenState state)
414
416
// NativeAOT typemaps are generated in `Microsoft.Android.Sdk.ILLink.TypeMappingStep`
415
417
return ;
416
418
}
417
- if ( androidRuntime == Xamarin . Android . Tasks . AndroidRuntime . CoreCLR ) {
418
- // TODO: CoreCLR typemaps will be emitted later
419
- return ;
420
- }
419
+
421
420
Log . LogDebugMessage ( $ "Generating type maps for architecture '{ state . TargetArch } '") ;
422
421
var tmg = new TypeMapGenerator ( Log , state , androidRuntime ) ;
423
422
if ( ! tmg . Generate ( Debug , SkipJniAddNativeMethodRegistrationAttributeScan , TypemapOutputDirectory , GenerateNativeAssembly ) ) {
0 commit comments