OSDN Git Service

na-get-lib,all-get,インストール除外リストの設定を追加。all-get.exeのcheckupgrade表示への反映
authorttp <ttp@users.sourceforge.jp>
Thu, 2 Dec 2010 15:00:35 +0000 (00:00 +0900)
committerttp <ttp@users.sourceforge.jp>
Thu, 2 Dec 2010 15:00:35 +0000 (00:00 +0900)
all-get/Main.cs
na-get-lib/NaGet/Env.cs
na-get-lib/NaGet/NaGetLibPref.cs

index 2989c34..92af7f3 100644 (file)
@@ -127,28 +127,32 @@ namespace AllGet
                public void CheckUpgrade()\r
                {\r
                        PackageList<Package> packageList = pkgListMan.AvailablePkgList;\r
+                       string[] exclude = NaGet.Env.ExcludeUpdatePackageNames;\r
                        \r
                        VersionComparetor verComp = new VersionComparetor();\r
                        \r
                        foreach (InstalledPackage pkg in pkgListMan.InstalledPkgList) {\r
-                               Package avaiablePkg = packageList.GetPackageForName(pkg.Name);\r
-                               \r
-                               if (avaiablePkg != null) {\r
-                                       if (verComp.Compare(pkg.Version, avaiablePkg.Version) < 0 &&\r
-                                           pkgListMan.InstalledPkgList.GetPackageForPackage(pkg.Name, avaiablePkg.Version) == null) {\r
-                                               \r
-                                               Console.WriteLine("{0} ({1}) => ({2})", pkg.Name, pkg.Version, avaiablePkg.Version);\r
+                               if (Array.IndexOf(exclude ?? new string[0], pkg.Name) < 0) {\r
+                                       Package avaiablePkg = packageList.GetPackageForName(pkg.Name);\r
+                                       if (avaiablePkg != null) {\r
+                                               if (verComp.Compare(pkg.Version, avaiablePkg.Version) < 0 &&\r
+                                                   pkgListMan.InstalledPkgList.GetPackageForPackage(pkg.Name, avaiablePkg.Version) == null) {\r
+                                                       \r
+                                                       Console.WriteLine("{0} ({1}) => ({2})", pkg.Name, pkg.Version, avaiablePkg.Version);\r
+                                               }\r
                                        }\r
                                }\r
                        }\r
                        foreach (InstalledPackage pkg in pkgListMan.SystemInstalledPkgList) {\r
-                               Package avaiablePkg = packageList.GetPackageForName(pkg.Name);\r
-                               \r
-                               if (avaiablePkg != null) {\r
-                                       if (verComp.Compare(pkg.Version, avaiablePkg.Version) < 0 &&\r
-                                           pkgListMan.SystemInstalledPkgList.GetPackageForPackage(pkg.Name, avaiablePkg.Version) == null) {\r
-                                               \r
-                                               Console.WriteLine("{0} ({1})@sys => ({2})", pkg.Name, pkg.Version, avaiablePkg.Version);\r
+                               if (Array.IndexOf(exclude ?? new string[0], pkg.Name) < 0) {\r
+                                       Package avaiablePkg = packageList.GetPackageForName(pkg.Name);\r
+                                       \r
+                                       if (avaiablePkg != null) {\r
+                                               if (verComp.Compare(pkg.Version, avaiablePkg.Version) < 0 &&\r
+                                                   pkgListMan.SystemInstalledPkgList.GetPackageForPackage(pkg.Name, avaiablePkg.Version) == null) {\r
+                                                       \r
+                                                       Console.WriteLine("{0} ({1})@sys => ({2})", pkg.Name, pkg.Version, avaiablePkg.Version);\r
+                                               }\r
                                        }\r
                                }\r
                        }\r
index 2f799d2..f2fc17b 100644 (file)
@@ -227,6 +227,19 @@ namespace NaGet
                        }\r
                }\r
                \r
+               /// <summary>\r
+               /// アップデートから除外するパッケージの名前\r
+               /// </summary>\r
+               public static string[] ExcludeUpdatePackageNames {\r
+                       get {\r
+                               if (pref == null) LoadPref();\r
+                               return pref.ExcludeUpdatePackageNames;\r
+                       }\r
+                       set {\r
+                               if (pref == null) LoadPref();\r
+                               pref.ExcludeUpdatePackageNames = value;\r
+                       }\r
+               }\r
                \r
                #endregion\r
                \r
index 78d3893..ed08a0f 100644 (file)
@@ -48,5 +48,12 @@ namespace NaGet
                [XmlElement]\r
                [DefaultValue(true)]\r
                public bool InstallOnBackground = true;\r
+               \r
+               /// <summary>\r
+               /// アップデートから除外するパッケージ名\r
+               /// </summary>\r
+               [XmlElement("ExcludeUpdatePackageName")]\r
+               [DefaultValue(null)]\r
+               public string[] ExcludeUpdatePackageNames = null;\r
        }\r
 }\r