static void ParseBuildType(string input, SemVer expected) { SemVer info; Assert.IsTrue(SemVer.TryGetVersionInfo(input, out info)); Assert.AreEqual(expected, info, "input: " + input); }
public static void ParseMajorMinorPatchWithJunkAfter() { SemVer info; var expected = new SemVer(1, 0, 0, -1, "12text"); Assert.IsTrue(SemVer.TryGetVersionInfo("1.0.0-12text", out info)); Assert.AreEqual(expected, info); expected = new SemVer(1, 0, 0, 3, "preview"); Assert.IsTrue(SemVer.TryGetVersionInfo("1.0.0-preview.3+extra-meta-data-here", out info)); Assert.AreEqual(expected, info); }
internal static bool TryGetPackageVersion(out SemVer version) { version = new SemVer(); #if UNITY_2019_2_OR_NEWER var assembly = Assembly.GetExecutingAssembly(); var info = PackageManager.PackageInfo.FindForAssembly(assembly); return(SemVer.TryGetVersionInfo(info.version, out version)); #else try { var packageInfo = FileUtility.GetProBuilderInstallDirectory() + "/package.json"; var contents = File.ReadAllText(packageInfo); var info = JsonUtility.FromJson <PackageInfo>(contents); return(SemVer.TryGetVersionInfo(info.version, out version)); } catch { return(false); } #endif }