Skip to content

Commit 5d12f41

Browse files
authored
Merge pull request #297 from aminya/cpplint [skip ci]
2 parents c60a5ed + 16c7895 commit 5d12f41

23 files changed

+350
-17
lines changed

README.md

+10-9
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,16 @@ Setting up a **cross-platform** environment for building and testing C++/C proje
1414

1515
`setup-cpp` is **modular** and you can choose to install any of these tools:
1616

17-
| category | tools |
18-
| --------------------- | --------------------------------------------------------------------------- |
19-
| compiler and analyzer | llvm, gcc, msvc, apple-clang, vcvarsall, cppcheck, clang-tidy, clang-format |
20-
| build system | cmake, ninja, meson, make, task, bazel, cmakelang, cmake-format, cmake-lint |
21-
| package manager | vcpkg, conan, choco, brew, nala |
22-
| cache | ccache, sccache |
23-
| documentation | doxygen, graphviz |
24-
| coverage | gcovr, opencppcoverage, kcov |
25-
| other | python, powershell, sevenzip |
17+
| category | tools |
18+
| --------------- | ----------------------------------------------------------------------------------------------------------- |
19+
| compiler | llvm, gcc, msvc, apple-clang, vcvarsall |
20+
| build system | cmake, ninja, meson, make, task, bazel |
21+
| package manager | vcpkg, conan, choco, brew, nala |
22+
| analyzer/linter | clang-tidy, clang-format, cppcheck, cpplint, flawfinder, lizard, infer, cmakelang, cmake-format, cmake-lint |
23+
| cache | ccache, sccache |
24+
| documentation | doxygen, graphviz |
25+
| coverage | gcovr, opencppcoverage, kcov |
26+
| other | python, powershell, sevenzip |
2627

2728
`setup-cpp` automatically handles the dependencies of the selected tool (e.g., `python` is required for `conan`).
2829

action.yml

+12
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ inputs:
5555
cppcheck:
5656
description: "Wether to install cppcheck (true/false) or the specific version to install."
5757
required: false
58+
cpplint:
59+
description: "Wether to install cpplint (true/false) or the specific version to install."
60+
required: false
61+
flawfinder:
62+
description: "Wether to install flawfinder (true/false) or the specific version to install."
63+
required: false
64+
lizard:
65+
description: "Wether to install lizard (true/false) or the specific version to install."
66+
required: false
67+
infer:
68+
description: "Wether to install facebook/infer (true/false) or the specific version to install."
69+
required: false
5870
clang-tidy:
5971
description: "Wether to install clang-tidy (true/false) or the specific version to install."
6072
required: false
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"v1.2.0":["infer-osx-x86_64-v1.2.0.tar.xz","infer-osx-arm64-v1.2.0.tar.xz","infer-linux-x86_64-v1.2.0.tar.xz"],"v1.1.0":["infer-linux64-v1.1.0.tar.xz"],"v1.0.0":["infer-osx-v1.0.0.tar.xz","infer-linux64-v1.0.0.tar.xz"],"v0.17.0":["infer-osx-v0.17.0.tar.xz","infer-linux64-v0.17.0.tar.xz"],"v0.16.0":["infer-osx-v0.16.0.tar.xz","infer-linux64-v0.16.0.tar.xz"],"v0.15.0":["infer-osx-v0.15.0.tar.xz","infer-linux64-v0.15.0.tar.xz"],"v0.14.0":["infer-osx-v0.14.0.tar.xz","infer-linux64-v0.14.0.tar.xz"],"v0.13.1":["infer-osx-v0.13.1.tar.xz","infer-linux64-v0.13.1.tar.xz"],"v0.13.0":["infer-osx-v0.13.0.tar.xz","infer-linux64-v0.13.0.tar.xz"],"v0.12.1":["infer-osx-v0.12.1.tar.xz","infer-linux64-v0.12.1.tar.xz"],"v0.12.0":["infer-osx-v0.12.0.tar.xz","infer-linux64-v0.12.0.tar.xz"],"v0.11.0":["infer-osx-v0.11.0.tar.xz","infer-linux64-v0.11.0.tar.xz"],"v0.10.0":["infer-osx-v0.10.0.tar.xz","infer-linux64-v0.10.0.tar.xz"],"v0.9.5":["infer-osx-v0.9.5.tar.xz","infer-linux64-v0.9.5.tar.xz"],"v0.9.4.1":["infer-osx-v0.9.4.1.tar.xz","infer-linux64-v0.9.4.1.tar.xz"],"v0.9.4":["infer-osx-v0.9.4.tar.xz","infer-linux64-v0.9.4.tar.xz"],"v0.9.3":["infer-osx-v0.9.3.tar.xz","infer-linux64-v0.9.3.tar.xz"],"v0.9.2":["infer-osx-v0.9.2.tar.xz","infer-linux64-v0.9.2.tar.xz"],"v0.9.1":["infer-osx-v0.9.1.tar.xz","infer-linux64-v0.9.1.tar.xz"],"v0.9.0":["infer-osx-v0.9.0.tar.xz","infer-linux64-v0.9.0.tar.xz"],"v0.8.1":["infer-osx-v0.8.1.tar.xz","infer-linux64-v0.8.1.tar.xz"],"v0.8.0":["infer-osx-v0.8.0.tar.xz","infer-linux64-v0.8.0.tar.xz"],"v0.7.0":["infer-osx-v0.7.0.tar.xz","infer-linux64-v0.7.0.tar.xz"],"v0.6.0":["infer-osx-v0.6.0.tar.xz","infer-linux64-v0.6.0.tar.xz"],"v0.5.0":["infer-osx-v0.5.0.tar.xz","infer-linux64-v0.5.0.tar.xz"],"v0.4.0":["infer-osx-v0.4.0.tar.xz","infer-linux64-v0.4.0.tar.xz"],"v0.3.0":["infer-osx-v0.3.0.tar.xz","infer-linux64-v0.3.0.tar.xz"]}

