liquibase-core/src/main/java/liquibase/util/StringUtil.java
public static boolean isMinimumVersion(String minimumVersion, int candidateMajor, int candidateMinor,
                                           int candidatePatch) {
        String[] parts = minimumVersion.split("\\.", 3);
        int minMajor = Integer.parseInt(parts[0]);
        int minMinor = (parts.length > 1) ? Integer.parseInt(parts[1]) : 0;
        int minPatch = (parts.length > 2) ? Integer.parseInt(parts[2]) : 0;

        if (minMajor > candidateMajor) {
            return false;
        }

        if ((minMajor == candidateMajor) && (minMinor > candidateMinor)) {
            return false;
        }

        return !((minMajor == candidateMajor) && (minMinor == candidateMinor) && (minPatch > candidatePatch));
    }
public static boolean isMinimumVersion(String minimumVersion, int candidateMajor, int candidateMinor,
                                           int candidatePatch) {
        String[] parts = minimumVersion.split("\\.", 3);
        int minMajor = Integer.parseInt(parts[0]);
        int minMinor = (parts.length > 1) ? Integer.parseInt(parts[1]) : 0;
        int minPatch = (parts.length > 2) ? Integer.parseInt(parts[2]) : 0;

        if (minMajor > candidateMajor) {
            return false;
        }

        if ((minMajor == candidateMajor) && (minMinor > candidateMinor)) {
            return false;
        }

        return !((minMajor == candidateMajor) && (minMinor == candidateMinor) && (minPatch > candidatePatch));
    }
public static boolean isMinimumVersion ( String minimumVersion , int candidateMajor , int candidateMinor , int candidatePatch ) { String [ ] parts = minimumVersion . split ( "\\." , 3 ) ; int minMajor = Integer . parseInt ( parts [ 0 ] ) ; int minMinor = ( parts . length > 1 ) ? Integer . parseInt ( parts [ 1 ] ) : 0 ; int minPatch = ( parts . length > 2 ) ? Integer . parseInt ( parts [ 2 ] ) : 0 ; if ( minMajor > candidateMajor ) { return false ; } if ( ( minMajor == candidateMajor ) && ( minMinor > candidateMinor ) ) { return false ; } return ! ( ( minMajor == candidateMajor ) && ( minMinor == candidateMinor ) && ( minPatch > candidatePatch ) ) ; }
Compares a minimum version number given in string form (only the first three parts are considered) with a
candidate version given as the three ints major, minor and patch.

@param minimumVersion The minimum version that is required, given as a string with up to 3 parts, e.g. "7.4" or "9.6.3"
@param candidateMajor the version number to be tested, major part
@param candidateMinor the version number to be tested, minor part
@param candidatePatch the version number to be tested, patch part
@return true if candidateMajor.candidateMinor.candidatePatch >= minimumVersion or false if not
Compares a minimum version number given in string form ( only the first three parts are considered ) with a candidate version given as the three ints major minor and patch .