public SemverCompatibilityFlags GetSemverCompatibility(Version value) { Contract.Requires(null != value); Contract.Ensures(null != Contract.Result <SemverCompatibilityFlags>()); var serverVersion = new DiagnosticsEndpointCommunication().GetBaseUriVersion(_Endpoints); var result = SemverCompatibilityFlags.Compatible; if (value < serverVersion) { result |= SemverCompatibilityFlags.ServerIsNewer; } if (value.Major < serverVersion.Major) { result |= SemverCompatibilityFlags.BreakingChanges; } if (value.Major < serverVersion.Major || value.Minor < serverVersion.Minor) { result |= SemverCompatibilityFlags.AdditionalFeatures; } if (value.Major < serverVersion.Major || value.Minor < serverVersion.Minor || value.Build < serverVersion.Build) { result |= SemverCompatibilityFlags.Patched; } return(result); }
public SemverCompatibilityFlags GetSemverCompatibility(Version value) { Contract.Requires(null != value); Contract.Ensures(null != Contract.Result<SemverCompatibilityFlags>()); var serverVersion = new DiagnosticsEndpointCommunication().GetBaseUriVersion(_Endpoints); var result = SemverCompatibilityFlags.Compatible; if(value < serverVersion) { result |= SemverCompatibilityFlags.ServerIsNewer; } if(value.Major < serverVersion.Major) { result |= SemverCompatibilityFlags.BreakingChanges; } if(value.Major < serverVersion.Major || value.Minor < serverVersion.Minor) { result |= SemverCompatibilityFlags.AdditionalFeatures; } if(value.Major < serverVersion.Major || value.Minor < serverVersion.Minor || value.Build < serverVersion.Build) { result |= SemverCompatibilityFlags.Patched; } return result; }