handle_clear_cache Subroutine

subroutine handle_clear_cache(custom_cache_dir, filename, verbose_level)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: custom_cache_dir
character(len=*), intent(in) :: filename
integer, intent(in) :: verbose_level

Source Code

    subroutine handle_clear_cache(custom_cache_dir, filename, verbose_level)
        character(len=*), intent(in) :: custom_cache_dir
        character(len=*), intent(in) :: filename
        integer, intent(in) :: verbose_level
        logical :: success
        integer :: exit_code

        if (verbose_level > 0) then
            print '(a)', 'Clearing cache...'
        end if

        call clear_cache(custom_cache_dir, success)

        if (success) then
            if (verbose_level > 0) then
                print '(a)', 'Cache cleared successfully'
            end if

            ! If a filename was provided, run it after clearing cache
            if (len_trim(filename) > 0) then
                if (verbose_level > 0) then
                    print '(a)', 'Running file with cleared cache...'
                end if
           call run_fortran_file(filename, exit_code, verbose_level, custom_cache_dir, &
                                      '', 0, .false., '')
                if (exit_code /= 0) then
                    stop 1
                end if
            end if
        else
            print '(a)', 'Error: Failed to clear cache'
            stop 1
        end if
    end subroutine handle_clear_cache