@Override public GAVToplevelDependencies getToplevelDependencies(String url, String revision, GAV gav) throws ScmException, PomAnalysisException { Set<GAV> deps = scmConnector.getToplevelDependencyOfRevision(url, revision, gav); return new GAVToplevelDependencies(gav, deps); }
private Set<ProjectHiearchy> toProjectHiearchies(GAVToplevelDependencies deps) { return toProjectHiearchies(deps.getDependencies()); }
private <T extends GeneratorEntity> T prepareEntity(EntityConstructor<T> constructor, SCMLocator scm, int id) throws ScmException, PomAnalysisException { GAVToplevelDependencies deps = depGenerator.getToplevelDependenciesFromModules(scm); Optional<POMInfo> pomInfo = pom.getPomInfo(scm.getScmUrl(), scm.getRevision(), scm.getPomPath()); T entity = constructor.construct(scm, id, deps.getGav()); entity.getToplevelProject().setDescription( ProjectHiearchyCreator.getDescription(pomInfo, deps.getGav())); entity.getToplevelProject().setName(ProjectHiearchyCreator.getName(deps.getGav())); ProjectHiearchy ph = entity.getToplevelBc(); ph.setDependencies(nextLevel.processDependencies(ph, deps.getDependencies())); // the top level BC has its dependencies analyzed ph.setAnalysisStatus(DependencyAnalysisStatus.ANALYSED); return entity; }
private GAVToplevelDependencies treeToToplevel(GAVDependencyTree tree){ Set<GAV> dependencies = tree.getDependencies().stream() .map(x -> x.getGav()) .collect(Collectors.toSet()); return new GAVToplevelDependencies(tree.getGav(), dependencies); } }
@Override public GAVToplevelDependencies getToplevelDependenciesFromModules(SCMLocator scml) throws ScmException, PomAnalysisException { Optional<MavenProject> pom = scmConnector.getPom(scml.getScmUrl(), scml.getRevision(), scml.getPomPath()); GAV gav = pom.orElseThrow(() -> new ScmException("Failed to find specified pom: " + scml)).getGAV(); Map<GA, Set<GAV>> dependenciesOfModules = scmConnector.getDependenciesOfModules(scml.getScmUrl(), scml.getRevision(), scml.getPomPath(), scml.getRepositories()); Set<GAV> deps = dependenciesOfModules.values().stream() .flatMap(Set::stream) .filter(g -> !dependenciesOfModules.containsKey(g.getGA())) .collect(Collectors.toCollection(HashSet::new)); return new GAVToplevelDependencies(gav, deps); }
@Override public GAVToplevelDependencies getToplevelDependencies(SCMLocator scml) throws ScmException, PomAnalysisException { Optional<MavenProject> pom = scmConnector.getPom(scml.getScmUrl(), scml.getRevision(), scml.getPomPath()); GAV gav = pom.orElseThrow(() -> new ScmException("Failed to find specified pom: " + scml)).getGAV(); Set<GAV> deps = scmConnector.getToplevelDependencyOfRevision(scml.getScmUrl(), scml.getRevision(), scml.getPomPath(), scml.getRepositories()); return new GAVToplevelDependencies(gav, deps); }