[MonoDevelop] Cross platform build strategy

Todd Berman tberman at off.net
Wed May 25 16:38:21 EDT 2005


On Wed, 2005-05-25 at 15:25 -0500, Jayme wrote:
> On 5/25/05, Todd Berman <tberman at off.net> wrote:
>         In theory we could bloat the repository and include an already
>         compiled
>         copy of NAnt there, but we gain nothing.
> 
> In theory. Translation - uneducated excuse.  

Heh, no not uneducated, potentially unenlightened, but def. not
uneducated.

> 
> 
>         Dude. MD *NEVER WORKED ON WINDOWS*
>         
>         NEVER
> 
> Hrm I was certain a 1.0x release included monodevelop. It must have
> been an RPM build on my linux box - you would know.
>  

Yep, I would and I do, it has never worked.

>         We have that, .mdp and .mds
> 
> These are standard formats? Why reinvent the wheel?
>  

They are exactly as standard as the nant format.

> 
>         > -Access to a ton of tasks that will exercise everything in
>         the .NET
>         > framework plus many open source tools that when used by
>         monodevelop 
>         > can make the IDE even more attractive
>         
>         Um, distill that into english, not marketing blah. That means
>         nothing to
>         me as a developer. and I doubt nant gets us that too easily.
> 
> It may mean nothing to you as a developer - but people want to use
> mono (and your IDE) to write software applications. Some of these
> software applications might, god forbid, want to use the other tools
> included with mono that are not visual (read - command line) and not
> exposed through monodevelop. If you dont care, then you obviously care
> only about your own productivity and not the other developers who
> SHOULD be wanting to use your IDE. With this attitude I understand why
> you look at monodevelop as a "for fun" product. Why not just shut the
> thing down now and create a real project that bears the moniker "mono"
> in the name for those of us who would like to create software that
> makes money on mono instead of playing tinker toys with your side job
> priorities. I don't think Novell created mono "for fun".
> 
> 

See, instead of attacking people and not being helpful, you could have
explained how switching to build MD with NAnt helps integrate other
software tools with MD. At least, if I was trying to convince other
people that I had a good idea, I would have spent the time to explain
why NAnt helps the integration...

> 
> 
>         That has never been our intent, we want to provide linux users
>         with a
>         good IDE to do C# work in, not convert #D users to use an IDE
>         that 
>         doesn't even run on their host platform.
> 
> Well my bad that it's beyond your technical abilities to recognize
> that using strictly Gtk# could make your IDE run on all platforms that
> support mono. Your being as ignorant as Microsoft to tie it to linux. 
> 

Oh, we recognize it, and in fact, if you looked at the early archives
for this list (which you didn't) you would see that one of my early
goals with MD was to continue to work on windows. But Miguel (maybe you
have hear of him, you know, guy who created Mono and all that) convinced
me that would result in an LCD IDE that didnt feel completely native on
linux, which is what he (and later I) decided we wanted.

> 
>         > -A reason for the NAnt team to create turn-key distros for
>         linux
>         
>         Uh. I guess... not really a win for anyone involved in
>         MonoDevelop.
> 
> Again you only care about the monodevelop team. I can see you've never
> written software for a customer, or if you have, there's a reason why
> your not anymore. 
> 
> 

In the context of creating the MonoDevelop build system, yes I only care
about the MonoDevelop team.

If you were proposing a NAnt add-in to MonoDevelop, I would say "Hey,
great idea, you can even use the project stuff that lluis did to make it
so that MD could just natively open build files like project files, this
would absolutely be something that MonoDevelop wants".

*HOWEVER*

You are talking about converting the MonoDevelop build system to NAnt.
That is of import only to MonoDevelop and its team.

>         > -Less lines of code in the build environment
>         
>         *wrong*
>         
>         You have no idea how much logic it would take to replicate
>         make install, 
>         make run, make dist, and make distcheck.
> 
> 
> I have a perfect idea, I just converted 4 of your build scripts dude
> and told you it halved the lines. Go ahead, tell me you've used Ant
> with Java and don't believe me again...
> 
> 

But did you do it with all those different features? I have yet to see
your build files, so I couldnt comment, but do you generate a tarball
that someone could then use that tarball to build a copy of MD?

>         > -Better readability and validation of build files because
>         they are
>         > well formed XML not just text 
>         
>         dude.
>         
>         make validates our makefiles.
> 
> 
> So it prevents you from putting a typo in the file with your text
> editor? No it doesn't validate until you run. You can validate XML
> before you even save it - oh that's right you knew that because of
> your superior XML knowledge *rolls eyes*. 
> 
> 

Neither does using XML (wellformed and valid XML even) prevent you from
putting a typo in your files.

Don't mistake my lack of enthusiasm for a technology as a lack of
knowledge.

> 
>         And as far as a mono IDE depending on platform-specific
>         code... well..
>         auto* works fine on win32. look at SFW and cygwin please.
> 
> So because you don't want to put a 5 meg installation (NAnt)
> dependency on your build and standardize it for all platforms that
> support mono, windows users should have to put the bloat that is
> cygwin on their box. If you had a clue you'd realize how ignorant this
> argument is. Obviously you don't. 
> 
> 

If MonoDevelop ran and built on Win32, and people had to have cygwin to
build it, you might have a point. But since it doesn't work on win32,
the entire point is moot. What MonoDevelop requires is linux, which
makes a 5MB NAnt dep or a XMB cygwin dep immaterial.

>         Get NAnt build files that do exactly what we do with the auto*
>         build
>         system, and we would happily look at switching. And because
>         you didn't 
>         seem to see the list of things nant *doesnt* do for free, let
>         me list it
>         again:
>         
>         1) i18n integration
>         2) make dist
>         3) make distcheck
>         4) make run
>         5) make install
> 
> What a sad day. Someone please tell me when a customer focused IDE
> project for mono is going to begin. This one's a waste of time...

Yeah, because I asked you to put up or shut up, and make this change,
and prove us all wrong, we aren't focused on our 'customers'.

--Todd



More information about the Monodevelop-list mailing list