back to article Microsoft open sources MSBuild, aims for cross-platform dev tools

Microsoft’s build engine, MSBuild, has been published as open source on GitHub and will be ported to Linux and the Mac. A build engine is used by developers to compile libraries and applications from source code. Using MSBuild, developers can define the build process in XML files, including pre-processing, compilation and post …

  1. Anonymous Coward
    Anonymous Coward

    if you want a cross platform...

    ...XML based build tool, what's wrong with Ant?

    Could just write a one off conversion tool and be done with it.

    1. boltar Silver badge

      Re: if you want a cross platform...

      "what's wrong with Ant?"

      Over complicated with a large learning curve plus IIRC it depends on having Java installed. These tend not to be attractive attributes in a build tool.

    2. Michael Wojcik Silver badge

      Re: if you want a cross platform...

      What's wrong with ant? Pretty much everything. It's horrible. Ugly, hard to read and write, unnecessary dependencies...

      Mind you, the same is true of MSBuild. And of most build systems. (Take the design disaster that is the original make: Whitespace is significant! The kind of whitespace is significant! Pro tip: when your syntax depends on indistinguishable characters, you've fucked it up.1)

      The reason for using MSBuild for .NET Core projects, as de Icaza explains in the bit the article quoted, is that existing .NET projects already use it.

      1That said, I still use make for my own projects, as it's generally the least of the available evils, and a devil I know well.

  2. sorry, what?
    FAIL

    Plenty of other...

    And better build systems already available away from Windows. The same can be said for IDEs.

    1. druck Silver badge

      Re: Plenty of other...

      MonoDevelop has always worked for me when porting C# projects from Windows.

  3. This post has been deleted by its author

  4. Voland's right hand Silver badge

    Ugh...

    Another one... If Maven was not enough (the first thing that comes to my mind when I think of XML controlled build systems).

    1. Deltics

      Re: Ugh...

      The first thing that comes to mind when I think of XML controlled build systems is ... WHY ?

      XML should be taken outside for a short conversation with a high calibre weapon.

    2. Michael Wojcik Silver badge

      Re: Ugh...

      And Maven is probably the best least bad of the bunch.

  5. Ken Hagan Gold badge

    Now might a good moment to point out that parser generators have been available for longer than I have, so there's really no excuse for using XML for anything intended to be written or maintained by a human being.

    1. sorry, what?

      Parsen me... drifting off topic... but

      The benefit of XML is that a schema can be readily described and applied by general purpose XML editors. Even better, CSS can be applied to provide visual editors (look at the brilliant oXygen XML Editor and how it supports things like docbook etc. in a configurable way, providing a schema adaptable wysiwyg editor).

      1. Deltics

        Re: Parsen me... drifting off topic... but

        Check the history of XML. That's not a benefit, it's a consequence.

      2. Michael Wojcik Silver badge

        Re: Parsen me... drifting off topic... but

        The benefit of XML is that a schema can be readily described and applied by general purpose XML editors. Even better, CSS can be applied to provide visual editors (look at the brilliant oXygen XML Editor and how it supports things like docbook etc. in a configurable way, providing a schema adaptable wysiwyg editor).

        The benefit of simple, human-readable and -writable structured-plain-text DSLs is that they can be edited by any damn text editor I feel like using, without worrying about a schema and CSS.

        XML build systems are a classic case of over-engineering, and providing schemata and stylesheets for them so the build files can be edited in fancy XML editors is just compounding the foolishness.

  6. Anonymous Coward
    Anonymous Coward

    CMake FTW

    CMake is pretty nice for cross-platform C++. Beats the hell out of VS; I can't imagine MSBuild being much better except that it's not(?) tied to a friggin' IDE.

  7. Anonymous Coward
    Anonymous Coward

    sounds exciting...

    ...just let me check vs our own system :

    - multi-platform : yep

    - cross-development supported : yep

    - independent of dev languages used : yep

    - multiple build phases ( through to product release ) : yep

    - variant builds for individual end-users : yep

    - support for build 'farms' : yep

    - not tied to an IDE : yep

    - build schedules/configs etc based on XML : yep

    - been in continuous use for over 15 years : yep

    Ok, maybe not that exciting.

  8. Anonymous Coward
    Anonymous Coward

    Ported to Linux (choking)

    by Microsoft engineers (gasping desperately for air). But, but...to test it they will have to type .configure&make then sudo make install... at the command prompt (body falls on the floor with a thud) with no single mouse click.

    It should be pretty uncomfortable to type all this when you're wearing hazmat suit and heavy gloves.

    As an AC I'm not allowed to chose the joke alert icon but you get the idea.

  9. dogged

    Visual Studio will never be a cross-platform IDE

    Are you absolutely certain about that, Tim?

    Given a decent implementation of WPF on OSX or $preferred_shell along with MSBuild and .NET Core, I really can't see why not.

    It's not a money thing - VS Community is already free.

  10. Anonymous Coward
    Anonymous Coward

    I learnt to love XML (well, sorta)

    Kind of had to with Openbox, Freedesktop.org etc.

  11. PVS-Studio

    Checking the Source Code of MSBuild with PVS-Studio

    As we continue developing PVS-Studio static code analyzer, we often have to check large open-source projects by renowned developers. The fact that even such projects contain a certain amount of bugs adds even more sense and weight to our work. Unfortunately, everybody makes mistakes. No matter how carefully you control your code's quality, there is just no way to avoid "human error". As long as software is developed by humans, analysis tools like PVS-Studio will remain relevant and needed. Today, we are going to discuss errors found in the source code of MSBuild: http://www.viva64.com/en/b/0424/

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2019