Skip to content

Commit caa9752

Browse files
committed
Import changes from #9686
1 parent 4895558 commit caa9752

6 files changed

Lines changed: 19 additions & 44 deletions

File tree

build-tools/create-packs/Microsoft.Android.Runtime.proj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ projects that use the Microsoft.Android framework in .NET 6+.
3535
<_RuntimeFlavorDirName Condition=" '$(AndroidRuntime)' == 'Mono' Or '$(AndroidRuntime)' == '' ">mono</_RuntimeFlavorDirName>
3636
</PropertyGroup>
3737

38-
<Message Text="Create packs: AndroidRuntime == '$(AndroidRuntime)'; _RuntimeFlavorDirName == '$(_RuntimeFlavorDirName)' " Importance="High" />
3938
<ItemGroup>
4039
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETDefaultOutDir)Java.Interop.dll" />
4140
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETDefaultOutDir)Mono.Android.dll" />

src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.AssemblyResolution.targets

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,10 @@ _ResolveAssemblies MSBuild target.
236236
<!-- Filename without extension -->
237237
<_ExcludedNativeLibraries Condition=" '$(_AndroidIncludeSystemGlobalizationNative)' != 'true' " Include="libSystem.Globalization.Native" />
238238
<_ExcludedNativeLibraries Condition=" '$(_AndroidEnableNativeStackTracing)' != 'true' " Include="libxamarin-native-tracing" />
239-
<_ExcludedNativeLibraries Condition=" '$(AndroidRuntime)' == 'Mono' Or '$(AndroidRuntime)' == '' " Include="libnet-android.debug" />
240-
<_ExcludedNativeLibraries Condition=" '$(AndroidRuntime)' == 'Mono' Or '$(AndroidRuntime)' == '' " Include="libnet-android.release" />
241-
<_ExcludedNativeLibraries Condition=" '$(AndroidRuntime)' == 'CoreCLR' " Include="libmono-android.debug" />
242-
<_ExcludedNativeLibraries Condition=" '$(AndroidRuntime)' == 'CoreCLR' " Include="libmono-android.release" />
239+
<_ExcludedNativeLibraries Condition=" '$(_AndroidRuntime)' == 'Mono' Or '$(_AndroidRuntime)' == '' " Include="libnet-android.debug" />
240+
<_ExcludedNativeLibraries Condition=" '$(_AndroidRuntime)' == 'Mono' Or '$(_AndroidRuntime)' == '' " Include="libnet-android.release" />
241+
<_ExcludedNativeLibraries Condition=" '$(_AndroidRuntime)' == 'CoreCLR' " Include="libmono-android.debug" />
242+
<_ExcludedNativeLibraries Condition=" '$(_AndroidRuntime)' == 'CoreCLR' " Include="libmono-android.release" />
243243
</ItemGroup>
244244
<ProcessNativeLibraries
245245
InputLibraries="@(_ResolvedNativeLibraries)"

src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.targets

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@
2626
<Import Project="Microsoft.Android.Sdk.BundledVersions.targets" />
2727
<Import Project="Microsoft.Android.Sdk.DefaultProperties.targets" />
2828
<Import Project="$(MSBuildThisFileDirectory)..\tools\Xamarin.Android.Common.Debugging.props"
29-
Condition="Exists('$(MSBuildThisFileDirectory)..\tools\Xamarin.Android.Common.Debugging.props') And '$(DesignTimeBuild)' != 'true' "/>
30-
<Import Project="Microsoft.Android.Sdk.CoreCLR.targets" Condition=" '$(_AndroidRuntime)' == 'CoreCLR' " />
29+
Condition="Exists('$(MSBuildThisFileDirectory)..\tools\Xamarin.Android.Common.Debugging.props')"/>
3130
<Import Project="Microsoft.Android.Sdk.NativeAOT.targets" Condition=" '$(_AndroidRuntime)' == 'NativeAOT' " />
3231

3332
</Project>

src/Xamarin.Android.Build.Tasks/Tasks/GenerateJavaStubs.cs

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,6 @@ public class GenerateJavaStubs : AndroidTask
9696
[Required]
9797
public string AndroidRuntime { get; set; } = "";
9898

99-
public string CodeGenerationTarget { get; set; } = "";
100-
101-
[Required]
102-
public string TargetName { get; set; } = "";
103-
104-
AndroidRuntime androidRuntime;
105-
JavaPeerStyle codeGenerationTarget;
106-
10799
internal const string AndroidSkipJavaStubGeneration = "AndroidSkipJavaStubGeneration";
108100

