Ваш вариант не самый плохой, только нужно использовать return
return gulp.src('path')
.pipe().....
Когда захотите организовать последовательное выполнение тасков, это необходимо, иначе все таски запустятся одновременно.
Как вариант распределить файлы по блокам и компилировать только выходную страницу, где эти блоки собираются. Но если страниц несколько то и сообщений тоже будет несколько.
как пример файловой структуры:
jade
├ common/
├ header.jade
└ footer.jade
├ layouts/
└ layout.jade
├ index.jade
├ page2.jade
└ page3.jade
тогда path = "jade/*.jade" без подпапок