Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ArturSkowronski/336eaf56d4c5a816b6d756c5a34f0e47 to your computer and use it in GitHub Desktop.
Save ArturSkowronski/336eaf56d4c5a816b6d756c5a34f0e47 to your computer and use it in GitHub Desktop.
class PushContainerConfigurationStep
/*(...)*/
@Override
public AsyncStep<PushBlobStep> call() throws ExecutionException {
ListenableFuture<PushBlobStep> pushBlobStepFuture =
Futures.whenAllSucceed(
authenticatePushStep.getFuture(), NonBlockingSteps.get(buildImageStep).getFuture())
.call(this::afterBuildConfigurationFutureFuture, listeningExecutorService);
return () -> pushBlobStepFuture;
}
private PushBlobStep afterBuildConfigurationFutureFuture()/*(...)*/ {
/*(...)*/
Image<CachedLayer> image = NonBlockingSteps.get(NonBlockingSteps.get(buildImageStep));
Blob containerConfigurationBlob =
new ImageToJsonTranslator(image).getContainerConfigurationBlob();
CountingDigestOutputStream digestOutputStream =
new CountingDigestOutputStream(ByteStreams.nullOutputStream());
containerConfigurationBlob.writeTo(digestOutputStream);
BlobDescriptor blobDescriptor = digestOutputStream.toBlobDescriptor();
return new PushBlobStep(/*(...)*/);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment