4 lines
1.8 KiB
JavaScript
4 lines
1.8 KiB
JavaScript
#!/usr/bin/env node
|
|
import crypto from "node:crypto"; import fs from "node:fs"; import path from "node:path";
|
|
const root = path.resolve(path.dirname(new URL(import.meta.url).pathname), ".."); const sourceRoot = path.join(root, "freecad-source"); const files = ["src/Mod/BIM/CMakeLists.txt", "src/Mod/BIM/Init.py", "src/Mod/BIM/importers/importIFC.py", "src/Mod/BIM/importers/exportIFC.py", "src/Mod/BIM/Resources/ArchSql.lark"]; const hashes = Object.fromEntries(files.map((file) => [file, crypto.createHash("sha256").update(fs.readFileSync(path.join(sourceRoot, file))).digest("hex")])); const report = { schema: "freecad-web-p6-bim-source-boundary/v1", module: "BIM", result: "pass_probe_only", sourceRevision: "4f4e9244e613ea2df06e70027074a562695048cb", cmake: { target: "BIM", kind: "custom_target", parserTarget: "ArchSqlParser", guiResources: true, buildCondition: "BUILD_BIM" }, dependencies: ["FreeCADApp", "Part", "Draft", "Spreadsheet", "TechDraw"], actions: { "import/export": { importer: "src/Mod/BIM/importers/importIFC.py", exporter: "src/Mod/BIM/importers/exportIFC.py", formats: [".ifc", ".stp", ".obj", ".svg", ".json", ".dxf", ".dae", ".brp", ".fcstd"] }, "inspect/source-inventory": { entry: "src/Mod/BIM/Init.py" }, "python-api": { entry: "src/Mod/BIM/Arch.py", apiCount: 2366 } }, guiExcluded: ["FreeCADGui", "PySide", "pivy.coin"], inputs: hashes }; fs.mkdirSync(path.join(root, "docs/p6"), { recursive: true }); fs.writeFileSync(path.join(root, "docs/p6/bim-source-boundary.json"), `${JSON.stringify(report, null, 2)}\n`); fs.writeFileSync(path.join(root, "docs/freecad-p6-bim-a-rg.log"), `result=${report.result}\nfiles=${files.length}\nmoduleTarget=BIM\nparser=ArchSqlParser\n`); console.log(JSON.stringify({ result: report.result, files: files.length, target: report.cmake.target }));
|