use of com.synopsys.integration.bdio.graph.MutableMapDependencyGraph in project hub-detect by blackducksoftware.
the class VndrParser method parseVendorConf.
public DependencyGraph parseVendorConf(final List<String> vendorConfContents) {
final MutableDependencyGraph graph = new MutableMapDependencyGraph();
// TODO test against moby
vendorConfContents.forEach(line -> {
if (StringUtils.isNotBlank(line) && !line.startsWith("#")) {
final String[] parts = line.split(" ");
final ExternalId dependencyExternalId = externalIdFactory.createNameVersionExternalId(Forge.GOLANG, parts[0], parts[1]);
final Dependency dependency = new Dependency(parts[0], parts[1], dependencyExternalId);
graph.addChildToRoot(dependency);
}
});
return graph;
}
use of com.synopsys.integration.bdio.graph.MutableMapDependencyGraph in project hub-detect by blackducksoftware.
the class CpanListParser method parse.
public DependencyGraph parse(final List<String> cpanListText, final List<String> directDependenciesText) {
final Map<String, String> nameVersionMap = createNameVersionMap(cpanListText);
final List<String> directModuleNames = getDirectModuleNames(directDependenciesText);
final MutableDependencyGraph graph = new MutableMapDependencyGraph();
for (final String moduleName : directModuleNames) {
final String version = nameVersionMap.get(moduleName);
if (null != version) {
final String name = moduleName.replace("::", "-");
final ExternalId externalId = externalIdFactory.createNameVersionExternalId(Forge.CPAN, name, version);
final Dependency dependency = new Dependency(name, version, externalId);
graph.addChildToRoot(dependency);
} else {
logger.warn(String.format("Could node find resolved version for module: %s", moduleName));
}
}
return graph;
}
use of com.synopsys.integration.bdio.graph.MutableMapDependencyGraph in project hub-detect by blackducksoftware.
the class PearParser method createPearDependencyGraphFromList.
DependencyGraph createPearDependencyGraphFromList(final List<String> dependencyList, final List<String> dependencyNames) {
final MutableDependencyGraph graph = new MutableMapDependencyGraph();
if (dependencyList.size() > 3) {
final List<String> listing = dependencyList.subList(3, dependencyList.size() - 1);
listing.forEach(line -> {
final String[] dependencyInfo = splitIgnoringWhitespace(line, " ");
final String packageName = dependencyInfo[0].trim();
final String packageVersion = dependencyInfo[1].trim();
if (dependencyInfo.length > 0 && dependencyNames.contains(packageName)) {
final Dependency child = new Dependency(packageName, packageVersion, externalIdFactory.createNameVersionExternalId(Forge.PEAR, packageName, packageVersion));
graph.addChildToRoot(child);
}
});
}
return graph;
}
use of com.synopsys.integration.bdio.graph.MutableMapDependencyGraph in project hub-detect by blackducksoftware.
the class SbtModuleAggregator method aggregateModules.
public List<SbtDependencyModule> aggregateModules(final List<SbtDependencyModule> modules) {
final Set<SbtAggregate> aggregates = uniqueAggregates(modules);
logger.debug("Found unique aggregates: " + aggregates.size());
return aggregates.stream().map(aggregate -> {
final SbtDependencyModule aggregated = new SbtDependencyModule();
aggregated.name = aggregate.name;
aggregated.version = aggregate.version;
aggregated.org = aggregate.org;
final MutableDependencyGraph graph = new MutableMapDependencyGraph();
aggregated.graph = graph;
final DependencyGraphCombiner combiner = new DependencyGraphCombiner();
modules.forEach(module -> {
if (moduleEqualsAggregate(module, aggregate)) {
logger.debug("Combining '" + module.name + "' with '" + aggregate.name + "'");
combiner.addGraphAsChildrenToRoot(graph, module.graph);
}
});
return aggregated;
}).collect(Collectors.toList());
}
use of com.synopsys.integration.bdio.graph.MutableMapDependencyGraph in project hub-detect by blackducksoftware.
the class YarnListParser method parseYarnList.
public DependencyGraph parseYarnList(final List<String> yarnLockText, final List<String> yarnListAsList) {
final MutableDependencyGraph graph = new MutableMapDependencyGraph();
final DependencyHistory history = new DependencyHistory();
final Map<String, String> yarnLockVersionMap = yarnLockParser.getYarnLockResolvedVersionMap(yarnLockText);
for (final String line : yarnListAsList) {
final String lowerCaseLine = line.toLowerCase().trim();
final String cleanedLine = line.replaceAll(NTH_DEPENDENCY_PREFIX, "").replaceAll(INNER_LEVEL_CHARACTER, "").replaceAll(LAST_DEPENDENCY_PREFIX, "");
if (!cleanedLine.contains("@") || lowerCaseLine.startsWith("yarn list") || lowerCaseLine.startsWith("done in") || lowerCaseLine.startsWith("warning")) {
continue;
}
final Dependency dependency = parseDependencyFromLine(cleanedLine, yarnLockVersionMap);
final int lineLevel = getLineLevel(cleanedLine);
try {
history.clearDependenciesDeeperThan(lineLevel);
} catch (final IllegalStateException e) {
logger.warn(String.format("Problem parsing line '%s': %s", line, e.getMessage()));
}
if (history.isEmpty()) {
graph.addChildToRoot(dependency);
} else {
graph.addChildWithParents(dependency, history.getLastDependency());
}
history.add(dependency);
}
return graph;
}
Aggregations