func collectDependenciesFromRepo(
	c *config.Config,
	lang language.Language,
) ([]string, map[string][]string) {

	packages := map[string]bool{}
	tools := map[string]map[string]bool{}
	cexts := []config.Configurer{
		&config.CommonConfigurer{},
		&walk.Configurer{},
		lang,
		golang.NewLanguage(),
		proto.NewLanguage(),
	}

	initUpdateReposConfig(c, cexts)

	walk.Walk(
		c,
		cexts,
		[]string{},
		walk.VisitAllUpdateDirsMode,
		func(
			dir,
			rel string,
			c *config.Config,
			update bool,
			f *rule.File,
			subdirs,
			regularFiles,
			genFiles []string,
		) {
			collectDependenciesFromFile(f, c, packages, tools)
		},
	)
	packageList := mapSortedStringKeys(packages)
	components := toolsToComponents(tools)
	return packageList, components
}
// Scans all BUILD files for Haskell rules and provides the list
// of Haskell packages and tools that they use.
Scans all BUILD files for Haskell rules and provides the list
of Haskell packages and tools that they use.
// Scans all BUILD files for Haskell rules and provides the list // of Haskell packages and tools that they use .
func collectDependenciesFromRepo(
	c *config.Config,
	lang language.Language,
) ([]string, map[string][]string) {
	packages := map[string]bool{}
	tools := map[string]map[string]bool{}
	cexts := []config.Configurer{
		&config.CommonConfigurer{},
		&walk.Configurer{},
		lang,
		golang.NewLanguage(),
		proto.NewLanguage(),
	}
	initUpdateReposConfig(c, cexts)
	walk.Walk(
		c,
		cexts,
		[]string{},
		walk.VisitAllUpdateDirsMode,
		func(
			dir,
			rel string,
			c *config.Config,
			update bool,
			f *rule.File,
			subdirs,
			regularFiles,
			genFiles []string,
		) {
			collectDependenciesFromFile(f, c, packages, tools)
		},
	)
	packageList := mapSortedStringKeys(packages)
	components := toolsToComponents(tools)
	return packageList, components
}
func collectDependenciesFromRepo ( c * config . Config , lang language . Language , ) ( [ ] string , map [ string ] [ ] string ) { packages := map [ string ] bool { } tools := map [ string ] map [ string ] bool { } cexts := [ ] config . Configurer { & config . CommonConfigurer { } , & walk . Configurer { } , lang , golang . NewLanguage ( ) , proto . NewLanguage ( ) , } initUpdateReposConfig ( c , cexts ) walk . Walk ( c , cexts , [ ] string { } , walk . VisitAllUpdateDirsMode , func ( dir , rel string , c * config . Config , update bool , f * rule . File , subdirs , regularFiles , genFiles [ ] string , ) { collectDependenciesFromFile ( f , c , packages , tools ) } , ) packageList := mapSortedStringKeys ( packages ) components := toolsToComponents ( tools ) return packageList , components }
Scans all BUILD files for Haskell rules and provides the list
of Haskell packages and tools that they use.
Scans all BUILD files for Haskell rules and provides the list of Haskell packages and tools that they use .