OSDN Git Service

na-get-lib,all-get,インストール除外リストの設定を追加。all-get.exeのcheckupgrade表示への反映
[applistation/AppliStation.git] / na-get-lib / NaGet / Env.cs
index 60edc88..f2fc17b 100644 (file)
@@ -67,12 +67,6 @@ namespace NaGet
 \r
                #region ファイルパス\r
                \r
-               /// <summary>           \r
-               /// ファイルリスト提供サーバのリストファイル        \r
-               /// </summary>\r
-               [Obsolete]\r
-               public static readonly string ProviderListFile = "provider.list.txt";\r
-               \r
                /// <summary>\r
                /// ファイルリスト提供レポジトリリストのファイル\r
                /// </summary>\r
@@ -119,7 +113,16 @@ namespace NaGet
                /// </summary>\r
                public static string ArchiveFolderPath\r
                {\r
-                       get { return Path.Combine(AppDataFolderPath, "Cache"); }\r
+                       get {\r
+                               if (pref == null) LoadPref();\r
+\r
+                               if (! string.IsNullOrEmpty(pref.CacheFolder)) {\r
+                                       return pref.CacheFolder;\r
+                               }\r
+                               \r
+                               return Path.Combine(AppDataFolderPath, "Cache");\r
+                       \r
+                       }\r
                }\r
                \r
                /// <summary>\r
@@ -170,7 +173,24 @@ namespace NaGet
                                        return null;\r
                                } else {\r
                                        // host:portが設定されているならば、それをもとに設定\r
-                                       return new WebProxy(pref.ProxyAddress);\r
+                                       WebProxy proxy = new WebProxy(pref.ProxyAddress);\r
+                                       \r
+                                       // 認証プロキシの場合、認証情報を付加する\r
+                                       try {\r
+                                               Uri uri = new Uri(pref.ProxyAddress);\r
+                                               if (! string.IsNullOrEmpty(uri.UserInfo)) {\r
+                                                       int pos = uri.UserInfo.IndexOf(':');\r
+                                                       if (pos >= 0) {\r
+                                                               proxy.Credentials = new NetworkCredential(\r
+                                                                       uri.UserInfo.Substring(0, pos),\r
+                                                                       uri.UserInfo.Substring(pos+1)\r
+                                                               );\r
+                                                       }\r
+                                               }\r
+                                       } catch (Exception) {\r
+                                       }\r
+                                       \r
+                                       return proxy;\r
                                }\r
                        }\r
                }\r
@@ -207,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