manifest_has_changed Function

public function manifest_has_changed(cached, manifest, verbosity, iunit) result(has_changed)

Check if two dependency configurations are different

Perform all checks All checks passed! The two instances are equal

Arguments

Type IntentOptional Attributes Name
class(dependency_config_t), intent(in) :: cached

Two instances of the dependency configuration

class(dependency_config_t), intent(in) :: manifest

Two instances of the dependency configuration

integer, intent(in) :: verbosity

Log verbosity

integer, intent(in) :: iunit

Log verbosity

Return Value logical


Source Code

    logical function manifest_has_changed(cached, manifest, verbosity, iunit) result(has_changed)

        !> Two instances of the dependency configuration
        class(dependency_config_t), intent(in) :: cached, manifest

        !> Log verbosity
        integer, intent(in) :: verbosity, iunit

        has_changed = .true.

        !> Perform all checks
        if (allocated(cached%git).neqv.allocated(manifest%git)) then
            if (verbosity>1) write(iunit,out_fmt) "GIT presence has changed. "
            return
        endif
        if (allocated(cached%git)) then
            if (.not.git_matches_manifest(cached%git,manifest%git,verbosity,iunit)) return
        end if

        !> All checks passed! The two instances are equal
        has_changed = .false.

    end function manifest_has_changed