Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .external
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
xamarin/monodroid:main@5aed7eddb3c02148297606da2b9e3ede6141f8f4
xamarin/monodroid:main@dbc9c67e7bd45744e5174dd7e94e5b642418bef9
mono/mono:2020-02@6dd9def57ce969ca04a0ecd9ef72c0a8f069112d
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,18 @@ public void InstallAndroidDependenciesTest ()
AssertCommercialBuild ();
// We need to grab the latest API level *before* changing env vars
var apiLevel = AndroidSdkResolver.GetMaxInstalledPlatform ();
var old = Environment.GetEnvironmentVariable ("TEST_ANDROID_SDK_PATH");
var oldSdkPath = Environment.GetEnvironmentVariable ("TEST_ANDROID_SDK_PATH");
var oldJdkPath = Environment.GetEnvironmentVariable ("TEST_ANDROID_JDK_PATH");
try {
string sdkPath = Path.Combine (Root, "temp", TestName, "android-sdk");
string jdkPath = Path.Combine (Root, "temp", TestName, "android-jdk");
Environment.SetEnvironmentVariable ("TEST_ANDROID_SDK_PATH", sdkPath);
if (Directory.Exists (sdkPath))
Directory.Delete (sdkPath, true);
Directory.CreateDirectory (sdkPath);
Environment.SetEnvironmentVariable ("TEST_ANDROID_JDK_PATH", jdkPath);
foreach (var path in new [] { sdkPath, jdkPath }) {
if (Directory.Exists (path))
Directory.Delete (path, recursive: true);
Directory.CreateDirectory (path);
}
var proj = new XamarinAndroidApplicationProject {
TargetSdkVersion = apiLevel.ToString (),
};
Expand Down Expand Up @@ -60,10 +65,13 @@ public void InstallAndroidDependenciesTest ()
}
}
Assert.IsTrue (usedNewDir, $"_AndroidSdkDirectory was not set to new SDK path `{sdkPath}`.");
Assert.IsTrue (b.LastBuildOutput.ContainsText ($"Output Property: _JavaSdkDirectory={jdkPath}"),
$"_JavaSdkDirectory was not set to new JDK path `{jdkPath}`.");
Assert.IsTrue (b.LastBuildOutput.ContainsText ($"JavaPlatformJarPath={sdkPath}"), $"JavaPlatformJarPath did not contain new SDK path `{sdkPath}`.");
}
} finally {
Environment.SetEnvironmentVariable ("TEST_ANDROID_SDK_PATH", old);
Environment.SetEnvironmentVariable ("TEST_ANDROID_SDK_PATH", oldSdkPath);
Environment.SetEnvironmentVariable ("TEST_ANDROID_JDK_PATH", oldJdkPath);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,18 @@ public static string GetAndroidNdkPath ()

public static string GetJavaSdkPath ()
{
if (string.IsNullOrEmpty (JavaSdkPath))
JavaSdkPath = RunPathsTargets ("GetJavaSdkDirectory");
if (string.IsNullOrEmpty (JavaSdkPath))
JavaSdkPath = Environment.GetEnvironmentVariable ("JI_JAVA_HOME");
if (string.IsNullOrEmpty (JavaSdkPath))
JavaSdkPath = Environment.GetEnvironmentVariable ("JAVA_HOME");
if (string.IsNullOrEmpty (JavaSdkPath))
JavaSdkPath = GetPathFromRegistry ("JavaSdkDirectory");
if (string.IsNullOrEmpty (JavaSdkPath))
JavaSdkPath = Path.GetFullPath (Path.Combine (DefaultToolchainPath, "jdk"));
return JavaSdkPath;
var javaSdkPath = Environment.GetEnvironmentVariable ("TEST_ANDROID_JDK_PATH");
if (string.IsNullOrEmpty (javaSdkPath))
javaSdkPath = JavaSdkPath ??= RunPathsTargets ("GetJavaSdkDirectory");
if (string.IsNullOrEmpty (javaSdkPath))
javaSdkPath = JavaSdkPath ??= Environment.GetEnvironmentVariable ("JI_JAVA_HOME");
if (string.IsNullOrEmpty (javaSdkPath))
javaSdkPath = JavaSdkPath ??= Environment.GetEnvironmentVariable ("JAVA_HOME");
if (string.IsNullOrEmpty (javaSdkPath))
javaSdkPath = JavaSdkPath ??= GetPathFromRegistry ("JavaSdkDirectory");
if (string.IsNullOrEmpty (javaSdkPath))
javaSdkPath = JavaSdkPath ??= Path.GetFullPath (Path.Combine (DefaultToolchainPath, "jdk"));
return javaSdkPath;
}

static string JavaSdkVersionString;
Expand Down