Author: lluis
Date: 2007-05-07 14:11:27 -0400 (Mon, 07 May 2007)
New Revision: 76857

Modified:
   trunk/mono-addins/Mono.Addins.Setup/ChangeLog
   trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/AddinInfo.cs
   trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs
   trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs
Log:
* Mono.Addins.Setup/SetupService.cs: When creating a package,
  generating a valid file name when the add-in doesn't have an ID.
  Fixed the generated html page. Don't add the go-mono repository by
  default.
* Mono.Addins.Setup/AddinInfo.cs: Generate a better default name when
  not provided.
* Mono.Addins.Setup/RepositoryRegistry.cs: Added method for registering
  a repository without updating it.

Modified: trunk/mono-addins/Mono.Addins.Setup/ChangeLog
===================================================================
--- trunk/mono-addins/Mono.Addins.Setup/ChangeLog       2007-05-07 18:10:37 UTC 
(rev 76856)
+++ trunk/mono-addins/Mono.Addins.Setup/ChangeLog       2007-05-07 18:11:27 UTC 
(rev 76857)
@@ -1,3 +1,14 @@
+2007-05-07  Lluis Sanchez Gual <[EMAIL PROTECTED]> 
+
+       * Mono.Addins.Setup/SetupService.cs: When creating a package,
+         generating a valid file name when the add-in doesn't have an ID.
+         Fixed the generated html page. Don't add the go-mono repository by
+         default.
+       * Mono.Addins.Setup/AddinInfo.cs: Generate a better default name when
+         not provided.
+       * Mono.Addins.Setup/RepositoryRegistry.cs: Added method for registering
+         a repository without updating it.
+
 2007-05-04  Lluis Sanchez Gual <[EMAIL PROTECTED]> 
 
        * Mono.Addins.mdp: Updated.

Modified: trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/AddinInfo.cs
===================================================================
--- trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/AddinInfo.cs  
2007-05-07 18:10:37 UTC (rev 76856)
+++ trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/AddinInfo.cs  
2007-05-07 18:11:27 UTC (rev 76857)
@@ -75,8 +75,10 @@
                        get {
                                if (name != null && name.Length > 0)
                                        return name;
-                               string nn = Addin.GetIdName (Id);
-                               return nn.Replace (".__", ".");
+                               string sid = id;
+                               if (sid.StartsWith ("__"))
+                                       sid = sid.Substring (2);
+                               return Addin.GetFullId (namspace, sid, null); 
                        }
                        set { name = value; }
                }

