Skip to content

Commit eb259c0

Browse files
committed
New task to build embedded assembly store
1 parent 0023d7d commit eb259c0

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved.
327327
<AndroidEnableMarshalMethods Condition=" '$(AndroidEnableMarshalMethods)' == '' ">False</AndroidEnableMarshalMethods>
328328
<_AndroidUseMarshalMethods Condition=" '$(AndroidIncludeDebugSymbols)' == 'True' ">False</_AndroidUseMarshalMethods>
329329
<_AndroidUseMarshalMethods Condition=" '$(AndroidIncludeDebugSymbols)' != 'True' ">$(AndroidEnableMarshalMethods)</_AndroidUseMarshalMethods>
330+
<_AndroidEmbedAssemblyStoreInRuntime Condition=" '$(AndroidUseAssemblyStore)' == 'True' And '$(_AndroidEmbedAssemblyStoreInRuntime)' == '' ">True</_AndroidEmbedAssemblyStoreInRuntime>
330331
</PropertyGroup>
331332

332333
<!-- Do not resolve from the GAC under any circumstances in Mobile -->
@@ -1998,7 +1999,7 @@ because xbuild doesn't support framework reference assemblies.
19981999
</Target>
19992000

20002001
<Target Name="_CompileNativeAssemblySources"
2001-
DependsOnTargets="_PrepareNativeAssemblyItems;_GenerateCompressedAssembliesNativeSourceFiles"
2002+
DependsOnTargets="_CreateEmbeddedAssemblyStore;_PrepareNativeAssemblyItems;_GenerateCompressedAssembliesNativeSourceFiles"
20022003
Inputs="@(_TypeMapAssemblySource);@(_TypeMapAssemblyInclude);@(_EnvironmentAssemblySource);@(_CompressedAssembliesAssemblySource);@(_MarshalMethodsAssemblySource);@(_AndroidRemapAssemblySource)"
20032004
Outputs="@(_NativeAssemblyTarget)">
20042005
<CompileNativeAssembly

0 commit comments

Comments
 (0)