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