Skip to content

Commit 06edd2e

Browse files
authored
Try fix android (#1170)
* print things * - more print * - force path * - set env variables * - path * - cake * - set for user * - set paths * - set variables * - fix path * - remove prints * - remove things * - remove * - remove it all * - remove step * - add setup sdk paths back in
1 parent 9cd23a9 commit 06edd2e

File tree

4 files changed

+42
-25
lines changed

4 files changed

+42
-25
lines changed

build.cake

-20
Original file line numberDiff line numberDiff line change
@@ -1190,26 +1190,6 @@ AppleSimulator GetIosSimulator()
11901190
return iosSimulators.First (s => s.Name == IOS_SIM_NAME && s.Runtime == IOS_SIM_RUNTIME);
11911191
}
11921192

1193-
public void PrintEnvironmentVariables()
1194-
{
1195-
var envVars = EnvironmentVariables();
1196-
1197-
string path;
1198-
if (envVars.TryGetValue("PATH", out path))
1199-
{
1200-
Information("Path: {0}", path);
1201-
}
1202-
1203-
foreach(var envVar in envVars)
1204-
{
1205-
Information(
1206-
"Key: {0}\tValue: \"{1}\"",
1207-
envVar.Key,
1208-
envVar.Value
1209-
);
1210-
};
1211-
}
1212-
12131193
public void SetEnvironmentVariable(string key, string value, ICakeContext context)
12141194
{
12151195
var buildSystem = context.BuildSystem();

eng/cake/helpers.cake

+31
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,35 @@ T GetBuildVariable<T>(string key, T defaultValue)
2828
// And then Environment Variable check is case sensitive
2929
T upperCaseReturnValue = Argument(key.ToUpper(), EnvironmentVariable(key.ToUpper(), defaultValue));
3030
return Argument(key, EnvironmentVariable(key, upperCaseReturnValue));
31+
}
32+
33+
string GetAndroidSDKPath()
34+
{
35+
var ANDROID_SDK_ROOT = Argument("android", EnvironmentVariable("ANDROID_SDK_ROOT") ?? EnvironmentVariable("ANDROID_HOME"));
36+
37+
if (string.IsNullOrEmpty(ANDROID_SDK_ROOT)) {
38+
throw new Exception("Environment variable 'ANDROID_SDK_ROOT' or 'ANDROID_HOME' must be set to the Android SDK root.");
39+
}
40+
41+
return ANDROID_SDK_ROOT;
42+
}
43+
44+
public void PrintEnvironmentVariables()
45+
{
46+
var envVars = EnvironmentVariables();
47+
48+
string path;
49+
if (envVars.TryGetValue("PATH", out path))
50+
{
51+
Information("Path: {0}", path);
52+
}
53+
54+
foreach(var envVar in envVars)
55+
{
56+
Information(
57+
"Key: {0}\tValue: \"{1}\"",
58+
envVar.Key,
59+
envVar.Value
60+
);
61+
};
3162
}

eng/devices/android.cake

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#addin nuget:?package=Cake.Android.Adb&version=3.2.0
22
#addin nuget:?package=Cake.Android.AvdManager&version=2.2.0
3+
#load "../cake/helpers.cake"
34

45
string TARGET = Argument("target", "Test");
56

@@ -24,10 +25,8 @@ bool DEVICE_BOOT = Argument("boot", true);
2425
bool DEVICE_BOOT_WAIT = Argument("wait", true);
2526

2627
// set up env
27-
var ANDROID_SDK_ROOT = Argument("android", EnvironmentVariable("ANDROID_SDK_ROOT") ?? EnvironmentVariable("ANDROID_HOME"));
28-
if (string.IsNullOrEmpty(ANDROID_SDK_ROOT)) {
29-
throw new Exception("Environment variable 'ANDROID_SDK_ROOT' or 'ANDROID_HOME' must be set to the Android SDK root.");
30-
}
28+
var ANDROID_SDK_ROOT = GetAndroidSDKPath();
29+
3130
System.Environment.SetEnvironmentVariable("PATH",
3231
$"{ANDROID_SDK_ROOT}/tools/bin" + System.IO.Path.PathSeparator +
3332
$"{ANDROID_SDK_ROOT}/platform-tools" + System.IO.Path.PathSeparator +
@@ -216,4 +215,4 @@ Task("Test")
216215
}
217216
});
218217

219-
RunTarget(TARGET);
218+
RunTarget(TARGET);

eng/pipelines/common/device-tests-steps.yml

+7
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,13 @@ steps:
4848
- script: dotnet tool restore
4949
displayName: install dotnet tools
5050

51+
- script: |
52+
echo "##vso[task.prependpath]/Users/builder/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.40/bin"
53+
echo "##vso[task.setvariable variable=JAVA_HOME]/Users/builder/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.40/"
54+
echo "##vso[task.setvariable variable=ANDROID_SDK_ROOT]/Users/builder/Library/Developer/Xamarin/android-sdk-macosx/"
55+
displayName: 'Setup SDK Paths'
56+
condition: ne(variables['osx2019VmPool'], 'Azure Pipelines')
57+
5158
- pwsh: |
5259
./build.ps1 --target provision --TeamProject="$(System.TeamProject)"
5360
displayName: 'Cake Provision'

0 commit comments

Comments
 (0)