[MonoDevelop] Addins for MonoDevelop 0.50

Todd Berman tberman@off.net
Wed, 29 Dec 2004 23:37:55 -0800

On Wed, 2004-12-29 at 22:47 -0600, Jose Cornado wrote:
> Guys:
> I have been thinking about writing a couple of addins for MonoDevelop
> for a while.
> I have not done so mainly because I waited unitl the underlying
> components were stable enough to use.
> As a brief description of how our addins work:
> The addins should "attach" themselves to the build button of the toolbar.
> After a successful build, depending on the nature of the source file
> (java or cs) the different components would be called.
> I have a couple of questions and commets:
> 1) The most logical place to call this looks:
> MonoDevelop.Services.DefaultProjectService.AfterCompile(...)
> But I do not want to modify MonoDevelop. Is there an equivalent of
> "onBuildDone" event to register with as VS .Net has?

No there is not, however we would be happy to add one for you, you
should file a bug on http://bugzilla.ximian.com in the MonoDevelop

> 2) The only visible change to the user are a couple of views where our
> Addin could print out its messages. I am asuming that the SharpDevelop
> docs should have enough to stack these against the Task view.
> Is this correct?

I am not 100% sure what you mean.

> 3) Since MD can work with Java and .Net source files, would the
> default code model handle this transparently?
> Or MD has the equivalent of a jdt to handle the Java code model and a
> ".Net-dt" to handle the c# code model? How do I make calls to the JVM
> from MD?

You can't make direct calls to the jvm (in process) in MD right now, we
have what are called Language Bindings that basically map various
features to language specific things. I believe our current java binding
is actually designed to use gcj and ivkm, but I am not 100% up on that
piece of code.

> 4) I just installed Mono 1.0.5 and MD using Rug. I downloaded the
> source tar for MD 0.50 and the readme asks to run autogen.sh but
> autogen.sh is not there.

autogen.sh is for people using SVN, configure is what you want, however,
there have been a good number of changes since 0.5, (and 0.5.1) and I
would recommend using MonoDevelop's SVN for any new development based on