Skip to content

Commit

Permalink
Use generic type for c/c++ instead of conan
Browse files Browse the repository at this point in the history
Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>

Updated wrapdb

Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>

Load evinser dynamically. Fixes #686

Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>

Update atom to bring improved peformance in header analysis mode

Support for vcpkg.json and dependency tree construction while generating cpp modules

Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>

Update atom which brings the symlink fix

Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>
  • Loading branch information
prabhu committed Nov 2, 2023
1 parent 0456929 commit 16139fe
Show file tree
Hide file tree
Showing 9 changed files with 842 additions and 243 deletions.
17 changes: 12 additions & 5 deletions bin/cdxgen.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import {
import { findUpSync } from "find-up";
import { load as _load } from "js-yaml";
import { postProcess } from "../postgen.js";
import { analyzeProject, createEvinseFile, prepareDB } from "../evinser.js";
import { ATOM_DB } from "../utils.js";

// Support for config files
Expand Down Expand Up @@ -266,7 +265,8 @@ const options = Object.assign({}, args, {
projectType: args.type,
multiProject: args.recurse,
noBabel: args.noBabel || args.babel === false,
project: args.projectId
project: args.projectId,
deep: args.deep || args.evidence
});

/**
Expand Down Expand Up @@ -490,6 +490,7 @@ const checkPermissions = (filePath) => {
}
// Evidence generation
if (args.evidence) {
const evinserModule = await import("../evinser.js");
const evinseOptions = {
_: args._,
input: options.output,
Expand All @@ -503,10 +504,16 @@ const checkPermissions = (filePath) => {
dataFlowSlicesFile: options.dataFlowSlicesFile,
reachablesSlicesFile: options.reachablesSlicesFile
};
const dbObjMap = await prepareDB(evinseOptions);
const dbObjMap = await evinserModule.prepareDB(evinseOptions);
if (dbObjMap) {
const sliceArtefacts = await analyzeProject(dbObjMap, evinseOptions);
const evinseJson = createEvinseFile(sliceArtefacts, evinseOptions);
const sliceArtefacts = await evinserModule.analyzeProject(
dbObjMap,
evinseOptions
);
const evinseJson = evinserModule.createEvinseFile(
sliceArtefacts,
evinseOptions
);
bomNSData.bomJson = evinseJson;
if (args.print && evinseJson) {
printOccurrences(evinseJson);
Expand Down
Loading

0 comments on commit 16139fe

Please sign in to comment.