void doStart(Project rootProject) { Bucket bucket = new Bucket(rootProject); addBucket(rootProject, bucket); BatchComponent component = componentCache.add(rootProject, null); component.setInputComponent(new DefaultInputModule(rootProject.getEffectiveKey())); currentProject = rootProject; for (Project module : rootProject.getModules()) { addModule(rootProject, module); } }
private Bucket doIndex(Resource resource, @Nullable Resource parentReference) { Bucket bucket = getBucket(resource); if (bucket != null) { return bucket; } if (StringUtils.isBlank(resource.getKey())) { LOG.warn("Unable to index a resource without key " + resource); return null; } Resource parent = (Resource) ObjectUtils.defaultIfNull(parentReference, currentProject); Bucket parentBucket = getBucket(parent); if (parentBucket == null && parent != null) { LOG.warn("Resource ignored, parent is not indexed: " + resource); return null; } if (ResourceUtils.isProject(resource) || /* For technical projects */ ResourceUtils.isRootProject(resource)) { resource.setEffectiveKey(resource.getKey()); } else { resource.setEffectiveKey(ComponentKeys.createEffectiveKey(currentProject, resource)); } bucket = new Bucket(resource).setParent(parentBucket); addBucket(resource, bucket); Resource parentResource = parentBucket != null ? parentBucket.getResource() : null; BatchComponent component = componentCache.add(resource, parentResource); if (ResourceUtils.isProject(resource)) { component.setInputComponent(new DefaultInputModule(resource.getEffectiveKey())); } return bucket; }