Hacker News new | comments | show | ask | jobs | submit login

The problem with grunt is that it doesn't detect if files have changed, it therefore does not replace ant, make, scons or any of the other build tools that don't build things that don't need to be built.

Grunt supports executing tasks when files/directories change using the grunt-contrib-watch plugin. https://github.com/gruntjs/grunt-contrib-watch

That isnt what the post you are replying to is saying

make etc will realise a build target doesnt need recompiled because nothing has changed, this lets you recompile fairly large projects where only a single file has changed reasonably quickly

Yes this is not the same thing. Grunt rebuilds everything for tasks, and does not selectively build only targets that have had dependencies change. Make doesn't require any kind of running process for this.

Grunt has a core file selection abstraction. Adding mtime source/destination checks and removing files from the list as needed should let them add this without issue. When I looked at the file internals for a bug I encountered I didn't see why it wasn't added but I was/am in the middle of a different project so I didn't take the time to figure out why.

The lack is not a great reason to write yet another build system.

If it doesn't already have an source/destination check than it doesn't seem correct to call it a build tool. Or at least not a mature one.

I'd agree. It's more like a composable set of shell scripts at the moment. How things fit together differs quite a bit from other build systems I've used (make, rake, ant) and after a significant amount of cursing, I've come around to it.

I believe the lack of conditional execution as a result of the kind of tasks javascript programmers encounter. I'm currently building a 125k sloc js app and the most expensive step (minification) takes less time than firing up the jvm on my machine and a clean build is 4s total. There are potentially more expensive things a build system could do but I think that's fairly representative and can see how saving a second or two off a build wouldn't be a priority.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact