Skip to content

Commit 7acf5f7

Browse files
committed
New task to build embedded assembly store
1 parent 19df4bb commit 7acf5f7

File tree

3 files changed

+24
-5
lines changed

3 files changed

+24
-5
lines changed

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,32 @@
1-
using Xamarin.Android.Tools;
1+
22
using Microsoft.Android.Build.Tasks;
3+
using Microsoft.Build.Framework;
4+
using Xamarin.Android.Tools;
35

46
namespace Xamarin.Android.Tasks;
57

68
public class CreateEmbeddedAssemblyStore : AndroidTask
79
{
810
public override string TaskPrefix => "CEAS";
911

12+
[Required]
13+
public string AndroidBinUtilsDirectory { get; set; }
14+
15+
[Required]
16+
public string AppSharedLibrariesDir { get; set; }
17+
18+
[Required]
19+
public ITaskItem[] ResolvedUserAssemblies { get; set; }
20+
21+
[Required]
22+
public ITaskItem[] ResolvedFrameworkAssemblies { get; set; }
23+
24+
[Output]
25+
public ITaskItem[] NativeAssemblySources { get; set; }
26+
27+
[Output]
28+
public ITaskItem[] EmbeddedObjectFiles { get; set; }
29+
1030
public override bool RunTask ()
1131
{
1232
return !Log.HasLoggedErrors;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public EmbedItem (string symbolName, string baseFileName)
2626
public static class KnownEmbedItems
2727
{
2828
public static readonly EmbedItem RuntimeConfig = new ("embedded_runtime_config", "runtime_config");
29+
public static readonly EmbedItem AssemblyStore = new ("embedded_assembly_store", "assembly_store");
2930
}
3031

3132
sealed class LlvmMcTargetConfig

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -362,9 +362,7 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved.
362362

363363
<_AndroidUseMarshalMethods Condition=" '$(AndroidIncludeDebugSymbols)' == 'True' ">False</_AndroidUseMarshalMethods>
364364
<_AndroidUseMarshalMethods Condition=" '$(AndroidIncludeDebugSymbols)' != 'True' ">$(AndroidEnableMarshalMethods)</_AndroidUseMarshalMethods>
365-
366-
<_AndroidUseManagedMarshalMethodsLookup Condition=" '$(_AndroidUseManagedMarshalMethodsLookup)' == '' and '$(_AndroidUseMarshalMethods)' == 'True' and '$(_AndroidRuntime)' != 'MonoVM' ">True</_AndroidUseManagedMarshalMethodsLookup>
367-
<_AndroidUseManagedMarshalMethodsLookup Condition=" '$(_AndroidUseManagedMarshalMethodsLookup)' == '' ">False</_AndroidUseManagedMarshalMethodsLookup>
365+
<_AndroidEmbedAssemblyStoreInRuntime Condition=" '$(AndroidUseAssemblyStore)' == 'True' And '$(_AndroidEmbedAssemblyStoreInRuntime)' == '' ">True</_AndroidEmbedAssemblyStoreInRuntime>
368366
</PropertyGroup>
369367

370368
<!-- Do not resolve from the GAC under any circumstances in Mobile -->
@@ -2199,7 +2197,7 @@ because xbuild doesn't support framework reference assemblies.
21992197
</Target>
22002198

22012199
<Target Name="_CompileNativeAssemblySources"
2202-
DependsOnTargets="_PrepareNativeAssemblyItems;_GenerateCompressedAssembliesNativeSourceFiles"
2200+
DependsOnTargets="_CreateEmbeddedAssemblyStore;_PrepareNativeAssemblyItems;_GenerateCompressedAssembliesNativeSourceFiles"
22032201
Inputs="@(_TypeMapAssemblySource);@(_TypeMapAssemblyInclude);@(_EnvironmentAssemblySource);@(_CompressedAssembliesAssemblySource);@(_MarshalMethodsAssemblySource);@(_AndroidRemapAssemblySource)"
22042202
Outputs="@(_NativeAssemblyTarget)">
22052203
<CompileNativeAssembly

0 commit comments

Comments
 (0)