build-coordinator/src/main/java/org/jboss/pnc/coordinator/maintenance/TemporaryBuildsCleaner.java
public Result deleteTemporaryBuild(Integer buildRecordId, String authToken) throws ValidationException {
        BuildRecord buildRecord = buildRecordRepository.findByIdFetchAllProperties(buildRecordId);
        if (!buildRecord.isTemporaryBuild()) {
            throw new ValidationException("Only deletion of the temporary builds is allowed");
        }
        log.info("Starting deletion of a temporary build " + buildRecord + "; Built artifacts: " + buildRecord.getBuiltArtifacts()
                + "; Dependencies: " + buildRecord.getDependencies());

        Result result = remoteBuildsCleaner.deleteRemoteBuilds(buildRecord, authToken);
        if (!result.isSuccess()) {
            log.error("Failed to delete remote temporary builds for BR.id:{}.", buildRecord.getId());
            return new Result(buildRecordId.toString(), Result.Status.FAILED, "Failed to delete remote temporary builds.");
        }

        /** Delete relation between BuildRecord and Artifact */
        Set<Artifact> artifactsToBeDeleted = new HashSet<>();

        removeRelationBuildRecordArtifact(buildRecord, artifactsToBeDeleted);

        /**
         * Delete artifacts, if the artifacts are not used in other builds
         */
        deleteArtifacts(artifactsToBeDeleted);

        deleteDependencies(buildRecord);

        buildRecordRepository.delete(buildRecord.getId());
        log.info("Deletion of the temporary build {} finished successfully.", buildRecord);
        return new Result(buildRecordId.toString(), Result.Status.SUCCESS);
    }
public Result deleteTemporaryBuild(Integer buildRecordId, String authToken) throws ValidationException {
        BuildRecord buildRecord = buildRecordRepository.findByIdFetchAllProperties(buildRecordId);
        if (!buildRecord.isTemporaryBuild()) {
            throw new ValidationException("Only deletion of the temporary builds is allowed");
        }
        log.info("Starting deletion of a temporary build " + buildRecord + "; Built artifacts: " + buildRecord.getBuiltArtifacts()
                + "; Dependencies: " + buildRecord.getDependencies());

        Result result = remoteBuildsCleaner.deleteRemoteBuilds(buildRecord, authToken);
        if (!result.isSuccess()) {
            log.error("Failed to delete remote temporary builds for BR.id:{}.", buildRecord.getId());
            return new Result(buildRecordId.toString(), Result.Status.FAILED, "Failed to delete remote temporary builds.");
        }

        /** Delete relation between BuildRecord and Artifact */
        Set<Artifact> artifactsToBeDeleted = new HashSet<>();

        removeRelationBuildRecordArtifact(buildRecord, artifactsToBeDeleted);

        /**
         * Delete artifacts, if the artifacts are not used in other builds
         */
        deleteArtifacts(artifactsToBeDeleted);

        deleteDependencies(buildRecord);

        buildRecordRepository.delete(buildRecord.getId());
        log.info("Deletion of the temporary build {} finished successfully.", buildRecord);
        return new Result(buildRecordId.toString(), Result.Status.SUCCESS);
    }
public Result deleteTemporaryBuild ( Integer buildRecordId , String authToken ) throws ValidationException { BuildRecord buildRecord = buildRecordRepository . findByIdFetchAllProperties ( buildRecordId ) ; if ( ! buildRecord . isTemporaryBuild ( ) ) { throw new ValidationException ( "Only deletion of the temporary builds is allowed" ) ; } log . info ( "Starting deletion of a temporary build " + buildRecord + "; Built artifacts: " + buildRecord . getBuiltArtifacts ( ) + "; Dependencies: " + buildRecord . getDependencies ( ) ) ; Result result = remoteBuildsCleaner . deleteRemoteBuilds ( buildRecord , authToken ) ; if ( ! result . isSuccess ( ) ) { log . error ( "Failed to delete remote temporary builds for BR.id:{}." , buildRecord . getId ( ) ) ; return new Result ( buildRecordId . toString ( ) , Result . Status . FAILED , "Failed to delete remote temporary builds." ) ; } /** Delete relation between BuildRecord and Artifact */ Set < Artifact > artifactsToBeDeleted = new HashSet <> ( ) ; removeRelationBuildRecordArtifact ( buildRecord , artifactsToBeDeleted ) ; /**
         * Delete artifacts, if the artifacts are not used in other builds
         */ deleteArtifacts ( artifactsToBeDeleted ) ; deleteDependencies ( buildRecord ) ; buildRecordRepository . delete ( buildRecord . getId ( ) ) ; log . info ( "Deletion of the temporary build {} finished successfully." , buildRecord ) ; return new Result ( buildRecordId . toString ( ) , Result . Status . SUCCESS ) ; }
Deletes a temporary build and artifacts created during the build or orphan dependencies used

@param buildRecordId BuildRecord to be deleted
@param authToken
@return true if success
Deletes a temporary build and artifacts created during the build or orphan dependencies used