@@ -251,25 +251,27 @@ void Run (bool useMarshalMethods)
251251
252252 internal static Dictionary < string , ITaskItem > MaybeGetArchAssemblies ( Dictionary < AndroidTargetArch , Dictionary < string , ITaskItem > > dict , AndroidTargetArch arch )
253253 {
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 ) ;
271272 }
272273
274+
273275 // For NativeAOT, generate JavaInteropRuntime.java
274276 if ( androidRuntime == Xamarin . Android . Tasks . AndroidRuntime . NativeAOT ) {
275277 const string fileName = "JavaInteropRuntime.java" ;
@@ -414,10 +416,7 @@ void WriteTypeMappings (NativeCodeGenState state)
414416 // NativeAOT typemaps are generated in `Microsoft.Android.Sdk.ILLink.TypeMappingStep`
415417 return ;
416418 }
417- if ( androidRuntime == Xamarin . Android . Tasks . AndroidRuntime . CoreCLR ) {
418- // TODO: CoreCLR typemaps will be emitted later
419- return ;
420- }
419+
421420 Log . LogDebugMessage ( $ "Generating type maps for architecture '{ state . TargetArch } '") ;
422421 var tmg = new TypeMapGenerator ( Log , state , androidRuntime ) ;
423422 if ( ! tmg . Generate ( Debug , SkipJniAddNativeMethodRegistrationAttributeScan , TypemapOutputDirectory , GenerateNativeAssembly ) ) {
0 commit comments