Ancora non vedo come questo risolva effettivamente la domanda a portata di mano.
Se ho 4 attività con dipendenze definite tra di loro
A, B, C, D
dove A dipende da B, ecc. come definito da gulp.task('A',['B'],function A(){});
e quindi ho definito una nuova attività usando gulp.watch eseguendo solo le funzioni duplicherebbe le dipendenze.
ad es. date queste attività (ciascuna funzione delle attività esposta tramite nome):
function A(){}
gulp.task('A',['B'],A);
function A(){}
gulp.task('A',['B'],A);
function B(){}
gulp.task('B',['C'],B);
function C(){}
gulp.task('C',['D'],C);
function D(){}
gulp.task('D',[],D);
posso scrivere 1)
gulp.task('WATCHER', ['A'], function(){
...
}
che eseguirà A-> D ma se ad esempio il passaggio B fallisce non entrerebbe mai nell'attività (pensa all'errore di compilazione o di prova)
oppure posso scrivere 2)
gulp.task('WATCHER', [], function(){
gulp.watch(...,['A'])
}
che non avrebbe eseguito A-> D fino a quando qualcosa non fosse cambiato prima.
oppure posso scrivere 3)
gulp.task('WATCHER', [], function(){
D();
C();
B();
A();
gulp.watch(...,['A'])
}
che causerebbe la duplicazione (ed errori nel tempo) della gerarchia delle dipendenze.
PS: Nel caso in cui qualcuno si chieda perché vorrei che la mia attività di controllo venga eseguita se una delle attività dipendenti fallisce, di solito è perché utilizzo l'orologio per lo sviluppo live. per esempio. inizio la mia attività di orologio per iniziare a lavorare su test ecc. e può essere che il codice iniziale con cui inizio abbia già problemi, quindi errori.
Quindi spero che gulp run o qualcosa di equivalente rimanga per un po 'di tempo
scripts
, ma ha anche senso forzare l'esecuzione di questa attività immediatamente (senza attendere fino a quando alcuni file di script cambiano).