mirror of https://github.com/aminya/setup-cpp
perf: install the compiler after installing the tools
This commit is contained in:
parent
ec62f654e0
commit
7e5fac5146
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
60
src/main.ts
60
src/main.ts
|
@ -96,6 +96,36 @@ export async function main(args: string[]): Promise<number> {
|
||||||
const successMessages: string[] = []
|
const successMessages: string[] = []
|
||||||
const errorMessages: string[] = []
|
const errorMessages: string[] = []
|
||||||
|
|
||||||
|
// installing the specified tools
|
||||||
|
|
||||||
|
// loop over the tools and run their setup function
|
||||||
|
for (const tool of tools) {
|
||||||
|
// get the version or "true" or undefined for this tool from the options
|
||||||
|
const value = opts[tool]
|
||||||
|
|
||||||
|
// skip if undefined
|
||||||
|
if (value !== undefined) {
|
||||||
|
// get the setup function
|
||||||
|
const setupFunction = setups[tool]
|
||||||
|
|
||||||
|
// runnig the setup function for this tool
|
||||||
|
try {
|
||||||
|
// eslint-disable-next-line no-await-in-loop
|
||||||
|
const installationInfo = await setupFunction(getVersion(tool, value), setupCppDir, arch)
|
||||||
|
|
||||||
|
// preparing a report string
|
||||||
|
if (installationInfo !== undefined) {
|
||||||
|
successMessages.push(getSuccessMessage(tool, installationInfo))
|
||||||
|
} else {
|
||||||
|
successMessages.push(`${tool} was successfully installed`)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
// push error message to the logger
|
||||||
|
errorMessages.push(`${tool} failed to install`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// installing the specified compiler
|
// installing the specified compiler
|
||||||
const maybeCompiler = opts.compiler
|
const maybeCompiler = opts.compiler
|
||||||
try {
|
try {
|
||||||
|
@ -147,36 +177,6 @@ export async function main(args: string[]): Promise<number> {
|
||||||
errorMessages.push(`Failed to install the ${maybeCompiler}`)
|
errorMessages.push(`Failed to install the ${maybeCompiler}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
// installing the specified tools
|
|
||||||
|
|
||||||
// loop over the tools and run their setup function
|
|
||||||
for (const tool of tools) {
|
|
||||||
// get the version or "true" or undefined for this tool from the options
|
|
||||||
const value = opts[tool]
|
|
||||||
|
|
||||||
// skip if undefined
|
|
||||||
if (value !== undefined) {
|
|
||||||
// get the setup function
|
|
||||||
const setupFunction = setups[tool]
|
|
||||||
|
|
||||||
// runnig the setup function for this tool
|
|
||||||
try {
|
|
||||||
// eslint-disable-next-line no-await-in-loop
|
|
||||||
const installationInfo = await setupFunction(getVersion(tool, value), setupCppDir, arch)
|
|
||||||
|
|
||||||
// preparing a report string
|
|
||||||
if (installationInfo !== undefined) {
|
|
||||||
successMessages.push(getSuccessMessage(tool, installationInfo))
|
|
||||||
} else {
|
|
||||||
successMessages.push(`${tool} was successfully installed`)
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
// push error message to the logger
|
|
||||||
errorMessages.push(`${tool} failed to install`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// report the messages in the end
|
// report the messages in the end
|
||||||
successMessages.forEach((tool) => (isCI ? core.info(tool) : console.log(`\x1b[32m${tool}\x1b[0m`)))
|
successMessages.forEach((tool) => (isCI ? core.info(tool) : console.log(`\x1b[32m${tool}\x1b[0m`)))
|
||||||
errorMessages.forEach((tool) => (isCI ? core.error(tool) : console.log(`\x1b[31m${tool}\x1b[0m`)))
|
errorMessages.forEach((tool) => (isCI ? core.error(tool) : console.log(`\x1b[31m${tool}\x1b[0m`)))
|
||||||
|
|
Loading…
Reference in New Issue