func (r *Runner) diffAndUpdateDeps(depsMap map[string]dep.Dependency) {
	r.dependenciesLock.Lock()
	defer r.dependenciesLock.Unlock()

	// Diff and up the list of dependencies, stopping any unneeded watchers.
	log.Printf("[DEBUG] (runner) diffing and updating dependencies")

	for key, d := range r.dependencies {
		if _, ok := depsMap[key]; !ok {
			log.Printf("[DEBUG] (runner) %s is no longer needed", d)
			r.watcher.Remove(d)
			r.brain.Forget(d)
		} else {
			log.Printf("[DEBUG] (runner) %s is still needed", d)
		}
	}

	r.dependencies = depsMap
}
func (r *Runner) diffAndUpdateDeps(depsMap map[string]dep.Dependency) {
	r.dependenciesLock.Lock()
	defer r.dependenciesLock.Unlock()

	// Diff and up the list of dependencies, stopping any unneeded watchers.
	log.Printf("[DEBUG] (runner) diffing and updating dependencies")

	for key, d := range r.dependencies {
		if _, ok := depsMap[key]; !ok {
			log.Printf("[DEBUG] (runner) %s is no longer needed", d)
			r.watcher.Remove(d)
			r.brain.Forget(d)
		} else {
			log.Printf("[DEBUG] (runner) %s is still needed", d)
		}
	}

	r.dependencies = depsMap
}
func ( r * Runner ) diffAndUpdateDeps ( depsMap map [ string ] dep . Dependency ) { r . dependenciesLock . Lock ( ) defer r . dependenciesLock . Unlock ( ) // Diff and up the list of dependencies, stopping any unneeded watchers. log . Printf ( " " ) for key , d := range r . dependencies { if _ , ok := depsMap [ key ] ; ! ok { log . Printf ( " " , d ) r . watcher . Remove ( d ) r . brain . Forget ( d ) } else { log . Printf ( " " , d ) } } r . dependencies = depsMap }
// diffAndUpdateDeps iterates through the current map of dependencies on this
// runner and stops the watcher for any deps that are no longer required.
//
// At the end of this function, the given depsMap is converted to a slice and
// stored on the runner.
diffAndUpdateDeps iterates through the current map of dependencies on this runner and stops the watcher for any deps that are no longer required . At the end of this function the given depsMap is converted to a slice and stored on the runner .