mirror of https://github.com/aminya/setup-cpp
feat: add untildify-user package
This commit is contained in:
parent
a0ead740f7
commit
b4a83891fb
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -68,7 +68,7 @@
|
||||||
"setup-python": "github:actions/setup-python#c474c82340438924daab9282d07300bfe7e3692d",
|
"setup-python": "github:actions/setup-python#c474c82340438924daab9282d07300bfe7e3692d",
|
||||||
"time-delta": "github:aminya/time-delta#69d91a41cef28e569be9a2991129f5f7d1f0d00e",
|
"time-delta": "github:aminya/time-delta#69d91a41cef28e569be9a2991129f5f7d1f0d00e",
|
||||||
"ubuntu-version": "^2.0.0",
|
"ubuntu-version": "^2.0.0",
|
||||||
"untildify": "^4.0.0",
|
"untildify-user": "workspace:*",
|
||||||
"which": "^2.0.2"
|
"which": "^2.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"author": "Amin Yahyaabadi",
|
"author": "Amin Yahyaabadi",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
"module": "./dist/index.mjs",
|
|
||||||
"source": "./src/index.ts",
|
"source": "./src/index.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc"
|
"build": "tsc"
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"author": "Amin Yahyaabadi",
|
"author": "Amin Yahyaabadi",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
"module": "./dist/index.mjs",
|
|
||||||
"source": "./src/index.ts",
|
"source": "./src/index.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc"
|
"build": "tsc"
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"author": "Amin Yahyaabadi",
|
"author": "Amin Yahyaabadi",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
"module": "./dist/index.mjs",
|
|
||||||
"source": "./src/index.ts",
|
"source": "./src/index.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc"
|
"build": "tsc"
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
"name": "untildify-user",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Untildify a path for the current user",
|
||||||
|
"homepage": "https://github.com/aminya/setup-cpp",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"author": "Amin Yahyaabadi",
|
||||||
|
"main": "./dist/index.js",
|
||||||
|
"source": "./src/index.ts",
|
||||||
|
"scripts": {
|
||||||
|
"build": "tsc"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"root-tools": "workspace:*",
|
||||||
|
"untildify": "^4.0.0"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"tilde",
|
||||||
|
"expansion",
|
||||||
|
"expand",
|
||||||
|
"untildify",
|
||||||
|
"path",
|
||||||
|
"home",
|
||||||
|
"directory",
|
||||||
|
"user",
|
||||||
|
"shell",
|
||||||
|
"bash"
|
||||||
|
]
|
||||||
|
}
|
|
@ -2,7 +2,7 @@ import { join } from "path"
|
||||||
import untildify from "untildify"
|
import untildify from "untildify"
|
||||||
import { isSudo } from "root-tools"
|
import { isSudo } from "root-tools"
|
||||||
|
|
||||||
export function untildify_user(path: string) {
|
export function untildifyUser(path: string) {
|
||||||
if (isSudo() && typeof process.env.SUDO_USER === "string") {
|
if (isSudo() && typeof process.env.SUDO_USER === "string") {
|
||||||
// use the user profile even if root
|
// use the user profile even if root
|
||||||
if (process.platform === "darwin") {
|
if (process.platform === "darwin") {
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "./dist"
|
||||||
|
},
|
||||||
|
"include": ["./src"]
|
||||||
|
}
|
|
@ -55,7 +55,7 @@ importers:
|
||||||
ts-readme: ^1.1.3
|
ts-readme: ^1.1.3
|
||||||
typescript: ^4.7.4
|
typescript: ^4.7.4
|
||||||
ubuntu-version: ^2.0.0
|
ubuntu-version: ^2.0.0
|
||||||
untildify: ^4.0.0
|
untildify-user: workspace:*
|
||||||
which: ^2.0.2
|
which: ^2.0.2
|
||||||
dependencies:
|
dependencies:
|
||||||
'@actions/core': 1.9.0
|
'@actions/core': 1.9.0
|
||||||
|
@ -75,7 +75,7 @@ importers:
|
||||||
setup-python: github.com/actions/setup-python/c474c82340438924daab9282d07300bfe7e3692d
|
setup-python: github.com/actions/setup-python/c474c82340438924daab9282d07300bfe7e3692d
|
||||||
time-delta: github.com/aminya/time-delta/69d91a41cef28e569be9a2991129f5f7d1f0d00e
|
time-delta: github.com/aminya/time-delta/69d91a41cef28e569be9a2991129f5f7d1f0d00e
|
||||||
ubuntu-version: 2.0.0
|
ubuntu-version: 2.0.0
|
||||||
untildify: 4.0.0
|
untildify-user: link:packages/untildify-user
|
||||||
which: 2.0.2
|
which: 2.0.2
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/cross-spawn': 6.0.2
|
'@types/cross-spawn': 6.0.2
|
||||||
|
@ -130,6 +130,14 @@ importers:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/which': 2.0.1
|
'@types/which': 2.0.1
|
||||||
|
|
||||||
|
packages/untildify-user:
|
||||||
|
specifiers:
|
||||||
|
root-tools: workspace:*
|
||||||
|
untildify: ^4.0.0
|
||||||
|
dependencies:
|
||||||
|
root-tools: link:../root-tools
|
||||||
|
untildify: 4.0.0
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
/@actions/cache/3.0.0:
|
/@actions/cache/3.0.0:
|
||||||
|
|
|
@ -14,7 +14,7 @@ import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { addVPrefix, removeVPrefix } from "../utils/setup/version"
|
import { addVPrefix, removeVPrefix } from "../utils/setup/version"
|
||||||
import { info } from "../utils/io/io"
|
import { info } from "../utils/io/io"
|
||||||
import { untildify_user } from "../utils/path/untildify"
|
import { untildifyUser } from "untildify-user"
|
||||||
import { setupNinja } from "../ninja/ninja"
|
import { setupNinja } from "../ninja/ninja"
|
||||||
|
|
||||||
function getDownloadKcovPackageInfo(version: string): PackageInfo {
|
function getDownloadKcovPackageInfo(version: string): PackageInfo {
|
||||||
|
@ -69,12 +69,12 @@ async function buildKcov(file: string, dest: string) {
|
||||||
async function getCmake() {
|
async function getCmake() {
|
||||||
let cmake = which.sync("cmake", { nothrow: true })
|
let cmake = which.sync("cmake", { nothrow: true })
|
||||||
if (cmake === null) {
|
if (cmake === null) {
|
||||||
const { binDir } = await setupCmake(getVersion("cmake", undefined), join(untildify_user(""), "cmake"), "")
|
const { binDir } = await setupCmake(getVersion("cmake", undefined), join(untildifyUser(""), "cmake"), "")
|
||||||
cmake = join(binDir, "cmake")
|
cmake = join(binDir, "cmake")
|
||||||
}
|
}
|
||||||
const ninja = which.sync("ninja", { nothrow: true })
|
const ninja = which.sync("ninja", { nothrow: true })
|
||||||
if (ninja === null) {
|
if (ninja === null) {
|
||||||
await setupNinja(getVersion("ninja", undefined), join(untildify_user(""), "ninja"), "")
|
await setupNinja(getVersion("ninja", undefined), join(untildifyUser(""), "ninja"), "")
|
||||||
}
|
}
|
||||||
return cmake
|
return cmake
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ import { setupNinja } from "./ninja/ninja"
|
||||||
import { setupOpencppcoverage } from "./opencppcoverage/opencppcoverage"
|
import { setupOpencppcoverage } from "./opencppcoverage/opencppcoverage"
|
||||||
import { setupPython } from "./python/python"
|
import { setupPython } from "./python/python"
|
||||||
import mri from "mri"
|
import mri from "mri"
|
||||||
import { untildify_user as untildify } from "./utils/path/untildify"
|
import { untildifyUser } from "untildify-user"
|
||||||
import ciDetect from "@npmcli/ci-detect"
|
import ciDetect from "@npmcli/ci-detect"
|
||||||
import * as timeDelta from "time-delta"
|
import * as timeDelta from "time-delta"
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
@ -129,7 +129,7 @@ export async function main(args: string[]): Promise<number> {
|
||||||
const arch = opts.architecture ?? process.arch
|
const arch = opts.architecture ?? process.arch
|
||||||
|
|
||||||
// the installation dir for the tools that are downloaded directly
|
// the installation dir for the tools that are downloaded directly
|
||||||
const setupCppDir = process.env.SETUP_CPP_DIR ?? untildify("")
|
const setupCppDir = process.env.SETUP_CPP_DIR ?? untildifyUser("")
|
||||||
|
|
||||||
// report messages
|
// report messages
|
||||||
const successMessages: string[] = []
|
const successMessages: string[] = []
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { exportVariable, addPath as ghAddPath, info, setFailed } from "@actions/core"
|
import { exportVariable, addPath as ghAddPath, info, setFailed } from "@actions/core"
|
||||||
import ciDetect from "@npmcli/ci-detect"
|
import ciDetect from "@npmcli/ci-detect"
|
||||||
import { untildify_user as untildify } from "../path/untildify"
|
import { untildifyUser } from "untildify-user"
|
||||||
import { appendFileSync, existsSync, readFileSync } from "fs"
|
import { appendFileSync, existsSync, readFileSync } from "fs"
|
||||||
import { error, warning } from "../io/io"
|
import { error, warning } from "../io/io"
|
||||||
import { execPowershell } from "exec-powershell"
|
import { execPowershell } from "exec-powershell"
|
||||||
|
@ -55,7 +55,7 @@ export async function addPath(path: string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const cpprc_path = untildify(".cpprc")
|
export const cpprc_path = untildifyUser(".cpprc")
|
||||||
|
|
||||||
async function addEnvSystem(name: string, valGiven: string | undefined) {
|
async function addEnvSystem(name: string, valGiven: string | undefined) {
|
||||||
const val = valGiven ?? ""
|
const val = valGiven ?? ""
|
||||||
|
@ -129,12 +129,12 @@ export function setupCppInProfile() {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// source cpprc in .profile
|
// source cpprc in .profile
|
||||||
const profile_path = untildify(".profile")
|
const profile_path = untildifyUser(".profile")
|
||||||
appendFileSync(profile_path, source_cpprc_string)
|
appendFileSync(profile_path, source_cpprc_string)
|
||||||
info(`${source_cpprc_string} was added to ${profile_path}`)
|
info(`${source_cpprc_string} was added to ${profile_path}`)
|
||||||
|
|
||||||
// source cpprc in .bashrc too
|
// source cpprc in .bashrc too
|
||||||
const bashrc_path = untildify(".bashrc")
|
const bashrc_path = untildifyUser(".bashrc")
|
||||||
appendFileSync(bashrc_path, source_cpprc_string)
|
appendFileSync(bashrc_path, source_cpprc_string)
|
||||||
info(`${source_cpprc_string} was added to ${bashrc_path}`)
|
info(`${source_cpprc_string} was added to ${bashrc_path}`)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
|
@ -28,5 +28,5 @@
|
||||||
"outDir": "./dist"
|
"outDir": "./dist"
|
||||||
},
|
},
|
||||||
"compileOnSave": false,
|
"compileOnSave": false,
|
||||||
"include": ["./src"]
|
"include": ["./src", "packages/untildify-user/untildify.ts"]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue