[MonoDevelop] Cross platform build strategy
Todd Berman
tberman at off.net
Tue May 31 14:59:46 EDT 2005
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
More information about the Monodevelop-list
mailing list