public From addDigestFromLockfile()

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()
                        )
                )
        );
    }