private void writeTarFile(
      Path outputPath, ProgressEventDispatcher.Factory progressDispatcherFactory) {
    results.buildResult =
        executorService.submit(
            () -> {
              Verify.verify(
                  results.baseImagesAndBuiltImages.get().size() == 1,
                  "multi-platform image building not supported when building a local tar image");
              Image builtImage =
                  results.baseImagesAndBuiltImages.get().values().iterator().next().get();

              return new WriteTarFileStep(
                      buildContext, progressDispatcherFactory, outputPath, builtImage)
                  .call();
            });
  }
Run all steps and return a BuildResult after a build is completed.

@return a {@link BuildResult} with build metadata
@throws ExecutionException if an error occurred during asynchronous execution of steps
@throws InterruptedException if the build was interrupted while waiting for results
jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/StepsRunner.java