in plugins/docker/component-image/src/main/java/co/elastic/gradle/dockercomponent/JibActions.java [197:220]
public From addDigestFromLockfile(UnchangingContainerReference ref, From from, ProviderFactory providerFactory) {
if (ref == null ||
ref.getTag() == null ||
ref.getRepository() == null ||
ref.getDigest() == null) {
throw new GradleException("The lockfile is corrupt");
}
if (!from.getReference().get().contains(ref.getRepository()) ||
!from.getReference().get().contains(ref.getTag())) {
throw new GradleException(
"The lockfile doesn't have digests for the configured reference." +
"Use the `" + DockerComponentPlugin.LOCK_FILE_TASK_NAME +"` task to " +
"regenerate it."
);
}
return new From(
providerFactory.provider( () ->
String.format(
"%s:%s@%s",
ref.getRepository(), ref.getTag(), ref.getDigest()
)
)
);
}