Marius Gheorghe

Building software : make it work, make it good, make it fast

The build script

Ah, the build + optional deploy script. The "thing" that turns whatever your compiler spits out into a zip/msi/whatever that you can actually install /pass along to customers. For build scripts i've started with batch files, C# , Powershell, moving to msbuild tasks (yeah, that was "fun" ), FAKE, to the node.js "task runner" framework du jour (Grunt, Gulp etc)  to finally get back to Powershell. 

  I still think the best solution for writing a build script is in a shell scripting language (Powershell, bash, whatever) because :

- when it will crash (and it will !!) you're debugging code written by you instead of fuzzing around with a stacktrace spitted up by some shitty Grunt plugin (for instance).

- ubiquity : only powershell/bash is required to run it (compared with node.js + npm + gulp + whatever other plugins you are using).

- simplest way to run 3rd party CLI apps as part of build process ( "& filePath args" and you're done).

- everything is in one place (no package.json, gruntfile(s) and so on). A single file that handles everything.