in ibazel/ibazel.go [89:129]
func New() (*IBazel, error) {
i := &IBazel{}
err := i.setup()
if err != nil {
return nil, err
}
i.debounceDuration = 100 * time.Millisecond
i.filesWatched = map[common.Watcher]map[string]struct{}{}
i.workspaceFinder = &workspace.MainWorkspace{}
i.sigs = make(chan os.Signal, 1)
signal.Notify(i.sigs, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP)
liveReload := live_reload.New()
profiler := profiler.New(Version)
outputRunner := output_runner.New()
lifecycleHooks := lifecycle_hooks.New()
liveReload.AddEventsListener(profiler)
i.lifecycleListeners = []Lifecycle{
liveReload,
profiler,
outputRunner,
lifecycleHooks,
}
info, _ := i.getInfo()
for _, l := range i.lifecycleListeners {
l.Initialize(info)
}
go func() {
for {
i.handleSignals()
}
}()
return i, nil
}