X-Git-Url: http://git.sourceforge.jp/view?p=applistation%2FAppliStation.git;a=blobdiff_plain;f=na-get-lib%2FNaGet.SubCommands%2FNaGetDownloadToCache.cs;h=ac482b6cfb24c92dd9fade5a56ccb5ce67db1400;hp=a4d4e28709d2aed976cb1b3985ae1880f3d8580e;hb=9e8830beb9bdcf182ca7e84c92a67533bbb1a76c;hpb=104415b50579c55c8e60e05f25eca06a1284fb4f;ds=sidebyside diff --git a/na-get-lib/NaGet.SubCommands/NaGetDownloadToCache.cs b/na-get-lib/NaGet.SubCommands/NaGetDownloadToCache.cs index a4d4e28..ac482b6 100644 --- a/na-get-lib/NaGet.SubCommands/NaGetDownloadToCache.cs +++ b/na-get-lib/NaGet.SubCommands/NaGetDownloadToCache.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using NaGet.Packages.Install; using NaGet.Packages; using NaGet.Net; +using NaGet.Tasks; namespace NaGet.SubCommands { @@ -22,8 +23,8 @@ namespace NaGet.SubCommands if (downloader == null) { downloader = new Downloader(); downloader.DownloadEventRaised += delegate(object sender, DownloadEventArgs e) { - if (e.Type == DownloadEventType.DOWNLOADING && e.TaskProgressPercent > 0) { - RaiseTaskSetEvent(NaGetTaskSetEventType.PING, string.Empty, GetProgressPercent(NaGetTaskSetEventType.PING, e.TaskProgressPercent)); + if (e.DownloadTaskType == DownloadEventType.DOWNLOADING && e.ProgressPercent > 0) { + RaiseTaskSetEvent(TaskEventType.PING, string.Empty, GetProgressPercent(TaskEventType.PING, e.ProgressPercent)); } }; } @@ -67,7 +68,7 @@ namespace NaGet.SubCommands private void initializeMainTaskSetNames() { - List taskSetNames = new List(); + taskSetNames = new List(); for (int i =0; i < Installations.Length; i++) { taskSetNames.Add(string.Format("取得: {0}", Installations[i].ToString())); @@ -76,14 +77,12 @@ namespace NaGet.SubCommands taskSetNames.Add("インストーラーの検証"); taskSetNames.Add(string.Format("リスト更新: {0}", NaGet.Env.ArchiveInstalledPackageListFile)); taskSetNames.Add(string.Format("リスト更新: {0}", NaGet.Env.SystemInstalledPackageListFile)); - - TaskSetNames = taskSetNames.ToArray(); } public override void Run() { currentTaskSetIndex = 0; - RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED, "インストール処理開始"); + RaiseTaskSetEvent(TaskEventType.STARTED, "インストール処理開始"); { // ハッシュ非適合なインストーラの表 @@ -99,7 +98,7 @@ namespace NaGet.SubCommands packageInstallerDownloaded = true; - RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.STARTED_SUBTASK, taskSetNames[currentTaskSetIndex]); // ハッシュの壊れているインストーラーを取得 invalidInstallers = runCheckHashForInstaller(); @@ -122,7 +121,7 @@ namespace NaGet.SubCommands switch (result) { case NaGetTaskQueryResult.CONTINUE: - RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "ダウンロード処理を再試行"); + RaiseTaskSetEvent(TaskEventType.INFO, "ダウンロード処理を再試行"); foreach (Installation invalidInst in invalidInstallers) { invalidInst.RemoveDownloadedFile(); @@ -131,7 +130,7 @@ namespace NaGet.SubCommands break; //case NaGetTaskQueryResult.CANCEL: default: - RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "パッケージのダウンロード処理がキャンセルされました"); + RaiseTaskSetEvent(TaskEventType.CANCELED, "パッケージのダウンロード処理がキャンセルされました"); done = true; return; } @@ -139,7 +138,7 @@ namespace NaGet.SubCommands // もしハッシュが不適合なソフトがあるならばダウンロード処理からやり直す } while (invalidInstallers == null || invalidInstallers.Count > 0); - RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.COMPLETED_SUBTASK, taskSetNames[currentTaskSetIndex]); currentTaskSetIndex ++; } @@ -147,7 +146,7 @@ namespace NaGet.SubCommands done = true; - RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED, "終了", 100); + RaiseTaskSetEvent(TaskEventType.COMPLETED, "終了", 100); } @@ -159,59 +158,59 @@ namespace NaGet.SubCommands using (DownloadScanner scanner = new DownloadScanner()) { scanner.Init(); foreach (Installation inst in Installations) { - RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.STARTED_SUBTASK, taskSetNames[currentTaskSetIndex]); if (! inst.Downloaded) { try { inst.Download(Downloader); - } catch (NaGetTaskCanceledException) { - RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "インストーラーのダウンロード処理がキャンセルされました"); + } catch (TaskCanceledException) { + RaiseTaskSetEvent(TaskEventType.CANCELED, "インストーラーのダウンロード処理がキャンセルされました"); done = true; return; } catch (System.Net.WebException e) { - RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, e.Message); + RaiseTaskSetEvent(TaskEventType.WARNING, e.Message); if (System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) { - RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, "ネットワークに接続されていません。"); + RaiseTaskSetEvent(TaskEventType.ERROR, "ネットワークに接続されていません。"); } else { - RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, "ネットワークに接続できませんでした。ネットワークが切断されているか、ファイアウォールによって遮断された可能性があります。"); + RaiseTaskSetEvent(TaskEventType.ERROR, "ネットワークに接続できませんでした。ネットワークが切断されているか、ファイアウォールによって遮断された可能性があります。"); } done = true; return; } catch (Exception e) { - RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, e.Message); + RaiseTaskSetEvent(TaskEventType.ERROR, e.Message); done = true; return; } } if (! inst.Downloaded) { // ダウンロードが完了せずに終わった=失敗=エラー - RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, string.Format("{0}のインストーラーファイルを正常にダウンロードできませんでした", inst.ToString())); + RaiseTaskSetEvent(TaskEventType.ERROR, string.Format("{0}のインストーラーファイルを正常にダウンロードできませんでした", inst.ToString())); done = true; return; } - RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.COMPLETED_SUBTASK, taskSetNames[currentTaskSetIndex]); currentTaskSetIndex ++; - RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.STARTED_SUBTASK, taskSetNames[currentTaskSetIndex]); if (! NaGet.Env.EnableScanInstallerFile) { - RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "ウイルススキャンを行わない設定のため、ダウンロードしたファイルはウイルススキャンされませんでした"); + RaiseTaskSetEvent(TaskEventType.INFO, "ウイルススキャンを行わない設定のため、ダウンロードしたファイルはウイルススキャンされませんでした"); } else if (!scanner.HasScanner) { - RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "ダウンロードしたファイルはウイルススキャンされませんでした(ウイルススキャンソフトが検出できませんでした)"); + RaiseTaskSetEvent(TaskEventType.INFO, "ダウンロードしたファイルはウイルススキャンされませんでした(ウイルススキャンソフトが検出できませんでした)"); } else { try { DownloadScannerResult result = inst.ScanInstallerFile(scanner); switch (result) { case DownloadScannerResult.ScannerNotFound: - RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "ダウンロードしたファイルはウイルススキャンされませんでした(ウイルススキャンソフトが検出できませんでした)"); + RaiseTaskSetEvent(TaskEventType.INFO, "ダウンロードしたファイルはウイルススキャンされませんでした(ウイルススキャンソフトが検出できませんでした)"); break; case DownloadScannerResult.InfectedAndCleaned: - RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, + RaiseTaskSetEvent(TaskEventType.ERROR, "インストーラーファイルからウイルス感染が検出されたため、削除されました。"); done = true; return; case DownloadScannerResult.InfectedButNotCleaned: - RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, + RaiseTaskSetEvent(TaskEventType.ERROR, "インストーラーファイルからウイルス感染が検出されました。"); done = true; break; @@ -221,23 +220,23 @@ namespace NaGet.SubCommands } } catch (System.Runtime.InteropServices.COMException ex) { - RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, + RaiseTaskSetEvent(TaskEventType.WARNING, string.Format("{0} (E{1})", ex.Message, ex.ErrorCode)); } catch (System.IO.FileNotFoundException ex) { if (ex.InnerException is System.Runtime.InteropServices.COMException) { - RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, + RaiseTaskSetEvent(TaskEventType.WARNING, string.Format("{0} (E{1})", ex.InnerException.Message, ((System.Runtime.InteropServices.COMException) ex.InnerException).ErrorCode)); } - RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, "インストーラーファイルがウイルススキャナーによって削除されました。"); + RaiseTaskSetEvent(TaskEventType.ERROR, "インストーラーファイルがウイルススキャナーによって削除されました。"); done = true; return; } } - RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.COMPLETED_SUBTASK, taskSetNames[currentTaskSetIndex]); currentTaskSetIndex ++; if (cancelCalled) { - RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "パッケージのインストール処理がキャンセルされました"); + RaiseTaskSetEvent(TaskEventType.CANCELED, "パッケージのインストール処理がキャンセルされました"); done = true; return; } @@ -255,16 +254,16 @@ namespace NaGet.SubCommands int i = 0; foreach (Installation inst in Installations) { - float percent = (CurrentTaskSetIndex+((float)i / Installations.Length))*100f/TaskSetNames.Length; + float percent = (CurrentTaskSetIndex+((float)i / Installations.Length))*100f/taskSetNames.Count; if (inst.GetRegisteredHashCount() > 0) { - RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "検証: "+inst.ToString(), percent); + RaiseTaskSetEvent(TaskEventType.INFO, "検証: "+inst.ToString(), percent); if (inst.IsInstallablePackage() && inst.VerifyHashValues() == false) { invalidInstallers.Add(inst); - RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, "検証: "+inst.ToString() + " 非整合", percent); + RaiseTaskSetEvent(TaskEventType.WARNING, "検証: "+inst.ToString() + " 非整合", percent); } else { - RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "検証: "+inst.ToString() + " OK", percent); + RaiseTaskSetEvent(TaskEventType.INFO, "検証: "+inst.ToString() + " OK", percent); } } i++; @@ -276,17 +275,17 @@ namespace NaGet.SubCommands private void runLocalUpdate() { // インストールトリストの更新 - RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.STARTED_SUBTASK, taskSetNames[currentTaskSetIndex]); pkgListMan.DetectInstalledPkgs(); pkgListMan.SaveInstalledPackageList(); - RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.COMPLETED_SUBTASK, taskSetNames[currentTaskSetIndex]); currentTaskSetIndex++; // システムにインストールされているリストの更新 - RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.STARTED_SUBTASK, taskSetNames[currentTaskSetIndex]); pkgListMan.DetectSystemInstalledPkgs(); pkgListMan.SaveSystemInstalledPackageList(); - RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]); + RaiseTaskSetEvent(TaskEventType.COMPLETED_SUBTASK, taskSetNames[currentTaskSetIndex]); currentTaskSetIndex++; }