Attempt at first version

This commit is contained in:
Dave Olsthoorn
2020-07-25 18:07:39 +02:00
parent 1b0d4d0266
commit 64495f005b
11 changed files with 663 additions and 5174 deletions

63
src/install.ts Normal file
View File

@@ -0,0 +1,63 @@
import * as fs from 'fs'
import * as path from 'path'
import * as core from '@actions/core'
import * as exec from '@actions/exec'
import * as tc from '@actions/tool-cache'
import {
ANDROID_SDK_ROOT,
COMMANDLINE_TOOLS_LIN_URL,
COMMANDLINE_TOOLS_MAC_URL,
COMMANDLINE_TOOLS_WIN_URL
} from './constants'
export async function install(): Promise<void> {
const licenseDir = path.join(ANDROID_SDK_ROOT, 'licenses')
// If the licences exist, the rest does too
if (fs.existsSync(licenseDir)) {
core.debug(`Skipping install, licenseDir found: ${licenseDir}`)
return
}
const acceptBuffer = Buffer.from('y\ny\ny\ny\ny\n\ny', 'utf8')
if (process.platform === 'linux') {
const cmdlineToolsZip = await tc.downloadTool(COMMANDLINE_TOOLS_LIN_URL)
const cmdlineTools = await tc.extractZip(cmdlineToolsZip)
const sdkManager = path.join(cmdlineTools, 'tools', 'sdkmanager')
exec.exec(
sdkManager,
['--include_obsolete', `--sdk_root=${ANDROID_SDK_ROOT}`, 'tools'],
{
input: acceptBuffer
}
)
} else if (process.platform === 'darwin') {
const cmdlineToolsZip = await tc.downloadTool(COMMANDLINE_TOOLS_MAC_URL)
const cmdlineTools = await tc.extractZip(cmdlineToolsZip)
const sdkManager = path.join(cmdlineTools, 'tools', 'sdkmanager')
exec.exec(
sdkManager,
['--include_obsolete', `--sdk_root=${ANDROID_SDK_ROOT}`, 'tools'],
{
input: acceptBuffer
}
)
} else if (process.platform === 'win32') {
const cmdlineToolsZip = await tc.downloadTool(COMMANDLINE_TOOLS_WIN_URL)
const cmdlineTools = await tc.extractZip(cmdlineToolsZip)
const sdkManager = path.join(cmdlineTools, 'tools', 'sdkmanager.bat')
exec.exec(
sdkManager,
['--include_obsolete', `--sdk_root=${ANDROID_SDK_ROOT}`, 'tools'],
{
input: acceptBuffer
}
)
} else {
core.error(`Unsupported platform: ${process.platform}`)
}
}