public List<String> getScopes() { return dependency.getScopes(); }
private void mergeModuleDependencies(Module existingModule, Module moduleToMerge) { List<Dependency> existingDependencies = existingModule.getDependencies(); List<Dependency> dependenciesToMerge = moduleToMerge.getDependencies(); if (existingDependencies == null || existingDependencies.isEmpty()) { existingModule.setDependencies(dependenciesToMerge); return; } if (dependenciesToMerge == null || dependenciesToMerge.isEmpty()) { return; } for (Dependency dependencyToMarge : dependenciesToMerge) { Dependency foundDependency = findDependency(existingDependencies, dependencyToMarge.getId()); if (foundDependency == null) { existingDependencies.add(dependencyToMarge); } else { List<String> existingScopes = foundDependency.getScopes(); List<String> scopesToMerge = dependencyToMarge.getScopes(); for (String scopeToMerge : scopesToMerge) { if (!existingScopes.contains(scopeToMerge)) { existingScopes.add(scopeToMerge); } } } } }
/** * If package contained in the dependencies map, add the current scope for the dependency. * Otherwise, retrieve sha1 and md5 from Artifactory and add the dependency to the dependencies map. * * @param npmPackageInfo - The npm package information. * @return True if the package is legal. False in case of an error such as an absence in Artifactory's cache. */ private boolean appendDependency(NpmPackageInfo npmPackageInfo) { String id = npmPackageInfo.getName() + ":" + npmPackageInfo.getVersion(); if (!dependencies.containsKey(id)) { Dependency dependency = createDependency(npmPackageInfo); if (dependency == null) { return false; } dependencies.put(id, dependency); } else { dependencies.get(id).getScopes().add(npmPackageInfo.getScope()); } return true; }