diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs index 99d06e97979..697d4f64884 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs @@ -890,9 +890,26 @@ public void DuplicateValuesInResourceCaseMap () } } + /// + /// Works around a bug in lint.bat on Windows: https://issuetracker.google.com/issues/68753324 + /// - We may want to remove this if a future Android SDK tools, no longer has this issue + /// + void FixLintOnWindows () + { + if (Environment.OSVersion.Platform == PlatformID.Win32NT) { + var userProfile = Environment.GetFolderPath (Environment.SpecialFolder.UserProfile); + var androidSdkTools = Path.Combine (userProfile, "android-toolchain", "sdk", "tools"); + if (Directory.Exists (androidSdkTools)) { + Environment.SetEnvironmentVariable ("JAVA_OPTS", $"\"-Dcom.android.tools.lint.bindir={androidSdkTools}\"", EnvironmentVariableTarget.Process); + } + } + } + [Test] public void CheckLintErrorsAndWarnings () { + FixLintOnWindows (); + var proj = new XamarinAndroidApplicationProject (); proj.UseLatestPlatformSdk = true; proj.SetProperty ("AndroidLintEnabled", true.ToString ()); @@ -917,6 +934,8 @@ public class MainActivity : Activity [Test] public void CheckLintConfigMerging () { + FixLintOnWindows (); + var proj = new XamarinAndroidApplicationProject (); proj.SetProperty ("AndroidLintEnabled", true.ToString ()); proj.OtherBuildItems.Add (new AndroidItem.AndroidLintConfig ("lint1.xml") {