[MonoDevelop] Cross platform build strategy

Jayme jayme.edwards at gmail.com
Tue May 31 15:05:48 EDT 2005


Thanks for the tip Todd - can I ask if you have any shortcut hints on where 
I should start in the source branch to look for finding an existing 
"Project" base class and / or the accompanying configuration I need to set 
to make this class I would write integrate with the IDE? I don't expect a 
document that explains all of this since the code is all there, but finding 
where the configuration of which of these project loaders is available might 
help. Perhaps you do it through reflection of MD's bin folder and it's 
simpler than I am thinking.

-Jayme

On 5/31/05, Todd Berman <tberman at off.net> wrote:
> 
> On Tue, 2005-05-31 at 13:12 -0500, Jayme wrote:
> > > I think that from summarizing your needs the best approach
> > would be to
> > > have a MD builder, a console utility, detached from MD that
> > takes
> > > .mds/.mdp files and just compiles them, using
> > platform-neutral
> > > managed code. I would refactor that part of MD into a
> > library, called
> > > by MD and by this console 'mdbuild' (?).
> > >
> > > The problems I see are:
> > >
> > > 1-- .mds/.mdb files format aren't stable
> > > 2-- MD plugins may interfere (They need to follow some
> > stricter design
> > > rules, like having no-UI, to be usable as nice 'tasks' in
> > this build
> > > system).
> > >
> > > Just some wild thoughts,
> >
> >
> > Yes this is almost the same thing as having an NAnt addin for MD. The
> > difference between what I'm looking for though and how other IDE's
> > such as SharpDevelop have done it is that there needs to be some sort
> > of way that this project file (MDB, NAnt .build, whatever) tells the
> > IDE (through perhaps some extra XML attributes in the project's markup
> > that are assigned to an XML namespace other than what NAnt expects and
> > only "picked up" by the IDE) what executable to debug - as well as a
> > way that the IDE can get the list of files included in the project to
> > allow editing of.
> >
> > NAnt uses a simple pattern matching syntax (for example, compile
> > src/MyProject/**.cs includes recursively all cs files below
> > src/MyProject) that can be invoked through NAnt's API - this could
> > allow an IDE to theoretically apply the pattern, get back the list of
> > files that match the pattern, and show them as the list of files in
> > the project. However all IDE's addin layers I've seen up to this point
> > aren't flexible enough to support this yet.
> 
> Except ours.
> 
> Go look into it, you could write a NAntProject class that allows a user
> to open a NAnt build file *AS* the project file.
> 
> Lluis has done so with the mcs *.sources files with great success.
> 
> Like I said initially, it sounded like you were interested in opening
> NAnt files w/ MD, not building MD w/ NAnt.
> 
> Note, that if you were able to make the NAntProject work well, and be
> flexible, there would finally be a potential advantage to making MD
> build w/ NAnt, because then our project/build files would be the same
> files. However, I think doing this and getting the flexibility you need
> might be difficult, but I welcome you to try :)
> 
> --Todd
> 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://galactus.ximian.com/pipermail/monodevelop-list/attachments/20050531/cbaa0aaa/attachment.html


More information about the Monodevelop-list mailing list