Code review comment: This will end up discarding the build file for every run when the dist version in Ballerina.toml is an old one. I think we need to persist the dist version to the `target/build` file. Not having the dist version should only be a one-time thing. We should persist the dist version to the build file when updating it.

Code under review:
private boolean getSticky(PackageContext rootPackageContext) {
        boolean sticky = rootPackageContext.project().buildOptions().sticky();
        if (sticky) {
            this.autoUpdate = false;
            return true;
        }

        
        String distVersion = rootPackageContext.packageManifest().ballerinaVersion();
        if (distVersion != null && !distVersion.isEmpty()
                && !distVersion.equals(RepoUtils.getBallerinaShortVersion())) {
            this.autoUpdate = true;
            return false;
        }

        
        if (rootPackageContext.project().kind() == ProjectKind.BUILD_PROJECT) {
            Path buildFilePath = this.rootPackageContext.project().sourceRoot().resolve(TARGET_DIR_NAME)
                    .resolve(BUILD_FILE);
            if (Files.exists(buildFilePath) && buildFilePath.toFile().length() > 0) {
                try {
                    BuildJson buildJson = readBuildJson(buildFilePath);
                    if (buildJson != null && !buildJson.isExpiredLastUpdateTime()) {
                        this.autoUpdate = false;
                        return true;
                    } else {
                        this.autoUpdate = true;
                        return false;
                    }
                } catch (IOException | JsonSyntaxException e) {
                    this.autoUpdate = true;
                    return false;
                }
            }
            this.autoUpdate = true;
            return false;
        }
        this.autoUpdate = true;
        return false;
    }

Line commented on: String distVersion = rootPackageContext.packageManifest().ballerinaVersion();

Revised code:
private boolean getSticky(PackageContext rootPackageContext) {
        boolean sticky = rootPackageContext.project().buildOptions().sticky();
        if (sticky) {
            this.autoUpdate = false;
            return true;
        }

        
        if (rootPackageContext.project().kind() == ProjectKind.BUILD_PROJECT) {
            Path buildFilePath = this.rootPackageContext.project().sourceRoot().resolve(TARGET_DIR_NAME)
                    .resolve(BUILD_FILE);
            if (Files.exists(buildFilePath) && buildFilePath.toFile().length() > 0) {
                try {
                    BuildJson buildJson = readBuildJson(buildFilePath);
                    
                    if (buildJson != null && buildJson.distributionVersion() != null &&
                            buildJson.distributionVersion().equals(RepoUtils.getBallerinaShortVersion()) &&
                            !buildJson.isExpiredLastUpdateTime()) {
                        this.autoUpdate = false;
                        return true;
                    } else {
                        this.autoUpdate = true;
                        return false;
                    }
                } catch (IOException | JsonSyntaxException e) {
                    this.autoUpdate = true;
                    return false;
                }
            }
            this.autoUpdate = true;
            return false;
        }
        this.autoUpdate = true;
        return false;
    }