109101
public override bool RunTask ()
@@ -307,23 +299,9 @@ Dictionary<string, ITaskItem> MaybeGetArchAssemblies (Dictionary<AndroidTargetAr
307299

308300
void GenerateAdditionalProviderSources (NativeCodeGenState codeGenState, IList<string> additionalProviders)
309301
{
310-
if (androidRuntime != Xamarin.Android.Tasks.AndroidRuntime.CoreCLR) {
311-
// Create additional runtime provider java sources.
312-
bool isMonoVM = androidRuntime == Xamarin.Android.Tasks.AndroidRuntime.MonoVM;
313-
string providerTemplateFile = isMonoVM ?
314-
"MonoRuntimeProvider.Bundled.java" :
315-
"NativeAotRuntimeProvider.java";
316-
string providerTemplate = GetResource (providerTemplateFile);
317-
318-
foreach (var provider in additionalProviders) {
319-
var contents = providerTemplate.Replace (isMonoVM ? "MonoRuntimeProvider" : "NativeAotRuntimeProvider", provider);
320-
var real_provider = isMonoVM ?
321-
Path.Combine (OutputDirectory, "src", "mono", provider + ".java") :
322-
Path.Combine (OutputDirectory, "src", "net", "dot", "jni", "nativeaot", provider + ".java");
323-
Files.CopyIfStringChanged (contents, real_provider);
324-
}
325-
} else {
326-
Log.LogDebugMessage ($"Skipping android.content.ContentProvider generation for: {androidRuntime}");
302+
if (!string.Equals (AndroidRuntime, "MonoVM", StringComparison.OrdinalIgnoreCase)) {
303+
Log.LogDebugMessage ($"Skipping MonoRuntimeProvider generation for {AndroidRuntime}");
304+
return;
327305
}
328306

329307
// For NativeAOT, generate JavaInteropRuntime.java
@@ -381,7 +359,7 @@ IList<string> MergeManifest (NativeCodeGenState codeGenState, Dictionary<string,
381359
Debug = Debug,
382360
MultiDex = MultiDex,
383361
NeedsInternet = NeedsInternet,
384-
AndroidRuntime = androidRuntime,
362+
AndroidRuntime = AndroidRuntime,
385363
};
386364
// Only set manifest.VersionCode if there is no existing value in AndroidManifest.xml.
387365
if (manifest.HasVersionCode) {
@@ -415,7 +393,7 @@ IList<string> MergeManifest (NativeCodeGenState codeGenState, Dictionary<string,
415393
(List<TypeDefinition> allJavaTypes, List<TypeDefinition> javaTypesForJCW) = ScanForJavaTypes (resolver, tdCache, assemblies, userAssemblies, useMarshalMethods);
416394
var jcwContext = new JCWGeneratorContext (arch, resolver, assemblies.Values, javaTypesForJCW, tdCache, useMarshalMethods);
417395
var jcwGenerator = new JCWGenerator (Log, jcwContext) {
418-
CodeGenerationTarget = codeGenerationTarget,
396+
CodeGenerationTarget = string.Equals (AndroidRuntime, "MonoVM", StringComparison.OrdinalIgnoreCase) ? JavaPeerStyle.XAJavaInterop1 : JavaPeerStyle.JavaInterop1
419397
};
420398
bool success;
421399

src/Xamarin.Android.Build.Tasks/Utilities/ManifestDocument.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ internal class ManifestDocument
9494
public bool ForceDebuggable { get; set; }
9595
public string VersionName { get; set; }
9696
public IVersionResolver VersionResolver { get; set; } = new MonoAndroidHelperVersionResolver ();
97-
public AndroidRuntime AndroidRuntime { get; set; }
97+
public string AndroidRuntime { get; set; } = "MonoVM";
9898

9999
string versionCode;
100100

@@ -673,8 +673,8 @@ XElement CreateApplicationElement (XElement manifest, string applicationClass, L
673673

674674
IList<string> AddMonoRuntimeProviders (XElement app)
675675
{
676-
if (AndroidRuntime == AndroidRuntime.CoreCLR) {
677-
//TODO: implement provider logic for CoreCLR
676+
if (!string.Equals (AndroidRuntime, "MonoVM", StringComparison.OrdinalIgnoreCase)) {
677+
//TODO: implement provider logic for non-Mono runtimes
678678
return [];
679679
}
680680

src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -303,8 +303,8 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved.
303303
<_AndroidFastDeployEnvironmentFiles Condition=" '$(_AndroidFastDeployEnvironmentFiles)' == '' And '$(EmbedAssembliesIntoApk)' == 'False' ">True</_AndroidFastDeployEnvironmentFiles>
304304
<_AndroidFastDeployEnvironmentFiles Condition=" '$(_AndroidFastDeployEnvironmentFiles)' == '' ">False</_AndroidFastDeployEnvironmentFiles>
305305

306-
<_AndroidUseCLR Condition=" '$(AndroidRuntime)' == 'CoreCLR' ">True</_AndroidUseCLR>
307-
<_AndroidUseCLR Condition=" '$(AndroidRuntime)' != 'CoreCLR' ">False</_AndroidUseCLR>
306+
<_AndroidUseCLR Condition=" '$(_AndroidRuntime)' == 'CoreCLR' ">True</_AndroidUseCLR>
307+
<_AndroidUseCLR Condition=" '$(_AndroidRuntime)' != 'CoreCLR' ">False</_AndroidUseCLR>
308308
</PropertyGroup>
309309

310310
<Choose>
@@ -1364,12 +1364,12 @@ because xbuild doesn't support framework reference assemblies.
13641364
</Target>
13651365

13661366
<Target Name="_CollectRuntimeJarFilenames">
1367-
<PropertyGroup Condition=" '$(AndroidRuntime)' == 'Mono' Or '$(AndroidRuntime)' == '' ">
1367+
<PropertyGroup Condition=" '$(_AndroidRuntime)' == 'Mono' Or '$(_AndroidRuntime)' == '' ">
13681368
<_RuntimeJar>$(MSBuildThisFileDirectory)\java_runtime_net6.jar</_RuntimeJar>
13691369
<_RuntimeDex>$(MSBuildThisFileDirectory)\java_runtime_net6.dex</_RuntimeDex>
13701370
</PropertyGroup>
13711371

1372-
<PropertyGroup Condition=" '$(AndroidRuntime)' == 'CoreCLR' ">
1372+
<PropertyGroup Condition=" '$(_AndroidRuntime)' == 'CoreCLR' ">
13731373
<_RuntimeJar>$(MSBuildThisFileDirectory)\java_runtime_clr.jar</_RuntimeJar>
13741374
<_RuntimeDex>$(MSBuildThisFileDirectory)\java_runtime_clr.dex</_RuntimeDex>
13751375
</PropertyGroup>
@@ -1521,7 +1521,6 @@ because xbuild doesn't support framework reference assemblies.
15211521

15221522
<GenerateJavaStubs
15231523
AndroidRuntime="$(_AndroidRuntime)"
1524-
CodeGenerationTarget="$(AndroidCodegenTarget)"
15251524
ResolvedAssemblies="@(_ResolvedAssemblies)"
15261525
ResolvedUserAssemblies="@(_ResolvedUserMonoAndroidAssemblies)"
15271526
ErrorOnCustomJavaObject="$(AndroidErrorOnCustomJavaObject)"
@@ -2049,13 +2048,13 @@ because xbuild doesn't support framework reference assemblies.
20492048
</Target>
20502049

20512050
<Target Name="_PrepareApplicationSharedLibraryItems">
2052-
<ItemGroup Condition=" '$(AndroidRuntime)' != 'CoreCLR' ">
2051+
<ItemGroup Condition=" '$(_AndroidRuntime)' != 'CoreCLR' ">
20532052
<_ApplicationSharedLibrary Include="$(_AndroidApplicationSharedLibraryPath)%(_BuildTargetAbis.Identity)\libxamarin-app.so">
20542053
<abi>%(_BuildTargetAbis.Identity)</abi>
20552054
</_ApplicationSharedLibrary>
20562055
</ItemGroup>
20572056

2058-
<ItemGroup Condition=" '$(AndroidRuntime)' == 'CoreCLR' ">
2057+
<ItemGroup Condition=" '$(_AndroidRuntime)' == 'CoreCLR' ">
20592058
<_ApplicationSharedLibrary Include="$(_AndroidApplicationSharedLibraryPath)%(_BuildTargetAbis.Identity)\libxamarin-app-clr.so">
20602059
<abi>%(_BuildTargetAbis.Identity)</abi>
20612060
</_ApplicationSharedLibrary>

0 commit comments

Comments
 (0)