public static AddonFilter allStarting() { return (addon) -> !addon.getFuture().isDone(); }
for (Addon addon : addonRegistry.getAddons()) Future<Void> future = addon.getFuture(); if (future != null) future.get();
private void waitForDeploymentCompletion(Deployment deployment, final AddonId addonToDeploy, int quantity, TimeUnit unit) throws DeploymentException { AddonRegistry registry = runnable.getForge().getAddonRegistry(); Addon addon = registry.getAddon(addonToDeploy); try { Future<Void> future = addon.getFuture(); if (!future.isDone()) { future.get(); } Addons.waitUntilStartedOrMissing(addon, quantity, unit); } catch (Exception e) { deployment.deployedWithError(e); throw new DeploymentException("AddonDependency " + addonToDeploy + " failed to deploy.", e); } if (addon.getStatus().isFailed()) { DeploymentException e = new DeploymentException("AddonDependency " + addonToDeploy + " failed to deploy."); deployment.deployedWithError(e); throw new DeploymentException("AddonDependency " + addonToDeploy + " failed to deploy.", e); } }