repoList = NaGet.Utils.GetDeserializedObject<RepositoriesList>(NaGet.Env.RepositoriesListFile);\r
}\r
\r
- foreach (RepositoryInfo repo in repoList.Repositories) {\r
+ foreach (RepositoryInfo repo in repoList.EnabledRepositories) {\r
taskSetNames.Add(string.Format("リスト取得: {0}", repo.Url.Href));\r
}\r
taskSetNames.Add(string.Format("リスト更新: {0}", NaGet.Env.PackageListFile));\r
RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, "ネットワークに接続できませんでした。ネットワークが切断されているか、ファイアウォールによって遮断された可能性があります。");\r
}\r
} finally {\r
- currentTaskSetIndex = repoList.Repositories.Length + 1;\r
+ int numOfEnabledRepos = NaGet.Utils.IEnumerable2Array(repoList.EnabledRepositories).Length;\r
+ currentTaskSetIndex = numOfEnabledRepos + 1;\r
}\r
packageListsDownloaded = true;\r
}\r
private void runDownloadPackages()\r
{\r
PackageList<Package> avaiablePackageList = new PackageList<Package>();\r
- foreach(RepositoryInfo repo in repoList.Repositories) {\r
+ foreach(RepositoryInfo repo in repoList.EnabledRepositories) {\r
RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]);\r
\r
string tmpfileName = Path.GetTempFileName();\r
try {\r
Downloader.Download(repo.Url.Href, tmpfileName);\r
\r
- PackageList<Package> pkgList = NaGet.Utils.GetDeserializedObject<PackageList<Package>>(tmpfileName);\r
- \r
- // RepositoryReferenceの名前を読み込む // TODO RepositoryReferenceの名前を読み込む処理はここでいいのか?\r
- repo.Name = (string.IsNullOrEmpty(pkgList.Name))? repo.Name : pkgList.Name;\r
- \r
- avaiablePackageList.AddPackages(pkgList.Packages);\r
+ if (repo.Type == RepositoryType.APPLISTATION_NATIVE_XML_1_0) {\r
+ try {\r
+ PackageList<Package> pkgList = NaGet.Utils.GetDeserializedObject<PackageList<Package>>(tmpfileName);\r
+ pkgList.FixPackageListName(); // PackageListNameとの紐付けを行う\r
+ \r
+ // RepositoryReferenceの名前を読み込む // TODO RepositoryReferenceの名前を読み込む処理はここでいいのか?\r
+ repo.Name = (string.IsNullOrEmpty(pkgList.Name))? repo.Name : pkgList.Name;\r
+ \r
+ avaiablePackageList.AddPackages(pkgList.Packages);\r
+ } catch (InvalidOperationException) {\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, string.Format("Repository {0} does not have a AppliStation Native XML softlist.", repo.Name ?? repo.Url.Href));\r
+ }\r
+ } else {\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, string.Format("Repository {0} is illegal type.", repo.Name ?? repo.Url.Href));\r
+ }\r
} finally {\r
if (File.Exists(tmpfileName)) {\r
File.Delete(tmpfileName);\r