From d229edb50f69a73e0a397fe1d70a2b1c727c6d79 Mon Sep 17 00:00:00 2001 From: tombokombo Date: Mon, 23 May 2022 10:14:07 +0200 Subject: [PATCH] add directory support Signed-off-by: tombokombo --- install/action.yml | 4 ++++ install/main.js | 9 ++++++--- lib/install/index.ts | 3 ++- lib/plugins-add/index.ts | 6 ++++-- plugins-add/action.yml | 4 ++++ plugins-add/main.js | 6 ++++-- 6 files changed, 24 insertions(+), 8 deletions(-) diff --git a/install/action.yml b/install/action.yml index e2f225d1..3c192d97 100644 --- a/install/action.yml +++ b/install/action.yml @@ -18,3 +18,7 @@ inputs: description: asdf branch to clone required: false default: master + directory: + description: Directory where .tool-versions is located + required: false + default: . diff --git a/install/main.js b/install/main.js index 11004f09..0f2b5ac3 100644 --- a/install/main.js +++ b/install/main.js @@ -1278,12 +1278,14 @@ async function pluginList() { async function pluginsAdd() { await setupAsdf(); let toolVersions = core2.getInput("tool_versions", {required: false}); + let directory = core2.getInput("directory", {required: false}); + directory = !directory.endsWith("/") ? `${directory}/` : directory; if (toolVersions) { - await fs.promises.writeFile(".tool-versions", toolVersions, { + await fs.promises.writeFile(`${directory}.tool-versions`, toolVersions, { encoding: "utf8" }); } else { - toolVersions = await fs.promises.readFile(".tool-versions", { + toolVersions = await fs.promises.readFile(`${directory}.tool-versions`, { encoding: "utf8" }); } @@ -1303,10 +1305,11 @@ async function pluginsAdd() { async function toolsInstall() { await pluginsAdd(); const before = core3.getInput("before_install", {required: false}); + const directory = core3.getInput("directory", {required: false}); if (before) { await exec5.exec("bash", ["-c", before]); } - await exec5.exec("asdf", ["install"]); + await exec5.exec("asdf", ["install"], {cwd: directory}); } // lib/install/main.ts diff --git a/lib/install/index.ts b/lib/install/index.ts index 859ec1ba..51ad5d15 100644 --- a/lib/install/index.ts +++ b/lib/install/index.ts @@ -6,8 +6,9 @@ export async function toolsInstall(): Promise { await pluginsAdd(); const before = core.getInput("before_install", { required: false }); + const directory = core.getInput("directory", { required: false }); if (before) { await exec.exec("bash", ["-c", before]); } - await exec.exec("asdf", ["install"]); + await exec.exec("asdf", ["install"], { cwd: directory }); } diff --git a/lib/plugins-add/index.ts b/lib/plugins-add/index.ts index e06f1e74..fc12e45e 100644 --- a/lib/plugins-add/index.ts +++ b/lib/plugins-add/index.ts @@ -31,13 +31,15 @@ async function pluginList() { export async function pluginsAdd(): Promise { await setupAsdf(); let toolVersions = core.getInput("tool_versions", { required: false }); + let directory = core.getInput("directory", { required: false }); + directory = !directory.endsWith("/") ? `${directory}/` : directory if (toolVersions) { - await fs.promises.writeFile(".tool-versions", toolVersions, { + await fs.promises.writeFile(`${directory}.tool-versions`, toolVersions, { encoding: "utf8", }); } else { - toolVersions = await fs.promises.readFile(".tool-versions", { + toolVersions = await fs.promises.readFile(`${directory}.tool-versions`, { encoding: "utf8", }); } diff --git a/plugins-add/action.yml b/plugins-add/action.yml index 0f1e7d37..20a4e69f 100644 --- a/plugins-add/action.yml +++ b/plugins-add/action.yml @@ -13,3 +13,7 @@ inputs: description: If present, this value will be written to the .tool-versions file. required: false + directory: + description: .tool-versions directory + required: false + default: . diff --git a/plugins-add/main.js b/plugins-add/main.js index fc013395..cce7ba92 100644 --- a/plugins-add/main.js +++ b/plugins-add/main.js @@ -1274,12 +1274,14 @@ async function pluginList() { async function pluginsAdd() { await setupAsdf(); let toolVersions = core2.getInput("tool_versions", {required: false}); + let directory = core2.getInput("directory", {required: false}); + directory = !directory.endsWith("/") ? `${directory}/` : directory; if (toolVersions) { - await fs.promises.writeFile(".tool-versions", toolVersions, { + await fs.promises.writeFile(`${directory}.tool-versions`, toolVersions, { encoding: "utf8" }); } else { - toolVersions = await fs.promises.readFile(".tool-versions", { + toolVersions = await fs.promises.readFile(`${directory}.tool-versions`, { encoding: "utf8" }); }