Archives

Next Archive Previous Archive

01 Sep - 30 Sep 2003
01 Oct - 31 Oct 2003
01 Nov - 30 Nov 2003
01 Jan - 31 Jan 2004
01 Feb - 28 Feb 2004
01 Mar - 31 Mar 2004
01 May - 31 May 2004
01 June - 30 June 2004
01 Jul - 31 Jul 2004
01 Nov - 30 Nov 2004
01 Jan - 31 Jan 2005
01 Apr - 30 Apr 2005
01 May - 31 May 2005
01 Jul - 31 Jul 2005
01 Aug - 31 Aug 2005
01 Sep - 30 Sep 2005
01 Oct - 31 Oct 2005
01 Nov - 30 Nov 2005
01 Dec - 31 Dec 2005
01 Jan - 31 Jan 2006
01 Feb - 28 Feb 2006
01 Mar - 31 Mar 2006
01 May - 31 May 2006
01 June - 30 June 2006
01 Aug - 31 Aug 2006
01 Sep - 30 Sep 2006
01 Nov - 30 Nov 2006

Last Comments

buy valium2307 (So many news in M…): hmjwtlSorry for that.
order ambien6966 (Summer is approac…): lghptpSorry for that.
buy fioricet1110 (Namibia): tkksjrSorry for that.
online lexapro321… (Using TreeView cu…): bpwmbjSorry for that.
buy lipitor9884 (NUnit add for Mon…): kwgronSorry for that.
online soma7121 (Glade 3 in MonoDe…): ghepodSorry for that.
buy vicodin8303 (An exciting GUADE…): tmtnroSorry for that.
generic fioricet3… (Visiting Mexico): iinhfdSorry for that.
generic fioricet0… (Refactoring): ssnwmsSorry for that.
online nexium0500… (New Year New Life…): ilrcblSorry for that.

Last Referrers

13:02 moldovamap.ru/up.html
13:02 nebo9ei.ce.ms/sitemap.html
13:00 ft-gaz.ru
12:56 moldovamap.ru
12:55 lovefreeru.xtreemhost.com/site…
12:55 veneramarshv.noadsfree.com/sit…
12:55 moldovamap.ru/maps
12:55 k-flex.org
12:52 buyhghsupplement.info/2007/08/…
12:50 moldovamap.ru/2008/08/05/gpsma…

Links

Google
Pivot

To change this list, edit the file '_aux_link_list.html' in your pivot's templates folder.

Stuff

Powered byPivot - 1.24.3: 'Arcee' 
XML Feed (RSS 1.0) 

About

This is the default template for Pivot. You can change this text by editing the file templates/frontpage_template.html in your pivot folder.

Linkdump

+ 7 - 3 | § So many news in MD, so many...

MonoDevelop 0.8

Everybody already knows, but well, let me mention that MD 0.8 was released last week.

New web site

The 0.8 release was a good excuse to set up a new web site for MD. We wanted a web site easier to update, and where everybody could contribute, and MediaWiki is ideal for this. So I started with a copy of the Mono website, and I changed the background (the blue strip), the logo, the link box, and some styles. I used Inkscape to make the images, it's the first time I use it and turned out to be really useful. In any case, we are still lacking a real logo, although looks like Idan Gazit is already working on it.

Assembly Reorganization

Some weeks ago I committed the long time due assembly reorganization. MD is now more modular, the namespace hierarchy is more coherent, and the source code files easier to locate (we now follow the same convention as in Mono). Without this reorganization it would have not been possible to do all I'm going to explain next.

Application add-ins

That's a simple but interesting feature: add-ins can now register applications that can be executed from a terminal, from outside the MD IDE. To create an application, you only need to implement the IApplication interface and its Run (string[] args) method, and register the class in the  /Workspace/Applications extension point. For example:

<Extension path = "/Workspace/Applications">
   <Class id = "build" class = "MonoDevelop.Projects.BuildTool"/>
</Extension>

You can then execute the application using the mdrun tool and providing the ID you used to register the app:

> mdrun build

build is actually a real app already implemented, which is basically a command line tool for compiling MD projects. By default it compiles the first mds or mdp file it finds in the current folder, but you can also provide a project file path with the --f option. This is an example of the output you would get:

lluis@portatil:~/Projects/ttest> mdrun build
MonoDevelop Build Tool
Loading combine: ./ttest.mds
   Loading project: /home/lluis/Projects/ttest/ttest.mdp
   Loading project: /home/lluis/Projects/ttest2/ttest2.mdp
   Loading project: /home/lluis/Projects/ttest3/ttest3.mdp
Building Solution ttest
   Building Project: ttest Configuration: Debug
      Performing main compilation...
      Compilation succeeded - 1 warning(s)
     
      /home/lluis/Projects/ttest/Main.cs(28,11): warning CS0219: The variable
      `r' is assigned but its value is never used     

      Build complete -- 0 errors, 1 warnings
   Building Project: ttest2 Configuration: Debug
      Performing main compilation...
      Build complete -- 0 errors, 0 warnings
   Building Project: ttest3 Configuration: Debug
      Performing main compilation...
      Build complete -- 0 errors, 0 warnings

What's interesting is that the tool will load all add-ins it needs to run, not only the language binding add-ins but also project extensions, such as the extension for compiling Mono. So, if you have the MD extensions for Mono developers, you can cd to the mcs directory and run:

mdrun build --f:Makefile

This will compile the Mono class libraries, and all driven by MD's project system. Not really useful (since you can do the same with just typing make), but cool anyways.

In addition to build there are three more commands:

And what's all this about the add-in manager? keep reading...

UPDATE: mdrun has been renamed to mdtool, since an aplication with that name already exist in Linux.

The Add-in Manager

So now MD has an add-in manager you can use to download, install, update or uninstall add-ins. Here is a screenshot:



The add-in manager can be started from the MD IDE (Tools menu), from the command line (mdrun gsetup), or you can use the command-line version (mdrun setup).

With the add-in manager it is possible to install add-ins from on-line repositories, and keep track of updates. You only need to register the repository url (there is a button for this), and select the add-ins you want to install. The manager will take care of dependencies between add-ins, or between add-ins and the core assemblies.

There is already one repository, which is located at http://go-mono.com/md, and which contains all the core add-ins. Oh, I haven't said it before, but at as a result of the reorganization now all core MD assemblies are add-ins, including the IDE (but excluding MonoDevelop.Core, which contains the add-in engine itself). This means that starting in the next MD release, we'll be able to provide updates to the IDE or any of its core add-ins by just pushing a new version of the add-in in the go-mono repository. No need for repackaging. The same assembly available for everybody.

However, it's not so clear we always want to update MD in this way. I mean, if I install the MD 0.9 RPM package it might be confusing to allow upgrading the IDE to 0.10 through the add-in manager. Although upgrading to 0.9.1 (maybe a bug-fix release) would make sense.

Add-in packages and repositories

So, how can you package your add-in and make it available to all MD users? here is a quick guide:
There is already an add-in published in this way. The very first MD add-in available online. It's the nice Welcome Page add-in by Scott Ellington, available at http://www.salmonsalvo.net/myaddins. Just register this url as an add-in repository, and you should see the Welcome Page in the list of add-ins available to install. You need an MD just updated from SVN for all this to work, of course.

Now, the question is: what happens if MD is installed in a directory where the user has no write privileges? it is not so clear what to do in this case. I see two options:
Anyways, until we find a good solution, this should be enough: "sudo mdrun gsetup".