From 67d5fb9f5071f3fbbc5cfbc518606130473c96c2 Mon Sep 17 00:00:00 2001 From: peaceiris <30958501+peaceiris@users.noreply.github.com> Date: Sat, 21 Sep 2019 00:43:10 +0900 Subject: [PATCH] refactor: slpit installer.js --- lib/index.js | 30 ++---------------------------- lib/installer.js | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 lib/installer.js diff --git a/lib/index.js b/lib/index.js index 261a457..4aa7ea1 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,10 +1,7 @@ const core = require("@actions/core"); -const tc = require("@actions/tool-cache"); -const io = require("@actions/io"); const exec = require("@actions/exec"); -const getOS = require("./get-os"); -const getURL = require("./get-url"); const getLatestVersion = require("./get-latest-version"); +const installer = require("./installer"); // most @actions toolkit packages have async methods async function run() { @@ -17,30 +14,7 @@ async function run() { } console.log(`Hugo version: ${hugoVersion}`); - const extended = core.getInput("extended"); - console.log(`Hugo extended: ${extended}`); - - const osName = getOS(process.platform); - console.log(`Operating System: ${osName}`); - - const hugoURL = getURL(osName, extended, hugoVersion); - core.debug(`hugoURL: ${hugoURL}`); - - const hugoPath = `${process.env.HOME}/bin`; - await io.mkdirP(hugoPath); - core.addPath(hugoPath); - - // Download and extract Hugo binary - const hugoAssets = await tc.downloadTool(hugoURL); - let hugoBin = ""; - if (osName === "Windows") { - const hugoExtractedFolder = await tc.extractZip(hugoAssets, "/tmp"); - hugoBin = `${hugoExtractedFolder}/hugo.exe`; - } else { - const hugoExtractedFolder = await tc.extractTar(hugoAssets, "/tmp"); - hugoBin = `${hugoExtractedFolder}/hugo`; - } - await io.mv(hugoBin, hugoPath); + await installer(hugoVersion); // Show version await exec.exec("hugo version"); diff --git a/lib/installer.js b/lib/installer.js new file mode 100644 index 0000000..ea162bf --- /dev/null +++ b/lib/installer.js @@ -0,0 +1,34 @@ +const core = require("@actions/core"); +const tc = require("@actions/tool-cache"); +const io = require("@actions/io"); +const getOS = require("./get-os"); +const getURL = require("./get-url"); + +async function installer(version) { + const extended = core.getInput("extended"); + console.log(`Hugo extended: ${extended}`); + + const osName = getOS(process.platform); + console.log(`Operating System: ${osName}`); + + const hugoURL = getURL(osName, extended, version); + core.debug(`hugoURL: ${hugoURL}`); + + const hugoPath = `${process.env.HOME}/bin`; + await io.mkdirP(hugoPath); + core.addPath(hugoPath); + + // Download and extract Hugo binary + const hugoAssets = await tc.downloadTool(hugoURL); + let hugoBin = ""; + if (osName === "Windows") { + const hugoExtractedFolder = await tc.extractZip(hugoAssets, "/tmp"); + hugoBin = `${hugoExtractedFolder}/hugo.exe`; + } else { + const hugoExtractedFolder = await tc.extractTar(hugoAssets, "/tmp"); + hugoBin = `${hugoExtractedFolder}/hugo`; + } + await io.mv(hugoBin, hugoPath); +} + +module.exports = installer;