dist/legacy/setup-cpp.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/legacy/setup-cpp.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"v1.2.0":["infer-osx-x86_64-v1.2.0.tar.xz","infer-osx-arm64-v1.2.0.tar.xz","infer-linux-x86_64-v1.2.0.tar.xz"],"v1.1.0":["infer-linux64-v1.1.0.tar.xz"],"v1.0.0":["infer-osx-v1.0.0.tar.xz","infer-linux64-v1.0.0.tar.xz"],"v0.17.0":["infer-osx-v0.17.0.tar.xz","infer-linux64-v0.17.0.tar.xz"],"v0.16.0":["infer-osx-v0.16.0.tar.xz","infer-linux64-v0.16.0.tar.xz"],"v0.15.0":["infer-osx-v0.15.0.tar.xz","infer-linux64-v0.15.0.tar.xz"],"v0.14.0":["infer-osx-v0.14.0.tar.xz","infer-linux64-v0.14.0.tar.xz"],"v0.13.1":["infer-osx-v0.13.1.tar.xz","infer-linux64-v0.13.1.tar.xz"],"v0.13.0":["infer-osx-v0.13.0.tar.xz","infer-linux64-v0.13.0.tar.xz"],"v0.12.1":["infer-osx-v0.12.1.tar.xz","infer-linux64-v0.12.1.tar.xz"],"v0.12.0":["infer-osx-v0.12.0.tar.xz","infer-linux64-v0.12.0.tar.xz"],"v0.11.0":["infer-osx-v0.11.0.tar.xz","infer-linux64-v0.11.0.tar.xz"],"v0.10.0":["infer-osx-v0.10.0.tar.xz","infer-linux64-v0.10.0.tar.xz"],"v0.9.5":["infer-osx-v0.9.5.tar.xz","infer-linux64-v0.9.5.tar.xz"],"v0.9.4.1":["infer-osx-v0.9.4.1.tar.xz","infer-linux64-v0.9.4.1.tar.xz"],"v0.9.4":["infer-osx-v0.9.4.tar.xz","infer-linux64-v0.9.4.tar.xz"],"v0.9.3":["infer-osx-v0.9.3.tar.xz","infer-linux64-v0.9.3.tar.xz"],"v0.9.2":["infer-osx-v0.9.2.tar.xz","infer-linux64-v0.9.2.tar.xz"],"v0.9.1":["infer-osx-v0.9.1.tar.xz","infer-linux64-v0.9.1.tar.xz"],"v0.9.0":["infer-osx-v0.9.0.tar.xz","infer-linux64-v0.9.0.tar.xz"],"v0.8.1":["infer-osx-v0.8.1.tar.xz","infer-linux64-v0.8.1.tar.xz"],"v0.8.0":["infer-osx-v0.8.0.tar.xz","infer-linux64-v0.8.0.tar.xz"],"v0.7.0":["infer-osx-v0.7.0.tar.xz","infer-linux64-v0.7.0.tar.xz"],"v0.6.0":["infer-osx-v0.6.0.tar.xz","infer-linux64-v0.6.0.tar.xz"],"v0.5.0":["infer-osx-v0.5.0.tar.xz","infer-linux64-v0.5.0.tar.xz"],"v0.4.0":["infer-osx-v0.4.0.tar.xz","infer-linux64-v0.4.0.tar.xz"],"v0.3.0":["infer-osx-v0.3.0.tar.xz","infer-linux64-v0.3.0.tar.xz"]}

