Skip to content

Commit 0af5329

Browse files
Simplify min SDK version implementation based on feedback
Co-authored-by: jonathanpeppers <[email protected]>
1 parent 0216b75 commit 0af5329

File tree

2 files changed

+10
-15
lines changed

2 files changed

+10
-15
lines changed

src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Aapt2.targets

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved.
166166
JavaPlatformJarPath="$(JavaPlatformJarPath)"
167167
JavaDesignerOutputDirectory="$(ResgenTemporaryDirectory)"
168168
CompiledResourceFlatFiles="@(_CompiledFlatFiles)"
169+
AndroidManifestFile="$(_AndroidManifestAbs)"
169170
ManifestFiles="$(ResgenTemporaryDirectory)\AndroidManifest.xml"
170171
AdditionalAndroidResourcePaths="@(_LibraryResourceDirectories)"
171172
YieldDuringToolExecution="$(YieldDuringToolExecution)"

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

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ public class Aapt2Link : Aapt2 {
8484
SortedSet<string> rulesFiles = new SortedSet<string> ();
8585
Dictionary<string, long> apks = new Dictionary<string, long> ();
8686
string resourceSymbolsTextFileTemp;
87-
int? minSdkVersion;
8887

8988
protected override int GetRequiredDaemonInstances ()
9089
{
@@ -98,13 +97,6 @@ public async override System.Threading.Tasks.Task RunTaskAsync ()
9897

9998
resourceSymbolsTextFileTemp = GetTempFile ();
10099

101-
// Compute min SDK version once from AndroidManifestFile or first ManifestFiles item
102-
ITaskItem manifestFile = AndroidManifestFile ?? (ManifestFiles?.Length > 0 ? ManifestFiles [0] : null);
103-
if (manifestFile is { ItemSpec.Length: > 0 }) {
104-
var doc = AndroidAppManifest.Load (manifestFile.ItemSpec, MonoAndroidHelper.SupportedVersions);
105-
minSdkVersion = doc.MinSdkVersion;
106-
}
107-
108100
await this.WhenAll (ManifestFiles, ProcessManifest);
109101

110102
ProcessOutput ();
@@ -186,13 +178,6 @@ string [] GenerateCommandLineCommands (string ManifestFile, string currentAbi, s
186178
cmd.Add ("-v");
187179
cmd.Add ($"--manifest");
188180
cmd.Add (GetFullPath (manifestFile));
189-
190-
//NOTE: if this is blank, we can omit --min-sdk-version in this call
191-
if (minSdkVersion.HasValue) {
192-
cmd.Add ("--min-sdk-version");
193-
cmd.Add (minSdkVersion.Value.ToString ());
194-
}
195-
196181
if (!string.IsNullOrEmpty (JavaDesignerOutputDirectory)) {
197182
var designerDirectory = Path.IsPathRooted (JavaDesignerOutputDirectory) ? JavaDesignerOutputDirectory : Path.Combine (WorkingDirectory, JavaDesignerOutputDirectory);
198183
Directory.CreateDirectory (designerDirectory);
@@ -335,6 +320,15 @@ string [] GenerateCommandLineCommands (string ManifestFile, string currentAbi, s
335320
cmd.Add ("-o");
336321
cmd.Add (GetFullPath (currentResourceOutputFile));
337322

323+
// Add min SDK version from AndroidManifestFile if available
324+
if (AndroidManifestFile is { ItemSpec.Length: > 0 }) {
325+
var doc = AndroidAppManifest.Load (AndroidManifestFile.ItemSpec, MonoAndroidHelper.SupportedVersions);
326+
if (doc.MinSdkVersion.HasValue) {
327+
cmd.Add ("--min-sdk-version");
328+
cmd.Add (doc.MinSdkVersion.Value.ToString ());
329+
}
330+
}
331+
338332
return cmd.ToArray ();
339333
}
340334

0 commit comments

Comments
 (0)