summaryrefslogtreecommitdiff
path: root/src/SMAPI
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-05-03 00:14:35 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-05-03 00:14:35 -0400
commit6a6001c7e6a03ff6fb0da992a87c6ef30d6bc952 (patch)
tree98470dbb6c5b41a68c494f88ebdbd9a582ece9ab /src/SMAPI
parent4cabd2b2e7c8fbd39c1f18f24f5e52a56f960f10 (diff)
downloadSMAPI-6a6001c7e6a03ff6fb0da992a87c6ef30d6bc952.tar.gz
SMAPI-6a6001c7e6a03ff6fb0da992a87c6ef30d6bc952.tar.bz2
SMAPI-6a6001c7e6a03ff6fb0da992a87c6ef30d6bc952.zip
add semanticVersion.IsPrerelease()
Diffstat (limited to 'src/SMAPI')
-rw-r--r--src/SMAPI/Framework/Models/SConfig.cs2
-rw-r--r--src/SMAPI/ISemanticVersion.cs3
-rw-r--r--src/SMAPI/Program.cs2
-rw-r--r--src/SMAPI/SemanticVersion.cs6
4 files changed, 11 insertions, 2 deletions
diff --git a/src/SMAPI/Framework/Models/SConfig.cs b/src/SMAPI/Framework/Models/SConfig.cs
index be84a6b9..b732921f 100644
--- a/src/SMAPI/Framework/Models/SConfig.cs
+++ b/src/SMAPI/Framework/Models/SConfig.cs
@@ -13,7 +13,7 @@ namespace StardewModdingAPI.Framework.Models
public bool CheckForUpdates { get; set; }
/// <summary>Whether to show beta versions as valid updates.</summary>
- public bool UseBetaChannel { get; set; } = Constants.ApiVersion.Build != null;
+ public bool UseBetaChannel { get; set; } = Constants.ApiVersion.IsPrerelease();
/// <summary>SMAPI's GitHub project name, used to perform update checks.</summary>
public string GitHubProjectName { get; set; }
diff --git a/src/SMAPI/ISemanticVersion.cs b/src/SMAPI/ISemanticVersion.cs
index 0483c97b..961ef777 100644
--- a/src/SMAPI/ISemanticVersion.cs
+++ b/src/SMAPI/ISemanticVersion.cs
@@ -24,6 +24,9 @@ namespace StardewModdingAPI
/*********
** Accessors
*********/
+ /// <summary>Whether this is a pre-release version.</summary>
+ bool IsPrerelease();
+
/// <summary>Get whether this version is older than the specified version.</summary>
/// <param name="other">The version to compare with this instance.</param>
bool IsOlderThan(ISemanticVersion other);
diff --git a/src/SMAPI/Program.cs b/src/SMAPI/Program.cs
index ba3e238d..64520ccf 100644
--- a/src/SMAPI/Program.cs
+++ b/src/SMAPI/Program.cs
@@ -670,7 +670,7 @@ namespace StardewModdingAPI
return
newVersion != null
&& newVersion.IsNewerThan(currentVersion)
- && (useBetaChannel || newVersion.Build == null);
+ && (useBetaChannel || !newVersion.IsPrerelease());
}
/// <summary>Create a directory path if it doesn't exist.</summary>
diff --git a/src/SMAPI/SemanticVersion.cs b/src/SMAPI/SemanticVersion.cs
index 0f2a5cb0..9db1cf14 100644
--- a/src/SMAPI/SemanticVersion.cs
+++ b/src/SMAPI/SemanticVersion.cs
@@ -55,6 +55,12 @@ namespace StardewModdingAPI
public SemanticVersion(Version version)
: this(new SemanticVersionImpl(version)) { }
+ /// <summary>Whether this is a pre-release version.</summary>
+ public bool IsPrerelease()
+ {
+ return !string.IsNullOrWhiteSpace(this.Build);
+ }
+
/// <summary>Get an integer indicating whether this version precedes (less than 0), supercedes (more than 0), or is equivalent to (0) the specified version.</summary>
/// <param name="other">The version to compare with this instance.</param>
/// <exception cref="ArgumentNullException">The <paramref name="other"/> value is null.</exception>