@@ -2,13 +2,14 @@ import * as path from 'path';
2
2
import * as exec from '@actions/exec' ;
3
3
import * as core from '@actions/core' ;
4
4
import * as io from '@actions/io' ;
5
+ import * as tc from '@actions/tool-cache' ;
5
6
6
7
7
- const IS_WINDOWS = process . platform === 'win32' ;
8
- const IS_DARWIN = process . platform === 'darwin' ;
9
- const IS_LINUX = process . platform === 'linux' ;
8
+ // const IS_WINDOWS = process.platform === 'win32';
9
+ // const IS_DARWIN = process.platform === 'darwin';
10
+ // const IS_LINUX = process.platform === 'linux';
10
11
11
- let homeDirectory = process . env [ 'HOME' ] || process . env [ 'USERPROFILE' ] ;
12
+ let homeDirectory = process . env [ 'HOME' ] || process . env [ 'USERPROFILE' ] as string ;
12
13
let user = process . env [ 'USER' ] ;
13
14
interface Options { listeners : { } } ;
14
15
@@ -17,6 +18,8 @@ export async function setupAndroid(version: string): Promise<void>{
17
18
await exec . exec ( 'sudo apt-get update' ) ;
18
19
await exec . exec ( 'sudo apt-get install -qqy ca-certificates curl apt-transport-https' ) ;
19
20
await exec . exec ( 'sudo apt-get install -qqy unzip python3-cffi lsb-release' ) ;
21
+
22
+ // download firebase
20
23
console . log ( '=== installing firebase tools ===' ) ;
21
24
await exec . exec ( `bash -c "curl -sL https://firebase.tools | bash"` ) ;
22
25
@@ -28,41 +31,58 @@ export async function setupAndroid(version: string): Promise<void>{
28
31
} ,
29
32
} ;
30
33
34
+ //setup env variables to be used to download google-cloud-sdk
31
35
await exec . exec ( 'lsb_release -c -s' , undefined , lsbReleaseObj ) ;
32
36
core . exportVariable ( 'LSB_RELEASE' , lsbRelease ) ;
33
37
core . exportVariable ( 'CLOUD_SDK_REPO' , `cloud-sdk-${ lsbRelease } ` ) ;
34
38
35
39
console . log ( '=== installing gcloud SDK ===' ) ;
36
40
await exec . exec ( 'echo "deb https://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list' ) ;
37
- await exec . exec ( `bash -c "curl https://packages.cloud.google.com/apt/doc/apt-key.gpg --output ${ homeDirectory } /key.gpg "` ) ;
41
+
42
+ // download gcloud gpg key
43
+ // await exec.exec(`bash -c "curl https://packages.cloud.google.com/apt/doc/apt-key.gpg --output ${homeDirectory}/key.gpg "`);
44
+
45
+ const gcloudGPGPath = await tc . downloadTool ( 'https://packages.cloud.google.com/apt/doc/apt-key.gpg' ) ;
46
+ await io . mv ( gcloudGPGPath , path . join ( homeDirectory , "key.gpg" ) ) ;
38
47
await exec . exec ( `sudo apt-key add ${ homeDirectory } /key.gpg` ) ;
48
+ //download gcloud-sdk
39
49
await exec . exec ( 'bash -c "sudo apt-get update && sudo apt-get install -qqy google-cloud-sdk "' ) ;
40
50
await exec . exec ( `bash -c "gcloud config set core/disable_usage_reporting true && gcloud config set component_manager/disable_update_check true "` ) ;
41
51
52
+ //download android sdk
53
+ await io . mkdirP ( `${ homeDirectory } /android/sdk` ) ;
54
+
42
55
core . exportVariable ( 'ANDROID_HOME' , `${ homeDirectory } /android/sdk` ) ;
43
56
core . exportVariable ( 'SDK_VERSION' , 'sdk-tools-linux-4333796.zip' ) ;
44
57
core . exportVariable ( 'ADB_INSTALL_TIMEOUT' , '120' ) ;
58
+
59
+ //await exec.exec(`bash -c "curl --silent --show-error --location --fail --retry 3 --output ${homeDirectory}/$SDK_VERSION https://dl.google.com/android/repository/$SDK_VERSION"`);
60
+ //await exec.exec(`bash -c "sudo unzip -q ${homeDirectory}/$SDK_VERSION -d $ANDROID_HOME && sudo rm -rf ${homeDirectory}/$SDK_VERSION "`);
61
+ const androidSDKPath = await tc . downloadTool ( 'https://dl.google.com/android/repository/$SDK_VERSION' ) ;
62
+ await tc . extractZip ( androidSDKPath , '$ANDROID_HOME' ) ;
45
63
46
- await io . mkdirP ( `${ homeDirectory } /android/sdk` ) ;
47
- await exec . exec ( `bash -c "curl --silent --show-error --location --fail --retry 3 --output ${ homeDirectory } /$SDK_VERSION https://dl.google.com/android/repository/$SDK_VERSION"` ) ;
48
- await exec . exec ( `bash -c "sudo unzip -q ${ homeDirectory } /$SDK_VERSION -d $ANDROID_HOME && sudo rm -rf ${ homeDirectory } /$SDK_VERSION "` ) ;
49
64
50
- core . addPath ( ` ${ homeDirectory } /android/sdk/ tools` ) ;
51
- core . addPath ( ` ${ homeDirectory } /android/sdk/ tools/bin` ) ;
52
- core . addPath ( ` ${ homeDirectory } /android/sdk/ platform-tools` ) ;
65
+ core . addPath ( '$ANDROID_HOME/ tools' ) ;
66
+ core . addPath ( '$ANDROID_HOME/ tools/bin' ) ;
67
+ core . addPath ( '$ANDROID_HOME/ platform-tools' ) ;
53
68
54
69
await exec . exec ( `bash -c "echo $PATH" ` ) ;
55
70
await exec . exec ( `bash -c "echo $ANDROID_HOME" ` ) ;
71
+
56
72
console . log ( '=== installing android SDK ===' ) ;
57
73
58
- await io . mkdirP ( `${ homeDirectory } /.android` ) ;
59
- await exec . exec ( `bash -c "sudo echo '### User Sources for Android SDK Manager' | sudo tee -a ${ homeDirectory } /.android/repositories.cfg"` ) ;
60
- await exec . exec ( `bash -c "yes | sudo ${ homeDirectory } /android/sdk/tools/bin/sdkmanager --licenses"` ) ;
61
- await exec . exec ( `sudo chown -R ${ user } :${ user } ${ homeDirectory } /android` ) ;
62
- await exec . exec ( `sudo chown -R ${ user } :${ user } ${ homeDirectory } /.android` ) ;
63
- await exec . exec ( `bash -c " ls -la ${ homeDirectory } /android/sdk/tools/"` )
64
- await exec . exec ( `bash -c "sudo ${ homeDirectory } /android/sdk/tools/bin/sdkmanager "tools" "platform-tools" "` ) ;
65
- await exec . exec ( `bash -c "sudo ${ homeDirectory } /android/sdk/tools/bin/sdkmanager "build-tools;${ version } .0.0" "` ) ;
66
- await exec . exec ( `bash -c "sudo ${ homeDirectory } /android/sdk/tools/bin/sdkmanager "platforms;android-${ version } " "` ) ;
67
- await exec . exec ( `bash -c "sudo ${ homeDirectory } /android/sdk/tools/bin/sdkmanager --update "` )
74
+ // await io.mkdirP(`${homeDirectory}/.android`);
75
+ // await exec.exec(`bash -c "sudo echo '### User Sources for Android SDK Manager' | sudo tee -a ${homeDirectory}/.android/repositories.cfg"`);
76
+ await exec . exec ( `bash -c "mkdir ~/.android && echo '### User Sources for Android SDK Manager' > ~/.android/repositories.cfg"` ) ;
77
+ await exec . exec ( `bash -c "sudo ln -s $ANDROID_HOME/tools/bin/sdkmanager /usr/lib/sdkmanager"` ) ;
78
+ await exec . exec ( `bash -c "yes | sudo sdkmanager --list"` ) ;
79
+ await exec . exec ( `bash -c "yes | sudo sdkmanager --licenses"` ) ;
80
+ // await exec.exec(`sudo chown -R ${user}:${user} ${homeDirectory}/android`);
81
+ // await exec.exec(`sudo chown -R ${user}:${user} ${homeDirectory}/.android`);
82
+ // await exec.exec(`bash -c " ls -la ${homeDirectory}/android/sdk/tools/"`);
83
+ // await exec.exec(`bash -c "sdkmanager --list"`);
84
+ // await exec.exec(`bash -c "sudo ${homeDirectory}/android/sdk/tools/bin/sdkmanager "tools" "platform-tools" "`);
85
+ // await exec.exec(`bash -c "sudo ${homeDirectory}/android/sdk/tools/bin/sdkmanager "build-tools;${version}.0.0" "`);
86
+ // await exec.exec(`bash -c "sudo ${homeDirectory}/android/sdk/tools/bin/sdkmanager "platforms;android-${version}" "`);
87
+ // await exec.exec(`bash -c "sudo ${homeDirectory}/android/sdk/tools/bin/sdkmanager --update "`)
68
88
}
0 commit comments