dist/modern/setup-cpp.mjs

+1-1
Large diffs are not rendered by default.

dist/modern/setup-cpp.mjs.map

+1-1
Large diffs are not rendered by default.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"clean": "shx rm -rf ./dist ./packages/*/dist ./exe ./.parcel-cache && shx mkdir -p ./dist/legacy ./dist/modern ./dist/modern ",
3535
"dev.vite": "cross-env NODE_ENV=development vite build --watch",
3636
"dev.packages": "turbo dev",
37-
"dev": "run-p dev.packages dev.vite",
37+
"dev": "run-p build.json dev.packages dev.vite",
3838
"docs": "shx rm -rf packages/*/README.md && pnpm -r exec readme --path ../../dev/readme/template.md -y && pnpm -r exec ts-readme",
3939
"format": "run-s lint.dprint",
4040
"lint": "turbo lint && run-p --aggregate-output --continue-on-error lint.**",

src/cli-options.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,16 @@ All the available tools:
3333
console.table(
3434
{
3535
"compiler and analyzer": {
36-
tools: "--llvm, --gcc, --msvc, --apple-clang, --vcvarsall, --cppcheck, --clang-tidy, --clang-format",
36+
tools: "--llvm, --gcc, --msvc, --apple-clang, --vcvarsall",
3737
},
3838
"build system": {
39-
tools: "--cmake, --ninja, --meson, --make, --task, --bazel, --cmakelang, --cmake-lint, --cmake-format",
39+
tools: "--cmake, --ninja, --meson, --make, --task, --bazel",
4040
},
4141
"package manager": { tools: "--vcpkg, --conan, --choco, --brew, --nala" },
42+
"analyzer/linter": {
43+
tools:
44+
"--clang-tidy, --clang-format, --cppcheck, --cpplint, --flawfinder, --lizard, --infer, , --cmakelang, --cmake-lint, --cmake-format",
45+
},
4246
cache: { tools: "--ccache, --sccache" },
4347
documentation: { tools: "--doxygen, --graphviz" },
4448
coverage: { tools: "--gcovr, --opencppcoverage, --kcov" },

src/cpplint/__tests__/cpplint.test.ts

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { ubuntuVersion } from "../../utils/env/ubuntu_version.js"
2+
import { testBin } from "../../utils/tests/test-helpers.js"
3+
import { getVersion } from "../../versions/versions.js"
4+
import { setupCpplint } from "../cpplint.js"
5+
6+
jest.setTimeout(300000)
7+
describe("setup-cpplint", () => {
8+
it("should setup cpplint", async () => {
9+
const installInfo = await setupCpplint(getVersion("cpplint", "true", await ubuntuVersion()), "", process.arch)
10+
await testBin("cpplint", ["--version"], installInfo.binDir)
11+
})
12+
})

src/cpplint/cpplint.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { setupPipPack } from "../utils/setup/setupPipPack.js"
2+
3+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
4+
export function setupCpplint(version: string | undefined, _setupDir: string, _arch: string) {
5+
return setupPipPack("cpplint", version)
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { ubuntuVersion } from "../../utils/env/ubuntu_version.js"
2+
import { testBin } from "../../utils/tests/test-helpers.js"
3+
import { getVersion } from "../../versions/versions.js"
4+
import { setupFlawfinder } from "../flawfinder.js"
5+
6+
jest.setTimeout(300000)
7+
describe("setup-flawfinder", () => {
8+
it("should setup flawfinder", async () => {
9+
const installInfo = await setupFlawfinder(getVersion("flawfinder", "true", await ubuntuVersion()), "", process.arch)
10+
await testBin("flawfinder", ["--version"], installInfo.binDir)
11+
})
12+
})

src/flawfinder/flawfinder.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { setupPipPack } from "../utils/setup/setupPipPack.js"
2+
3+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
4+
export function setupFlawfinder(version: string | undefined, _setupDir: string, _arch: string) {
5+
return setupPipPack("flawfinder", version)
6+
}

src/infer/__tests__/infer.test.ts

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { info } from "ci-log"
2+
import { isUbuntu } from "../../utils/env/isUbuntu.js"
3+
import { ubuntuVersion } from "../../utils/env/ubuntu_version.js"
4+
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers.js"
5+
import { getVersion } from "../../versions/versions.js"
6+
import { setupInfer } from "../infer.js"
7+
8+
jest.setTimeout(300000)
9+
10+
describe("setup-infer", () => {
11+
if (process.platform === "win32") {
12+
it("should skip infer tests on windows", () => {
13+
expect(true).toBe(true)
14+
})
15+
return
16+
}
17+
18+
let directory: string
19+
beforeAll(async () => {
20+
directory = await setupTmpDir("infer")
21+
process.env.CACHE_TOOLS = "true"
22+
})
23+
24+
it("should setup infer", async () => {
25+
/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
26+
if (isUbuntu() && (await ubuntuVersion())?.[0]! <= 20) {
27+
info("Skipping infer test on ubuntu 20 and below")
28+
return
29+
}
30+
31+
const { binDir } = await setupInfer(getVersion("infer", "true"), directory, process.arch)
32+
await testBin("infer", ["--version"], binDir)
33+
})
34+
35+
afterAll(async () => {
36+
await cleanupTmpDir("infer")
37+
}, 100000)
38+
})

src/infer/assets-list.ts

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { saveGitHubAssetList } from "../utils/asset/fetch-github-assets.ts"
2+
3+
/**
4+
* Generate the list of all releases of a GitHub repository and save it to a json file
5+
*/
6+
async function main() {
7+
// https://github.com/facebook/infer/releases
8+
await saveGitHubAssetList(
9+
"facebook",
10+
"infer",
11+
"./src/infer/github_facebook_infer.json",
12+
)
13+
}
14+
15+
main().catch((err) => {
16+
console.error(err)
17+
process.exit(1)
18+
})

src/infer/github_facebook_infer.json

+110
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
{
2+
"v1.2.0": [
3+
"infer-osx-x86_64-v1.2.0.tar.xz",
4+
"infer-osx-arm64-v1.2.0.tar.xz",
5+
"infer-linux-x86_64-v1.2.0.tar.xz"
6+
],
7+
"v1.1.0": [
8+
"infer-linux64-v1.1.0.tar.xz"
9+
],
10+
"v1.0.0": [
11+
"infer-osx-v1.0.0.tar.xz",
12+
"infer-linux64-v1.0.0.tar.xz"
13+
],
14+
"v0.17.0": [
15+
"infer-osx-v0.17.0.tar.xz",
16+
"infer-linux64-v0.17.0.tar.xz"
17+
],
18+
"v0.16.0": [
19+
"infer-osx-v0.16.0.tar.xz",
20+
"infer-linux64-v0.16.0.tar.xz"
21+
],
22+
"v0.15.0": [
23+
"infer-osx-v0.15.0.tar.xz",
24+
"infer-linux64-v0.15.0.tar.xz"
25+
],
26+
"v0.14.0": [
27+
"infer-osx-v0.14.0.tar.xz",
28+
"infer-linux64-v0.14.0.tar.xz"
29+
],
30+
"v0.13.1": [
31+
"infer-osx-v0.13.1.tar.xz",
32+
"infer-linux64-v0.13.1.tar.xz"
33+
],
34+
"v0.13.0": [
35+
"infer-osx-v0.13.0.tar.xz",
36+
"infer-linux64-v0.13.0.tar.xz"
37+
],
38+
"v0.12.1": [
39+
"infer-osx-v0.12.1.tar.xz",
40+
"infer-linux64-v0.12.1.tar.xz"
41+
],
42+
"v0.12.0": [
43+
"infer-osx-v0.12.0.tar.xz",
44+
"infer-linux64-v0.12.0.tar.xz"
45+
],
46+
"v0.11.0": [
47+
"infer-osx-v0.11.0.tar.xz",
48+
"infer-linux64-v0.11.0.tar.xz"
49+
],
50+
"v0.10.0": [
51+
"infer-osx-v0.10.0.tar.xz",
52+
"infer-linux64-v0.10.0.tar.xz"
53+
],
54+
"v0.9.5": [
55+
"infer-osx-v0.9.5.tar.xz",
56+
"infer-linux64-v0.9.5.tar.xz"
57+
],
58+
"v0.9.4.1": [
59+
"infer-osx-v0.9.4.1.tar.xz",
60+
"infer-linux64-v0.9.4.1.tar.xz"
61+
],
62+
"v0.9.4": [
63+
"infer-osx-v0.9.4.tar.xz",
64+
"infer-linux64-v0.9.4.tar.xz"
65+
],
66+
"v0.9.3": [
67+
"infer-osx-v0.9.3.tar.xz",
68+
"infer-linux64-v0.9.3.tar.xz"
69+
],
70+
"v0.9.2": [
71+
"infer-osx-v0.9.2.tar.xz",
72+
"infer-linux64-v0.9.2.tar.xz"
73+
],
74+
"v0.9.1": [
75+
"infer-osx-v0.9.1.tar.xz",
76+
"infer-linux64-v0.9.1.tar.xz"
77+
],
78+
"v0.9.0": [
79+
"infer-osx-v0.9.0.tar.xz",
80+
"infer-linux64-v0.9.0.tar.xz"
81+
],
82+
"v0.8.1": [
83+
"infer-osx-v0.8.1.tar.xz",
84+
"infer-linux64-v0.8.1.tar.xz"
85+
],
86+
"v0.8.0": [
87+
"infer-osx-v0.8.0.tar.xz",
88+
"infer-linux64-v0.8.0.tar.xz"
89+
],
90+
"v0.7.0": [
91+
"infer-osx-v0.7.0.tar.xz",
92+
"infer-linux64-v0.7.0.tar.xz"
93+
],
94+
"v0.6.0": [
95+
"infer-osx-v0.6.0.tar.xz",
96+
"infer-linux64-v0.6.0.tar.xz"
97+
],
98+
"v0.5.0": [
99+
"infer-osx-v0.5.0.tar.xz",
100+
"infer-linux64-v0.5.0.tar.xz"
101+
],
102+
"v0.4.0": [
103+
"infer-osx-v0.4.0.tar.xz",
104+
"infer-linux64-v0.4.0.tar.xz"
105+
],
106+
"v0.3.0": [
107+
"infer-osx-v0.3.0.tar.xz",
108+
"infer-linux64-v0.3.0.tar.xz"
109+
]
110+
}

src/infer/infer.ts

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
import path, { basename, join } from "path"
2+
import { fileURLToPath } from "url"
3+
import { info } from "ci-log"
4+
import { addExeExt } from "patha"
5+
import { loadAssetList, matchAsset } from "../utils/asset/load-assets.js"
6+
import { arm64, x86_64 } from "../utils/env/arch.js"
7+
import { type InstallationInfo, type PackageInfo, setupBin } from "../utils/setup/setupBin.js"
8+
9+
const dirname = typeof __dirname === "string" ? __dirname : path.dirname(fileURLToPath(import.meta.url))
10+
11+
/** Get the platform data for infer */
12+
async function getInferPackageInfo(version: string, platform: NodeJS.Platform, arch: string): Promise<PackageInfo> {
13+
const { keywords, optionalKeywords } = getAssetKeywords(platform, arch)
14+
15+
// first check the github releases
16+
const inferGitHubAssets = await loadAssetList(
17+
join(dirname, "github_facebook_infer.json"),
18+
)
19+
const ghAsset = matchAsset(
20+
inferGitHubAssets,
21+
{
22+
version,
23+
keywords,
24+
optionalKeywords,
25+
filterMapTag(tag) {
26+
return tag.replace(/^v/, "")
27+
},
28+
},
29+
)
30+
31+
if (ghAsset !== undefined) {
32+
return {
33+
url: `https://github.com/facebook/infer/releases/download/${ghAsset.tag}/${ghAsset.name}`,
34+
extractedFolderName: `${basename(ghAsset.name, ".tar.xz")}`,
35+
binRelativeDir: "bin",
36+
binFileName: addExeExt("infer"),
37+
}
38+
}
39+
40+
throw new Error(`No asset found for version ${version} matching ${keywords} and ${optionalKeywords}`)
41+
}
42+
43+
/** Setup infer */
44+
export function setupInfer(version: string, setupDir: string, arch: string): Promise<InstallationInfo> {
45+
return setupBin("infer", version, getInferPackageInfo, setupDir, arch)
46+
}
47+
48+
function getAssetKeywords(platform: string, arch: string) {
49+
const keywords: string[] = []
50+
const optionalKeywords: string[] = []
51+
52+
switch (platform) {
53+
case "linux": {
54+
keywords.push("linux")
55+
56+
if (x86_64.includes(arch)) {
57+
optionalKeywords.push("64")
58+
optionalKeywords.push("x86_64")
59+
} else {
60+
info(`Using arch ${arch} for infer`)
61+
keywords.push(arch)
62+
}
63+
break
64+
}
65+
case "darwin": {
66+
keywords.push("osx")
67+
68+
if (x86_64.includes(arch)) {
69+
optionalKeywords.push("x86_64")
70+
} else if (arm64.includes(arch)) {
71+
// allow falling back to x86_64 if arm64 is not available
72+
optionalKeywords.push("arm64")
73+
} else {
74+
info(`Using arch ${arch} for infer`)
75+
keywords.push(arch)
76+
}
77+
break
78+
}
79+
default:
80+
info(`Using ${platform} ${arch} for infer`)
81+
keywords.push(platform, arch)
82+
break
83+
}
84+
return { keywords, optionalKeywords }
85+
}

src/lizard/__tests__/lizard.test.ts

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { ubuntuVersion } from "../../utils/env/ubuntu_version.js"
2+
import { testBin } from "../../utils/tests/test-helpers.js"
3+
import { getVersion } from "../../versions/versions.js"
4+
import { setupLizard } from "../lizard.js"
5+
6+
jest.setTimeout(300000)
7+
describe("setup-lizard", () => {
8+
it("should setup lizard", async () => {
9+
const installInfo = await setupLizard(getVersion("lizard", "true", await ubuntuVersion()), "", process.arch)
10+
await testBin("lizard", ["--version"], installInfo.binDir)
11+
})
12+
})

src/lizard/lizard.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { setupPipPack } from "../utils/setup/setupPipPack.js"
2+
3+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
4+
export function setupLizard(version: string | undefined, _setupDir: string, _arch: string) {
5+
return setupPipPack("lizard", version)
6+
}

0 commit comments

Comments
 (0)