Modified: 
trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs
===================================================================
--- trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs 
2007-05-07 18:10:37 UTC (rev 76856)
+++ trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs 
2007-05-07 18:11:27 UTC (rev 76857)
@@ -46,19 +46,32 @@
                
                public AddinRepository RegisterRepository (IProgressStatus 
monitor, string url)
                {
+                       return RegisterRepository (monitor, url, false);
+               }
+               
+               public AddinRepository RegisterRepository (IProgressStatus 
monitor, string url, bool updateNow)
+               {
                        if (!url.EndsWith (".mrep"))
                                url = url + "/main.mrep";
                        
+                       RepositoryRecord rr = FindRepositoryRecord (url);
+                       if (rr != null)
+                               return rr;
+
                        RegisterRepository (url, false);
+                       
                        try {
-                               UpdateRepository (monitor, url);
-                               RepositoryRecord rr = FindRepositoryRecord 
(url);
-                               Repository rep = rr.GetCachedRepository ();
-                               rr.Name = rep.Name;
+                               if (updateNow) {
+                                       UpdateRepository (monitor, url);
+                                       rr = FindRepositoryRecord (url);
+                                       Repository rep = rr.GetCachedRepository 
();
+                                       rr.Name = rep.Name;
+                               }
                                service.SaveConfiguration ();
                                return rr;
                        } catch (Exception ex) {
-                               monitor.ReportError ("The repository could not 
be registered", ex);
+                               if (monitor != null)
+                                       monitor.ReportError ("The repository 
could not be registered", ex);
                                if (ContainsRepository (url))
                                        RemoveRepository (url);
                                return null;
@@ -83,7 +96,10 @@
                        string name = service.RepositoryCachePath;
                        if (!Directory.Exists (name))
                                Directory.CreateDirectory (name);
-                       name = Path.Combine (name, new Uri (url).Host);
+                       string host = new Uri (url).Host;
+                       if (host.Length == 0)
+                               host = "repo";
+                       name = Path.Combine (name, host);
                        rr.File = name + "_" + 
service.Configuration.RepositoryIdCount + ".mrep";
                        
                        rr.Id = "rep" + service.Configuration.RepositoryIdCount;

Modified: trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs
===================================================================
--- trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs       
2007-05-07 18:10:37 UTC (rev 76856)
+++ trunk/mono-addins/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs       
2007-05-07 18:11:27 UTC (rev 76857)
@@ -154,9 +154,16 @@
                        if (targetDirectory == null)
                                targetDirectory = basePath;
 
-                       // Some ID cleanup
-                       string name = conf.AddinId.Replace (',','_').Replace 
(".__", ".");
+                       // Generate the file name
                        
+                       string name;
+                       if (conf.LocalId.Length == 0)
+                               name = Path.GetFileNameWithoutExtension 
(filePath);
+                       else
+                               name = conf.LocalId;
+                       name = Addin.GetFullId (conf.Namespace, name, 
conf.Version);
+                       name = name.Replace (',','_').Replace (".__", ".");
+                       
                        string outFilePath = Path.Combine (targetDirectory, 
name) + ".mpack";
                        
                        ZipOutputStream s = new ZipOutputStream (File.Create 
(outFilePath));
@@ -308,19 +315,16 @@
                void GenerateIndexPage (Repository rep, ArrayList addins, 
string basePath)
                {
                        StreamWriter sw = new StreamWriter (Path.Combine 
(basePath, "index.html"));
-                       sw.WriteLine ("<html><body><head>");
                        sw.WriteLine ("<html><body>");
-                       sw.WriteLine ("<link type='text/css' rel='stylesheet' 
href='md.css' />");
-                       sw.WriteLine ("</head>");
                        sw.WriteLine ("<h1>Add-in Repository</h1>");
                        if (rep.Name != null && rep.Name != "")
                                sw.WriteLine ("<h2>" + rep.Name + "</h2>");
-                       sw.WriteLine ("<p>This is a list of add-ins available 
in this repository. ");
-                       sw.WriteLine ("If you need information about how to 
install add-ins, please read <a 
href='http://www.monodevelop.com/Installing_Add-ins'>this</a>.</p>");
+                       sw.WriteLine ("<p>This is a list of add-ins available 
in this repository.</p>");
                        sw.WriteLine ("<table 
border=1><thead><tr><th>Add-in</th><th>Version</th><th>Description</th></tr></thead>");
                        
                        foreach (PackageRepositoryEntry entry in addins) {
-                               sw.WriteLine ("<tr><td>" + entry.Addin.Id + 
"</td><td>" + entry.Addin.Version + "</td><td>" + entry.Addin.Description + 
"</td></tr>");
+                               Console.WriteLine ("entry.Addin.Name:" + 
entry.Addin.Name);
+                               sw.WriteLine ("<tr><td>" + entry.Addin.Name + 
"</td><td>" + entry.Addin.Version + "</td><td>" + entry.Addin.Description + 
"</td></tr>");
                        }
                        
                        sw.WriteLine ("</table>");
@@ -332,10 +336,8 @@
                        get {
                                if (config == null) {
                                        config = (AddinSystemConfiguration) 
AddinStore.ReadObject (RootConfigFile, typeof(AddinSystemConfiguration));
-                                       if (config == null) {
+                                       if (config == null)
                                                config = new 
AddinSystemConfiguration ();
-                                               Repositories.RegisterRepository 
("http://go-mono.com/md/main.mrep";, false);
-                                       }
                                }
                                return config;
                        }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to