Skip to content

Commit 9fc5594

Browse files
committed
Fixlet + register scan results
1 parent 482159f commit 9fc5594

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,12 @@ void Run (bool useMarshalMethods)
199199
return;
200200
}
201201

202-
(success, List<PinvokeScanner.PinvokeEntryInfo> pinfos) = ScanForUsedPinvokes (scanner, arch, state.Resolver);
203-
if (!success) {
204-
return;
202+
if (EnableNativeRuntimeLinking) {
203+
(success, List<PinvokeScanner.PinvokeEntryInfo> pinfos) = ScanForUsedPinvokes (scanner, arch, state.Resolver);
204+
if (!success) {
205+
return;
206+
}
207+
BuildEngine4.RegisterTaskObjectAssemblyLocal (ProjectSpecificTaskObjectKey (PinvokeScanner.PinvokesInfoRegisterTaskKey), pinfos, RegisteredTaskObjectLifetime.Build);
205208
}
206209

207210
if (generateJavaCode) {
@@ -357,10 +360,10 @@ IList<string> MergeManifest (NativeCodeGenState codeGenState, Dictionary<string,
357360
return additionalProviders;
358361
}
359362

360-
(bool success, List<PinvokeScanner.PinvokeEntryInfo> pinfos) ScanForUsedPinvokes (PinvokeScanner scanner, AndroidTargetArch arch, XAAssemblyResolver resolver)
363+
(bool success, List<PinvokeScanner.PinvokeEntryInfo>? pinfos) ScanForUsedPinvokes (PinvokeScanner scanner, AndroidTargetArch arch, XAAssemblyResolver resolver)
361364
{
362365
if (!EnableNativeRuntimeLinking) {
363-
return;
366+
return (true, null);
364367
}
365368

366369
var frameworkAssemblies = new List<ITaskItem> ();

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ namespace Xamarin.Android.Tasks;
1414

1515
class PinvokeScanner
1616
{
17+
public const string PinvokesInfoRegisterTaskKey = ".:!PreservePinvokesTaskKey!:.";
18+
1719
public sealed class PinvokeEntryInfo
1820
{
1921
public readonly string LibraryName;

0 commit comments

Comments
 (0)