From b25fe559e18e111c95640633fabd8563c0e4f79c Mon Sep 17 00:00:00 2001 From: stCarolas Date: Sat, 7 Dec 2019 16:14:20 +0300 Subject: [PATCH] add binary for github actions --- lib/installer.js | 65 ++++++++++++++++++++++++++++++++++++++++ lib/setup-maven.js | 34 +++++++++++++++++++++ node_modules/.bin/semver | 1 + node_modules/.bin/uuid | 1 + node_modules/.bin/which | 1 + 5 files changed, 102 insertions(+) create mode 100644 lib/installer.js create mode 100644 lib/setup-maven.js create mode 120000 node_modules/.bin/semver create mode 120000 node_modules/.bin/uuid create mode 120000 node_modules/.bin/which diff --git a/lib/installer.js b/lib/installer.js new file mode 100644 index 0000000..5440604 --- /dev/null +++ b/lib/installer.js @@ -0,0 +1,65 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +// Load tempDirectory before it gets wiped by tool-cache +let tempDirectory = process.env['RUNNER_TEMPDIRECTORY'] || ''; +const core = __importStar(require("@actions/core")); +const tc = __importStar(require("@actions/tool-cache")); +const path = __importStar(require("path")); +if (!tempDirectory) { + let baseLocation; + if (process.platform === 'win32') { + baseLocation = process.env['USERPROFILE'] || 'C:\\'; + } + else { + if (process.platform === 'darwin') { + baseLocation = '/Users'; + } + else { + baseLocation = '/home'; + } + } + tempDirectory = path.join(baseLocation, 'actions', 'temp'); +} +function getMaven(version) { + return __awaiter(this, void 0, void 0, function* () { + let toolPath; + toolPath = tc.find('maven', version); + if (!toolPath) { + toolPath = yield downloadMaven(version); + } + toolPath = path.join(toolPath, 'bin'); + core.addPath(toolPath); + }); +} +exports.getMaven = getMaven; +function downloadMaven(version) { + return __awaiter(this, void 0, void 0, function* () { + const toolDirectoryName = 'apache-maven-${version}'; + const downloadUrl = 'https://www-eu.apache.org/dist/maven/maven-3/${version}/binaries/${toolDirectoryName}-bin.tar.gz'; + try { + const downloadPath = yield tc.downloadTool(downloadUrl); + const extractedPath = yield tc.extractTar(downloadPath); + let toolRoot = path.join(extractedPath, toolDirectoryName); + return yield tc.cacheDir(toolRoot, 'maven', version); + } + catch (err) { + throw err; + } + }); +} diff --git a/lib/setup-maven.js b/lib/setup-maven.js new file mode 100644 index 0000000..48148b7 --- /dev/null +++ b/lib/setup-maven.js @@ -0,0 +1,34 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const core = __importStar(require("@actions/core")); +const installer = __importStar(require("./installer")); +function run() { + return __awaiter(this, void 0, void 0, function* () { + try { + let version = core.getInput('maven-version'); + if (version) { + yield installer.getMaven(version); + } + } + catch (error) { + core.setFailed(error.message); + } + }); +} +run(); diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver new file mode 120000 index 0000000..5aaadf4 --- /dev/null +++ b/node_modules/.bin/semver @@ -0,0 +1 @@ +../semver/bin/semver.js \ No newline at end of file diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid new file mode 120000 index 0000000..b3e45bc --- /dev/null +++ b/node_modules/.bin/uuid @@ -0,0 +1 @@ +../uuid/bin/uuid \ No newline at end of file diff --git a/node_modules/.bin/which b/node_modules/.bin/which new file mode 120000 index 0000000..f62471c --- /dev/null +++ b/node_modules/.bin/which @@ -0,0 +1 @@ +../which/bin/which \ No newline at end of file