public record UnchangingPackage()

in plugins/docker/base-image/src/main/java/co/elastic/gradle/dockerbase/lockfile/UnchangingPackage.java [27:69]


public record UnchangingPackage(
        String name,
        String version,
        String release,
        String architecture
) implements Serializable {

    @JsonCreator
    public UnchangingPackage {
    }

    @Input
    public String getName() {
        return name;
    }

    @Input
    public String getVersion() {
        return version;
    }

    @Input
    public String getRelease() {
        return release;
    }

    @Input
    public String getArchitecture() {
        return architecture;
    }

    public String getPackageName(OSDistribution distribution) {
        return switch (distribution) {
            case CENTOS -> String.format("%s-%s-%s.%s", name, version, release, architecture);
            case UBUNTU, DEBIAN, WOLFI -> String.format(
                    "%s=%s%s",
                    name,
                    version,
                    release !=null && !release.equals("") ? "-" + release : ""
            );
        };
    }
}