public override int GetHashCode() { int hash = 1; if (ForceUpdate != false) { hash ^= ForceUpdate.GetHashCode(); } if (ServerUri.Length != 0) { hash ^= ServerUri.GetHashCode(); } if (ActualEnvId.Length != 0) { hash ^= ActualEnvId.GetHashCode(); } if (ManifestVersion.Length != 0) { hash ^= ManifestVersion.GetHashCode(); } if (qualityLevel_ != null) { hash ^= QualityLevel.GetHashCode(); } if (ForceUpdateUrl.Length != 0) { hash ^= ForceUpdateUrl.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }
public void GivenManagedInstallItCanInstallManifestVersion() { var(_, installer, nugetDownloader) = GetTestInstaller(manifestDownload: true); var featureBand = new SdkFeatureBand("6.0.100"); var manifestId = new ManifestId("test-manifest-1"); var manifestVersion = new ManifestVersion("5.0.0"); installer.InstallWorkloadManifest(manifestId, manifestVersion, featureBand); var mockNugetInstaller = nugetDownloader as MockNuGetPackageDownloader; mockNugetInstaller.DownloadCallParams.Count.Should().Be(1); mockNugetInstaller.DownloadCallParams[0].ShouldBeEquivalentTo((new PackageId($"{manifestId}.manifest-{featureBand}"), new NuGetVersion(manifestVersion.ToString()), null as DirectoryPath?)); }
public bool DownloadVersion(string newDownloadVersion) { ResetTempVariables(); downloadVersion = newDownloadVersion; string content = ""; bool downloaded = false; RootVersionsManifest versionsManifest = null; try { string mainDir = SettingsControl.MainDirectory; if (!File.Exists(mainDir + "\\version_manifest.json")) { DownloadUtils.DownloadFile(Constants.URL_VERSIONS_MANIFEST, mainDir + "\\version_manifest.json"); } versionsManifest = JsonConvert.DeserializeObject <RootVersionsManifest>(File.ReadAllText(mainDir + "\\version_manifest.json")); } catch (Exception ex) { MessageBox.Show(string.Format(Messages.ERROR_READ_FILE_F, "version_manifest.json") + ex.Message, Messages.CAPTION_COMMON); return(false); } ManifestVersion versionManifest = null; try { versionManifest = versionsManifest.versions.Where(x => x.id == downloadVersion).First(); if (versionManifest == null) { MessageBox.Show(string.Format(Messages.ERROR_GET_VERSION_FROM_MANIFEST_F, downloadVersion), Messages.CAPTION_COMMON); return(false); } } catch (Exception ex) { MessageBox.Show(string.Format(Messages.ERROR_GET_VERSION_FROM_MANIFEST_F, downloadVersion) + ex.Message, Messages.CAPTION_COMMON); return(false); } try { using (StreamReader reader = new StreamReader(DownloadUtils.DownloadToStream(versionManifest.url))) { content = reader.ReadToEnd(); } } catch (Exception ex) { MessageBox.Show(Messages.ERROR_GET_VERSION_JSON + ex.Message, Messages.CAPTION_COMMON); return(false); } RootGameVersion versionJsnon = null; try { versionJsnon = JsonConvert.DeserializeObject <RootGameVersion>(content); } catch (Exception ex) { MessageBox.Show(string.Format(Messages.ERROR_READ_FILE_F, downloadVersion + ".json") + ex.Message, Messages.CAPTION_COMMON); return(false); } SetTotalBytesToDownload(versionJsnon); StartDownloadFilesFromQueue(Environment.ProcessorCount); Task getAssetsUrls = Task.Factory.StartNew(new Action(() => GetAssetsUrls(versionJsnon)), cancellationTokenSource.Token); getAssetsUrls.Start(); Task getLibrariesUrls = Task.Factory.StartNew(new Action(() => GetLibrariesUrls(versionJsnon)), cancellationTokenSource.Token); getLibrariesUrls.Start(); Task getMainFilesUrls = Task.Factory.StartNew(new Action(() => GetMainFilesUrls(versionJsnon, versionManifest.url)), cancellationTokenSource.Token); getMainFilesUrls.Start(); if (WaitTasks(new Task[] { getAssetsUrls, getLibrariesUrls, getMainFilesUrls }, -1)) { downloadQueue.Enqueue(null); if (WaitCurrentDownloadTasks(-1)) { downloaded = true; } } ResetTempVariables(); GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced); return(downloaded); }
public void InstallWorkloadManifest(ManifestId manifestId, ManifestVersion manifestVersion, SdkFeatureBand sdkFeatureBand) => throw new System.NotImplementedException();