generated from actions/typescript-action
-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Olafur Pall Geirsson
committed
Nov 27, 2019
1 parent
a38b170
commit 49fc8c7
Showing
219 changed files
with
16,410 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
"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 shell = __importStar(require("shelljs")); | ||
const path = __importStar(require("path")); | ||
const homedir = require("os").homedir(); | ||
const bin = path.join(homedir, "bin"); | ||
function install(javaVersion, jabbaVersion) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
setEnvironmentVariableCI(); | ||
installJava(javaVersion, jabbaVersion); | ||
installSbt(); | ||
}); | ||
} | ||
exports.install = install; | ||
function setEnvironmentVariableCI() { | ||
core.exportVariable("CI", "true"); | ||
} | ||
function jabbaUrlSuffix() { | ||
const runnerOs = shell.env["RUNNER_OS"] || "undefined"; | ||
switch (runnerOs.toLowerCase()) { | ||
case "linux": | ||
return "linux-amd64"; | ||
case "macos": | ||
return "darwin-amd64"; | ||
case "windows": | ||
return "windows-amd64.exe"; | ||
default: | ||
throw new Error(`unknown runner OS: ${runnerOs}, expected one of Linux, macOS or Windows.`); | ||
} | ||
} | ||
function isWindows() { | ||
return shell.env["RUNNER_OS"] === "Windows"; | ||
} | ||
function jabbaName() { | ||
if (isWindows()) | ||
return "jabba.exe"; | ||
else | ||
return "jabba"; | ||
} | ||
function installJava(javaVersion, jabbaVersion) { | ||
core.startGroup("Install Java"); | ||
core.addPath(bin); | ||
const jabbaUrl = `https://github.com/shyiko/jabba/releases/download/${jabbaVersion}/jabba-${jabbaVersion}-${jabbaUrlSuffix()}`; | ||
shell.mkdir(bin); | ||
const jabba = path.join(bin, jabbaName()); | ||
shell.set("-ev"); | ||
shell.exec(`curl -sL -o ${jabba} ${jabbaUrl}`, { silent: true }); | ||
shell.chmod(755, jabba); | ||
const toInstall = shell | ||
.exec(`${jabba} ls-remote`) | ||
.grep(javaVersion) | ||
.head({ "-n": 1 }) | ||
.stdout.trim(); | ||
console.log(`Installing ${toInstall}`); | ||
shell.exec(`${jabba} install ${toInstall}`); | ||
const javaHome = shell | ||
.exec(`${jabba} which --home ${toInstall}`) | ||
.stdout.trim(); | ||
core.exportVariable("JAVA_HOME", javaHome); | ||
core.addPath(path.join(javaHome, "bin")); | ||
core.endGroup(); | ||
} | ||
function installSbt() { | ||
core.startGroup("Install sbt"); | ||
core.addPath(bin); | ||
curl("https://raw.githubusercontent.com/paulp/sbt-extras/master/sbt", path.join(bin, "sbt")); | ||
curl("https://raw.githubusercontent.com/coursier/sbt-extras/master/sbt", path.join(bin, "csbt")); | ||
core.endGroup(); | ||
} | ||
function curl(url, outputFile) { | ||
shell.exec(`curl -sL ${url}`, { silent: true }).to(outputFile); | ||
shell.chmod(755, outputFile); | ||
shell.cat(outputFile); | ||
console.log(`Downloaded '${path.basename(outputFile)}' to ${outputFile}`); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 install_1 = require("./install"); | ||
function run() { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
try { | ||
const javaVersion = core.getInput("java-version", { required: true }); | ||
const jabbaVersion = core.getInput("jabba-version", { required: true }); | ||
console.log(`Installing Java version '${javaVersion}'`); | ||
yield install_1.install(javaVersion, jabbaVersion); | ||
} | ||
catch (error) { | ||
core.setFailed(error.message); | ||
} | ||
}); | ||
} | ||
run(); |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.