Lines Matching refs:module
149 module *moduleInfo member
164 return fmt.Sprintf("%s: %s: %s", e.Pos, e.module, e.Err)
168 return fmt.Sprintf("%s: %s: %s: %s", e.Pos, e.module, e.property, e.Err)
183 func (m *moduleAlias) module() *moduleInfo { return nil } func
188 func (m *moduleInfo) module() *moduleInfo { return m } func
194 module() *moduleInfo
203 if m := moduleOrAlias.module(); m != nil {
212 if m := l[len(l)-1-i].module(); m != nil {
229 for _, module := range group.modules {
230 if module.moduleOrAliasVariant().name == name {
231 return module
238 return group.moduleOrAliasByVariantName(name).module()
290 module *moduleInfo member
294 func (module *moduleInfo) Name() string {
300 if module.group != nil {
301 return module.group.name
303 return module.logicModule.Name()
307 func (module *moduleInfo) String() string {
308 s := fmt.Sprintf("module %q", module.Name())
309 if module.variant.name != "" {
310 s += fmt.Sprintf(" variant %q", module.variant.name)
312 if module.createdBy != nil {
313 s += fmt.Sprintf(" (created by %s)", module.createdBy)
319 func (module *moduleInfo) namespace() Namespace {
320 return module.group.namespace
770 var addModule func(module *moduleInfo) []error
771 addModule = func(module *moduleInfo) []error {
776 newModules, newDeps, errs := runAndRemoveLoadHooks(c, config, module, &scopedModuleFactories)
781 moduleCh <- newModuleInfo{module, newDeps, addedCh}
795 …module, errs := processModuleDef(def, file.Name, c.moduleFactories, scopedModuleFactories, c.ignor…
796 if len(errs) == 0 && module != nil {
797 errs = addModule(module)
830 case module := <-moduleCh:
831 newErrs := c.addModule(module.moduleInfo)
832 hookDeps = append(hookDeps, module.deps...)
833 if module.added != nil {
834 module.added <- struct{}{}
1306 func newVariant(module *moduleInfo, mutatorName string, variationName string,
1309 newVariantName := module.variant.name
1318 newVariations := module.variant.variations.clone()
1324 newDependencyVariations := module.variant.dependencyVariations.clone()
1388 func (c *Context) convertDepsToVariation(module *moduleInfo,
1391 for i, dep := range module.directDeps {
1392 if dep.module.logicModule == nil {
1394 for _, m := range dep.module.splitModules {
1402 for _, m := range dep.module.splitModules {
1412 variationName, dep.module.Name(), module.Name()),
1413 Pos: module.pos,
1417 module.directDeps[i].module = newDep
1438 if mod := moduleOrAlias.module(); mod != nil {
1451 module := &moduleInfo{
1456 module.properties = properties
1458 return module
1481 module := newModule(factory)
1482 module.typeName = moduleDef.Type
1484 module.relBlueprintsFile = relBlueprintsFile
1486 propertyMap, errs := proptools.UnpackProperties(moduleDef.Properties, module.properties...)
1500 module.pos = moduleDef.TypePos
1501 module.propertyPos = make(map[string]scanner.Position)
1503 module.propertyPos[name] = propertyDef.ColonPos
1506 return module, nil
1509 func (c *Context) addModule(module *moduleInfo) []error {
1510 name := module.logicModule.Name()
1515 Pos: module.pos,
1519 c.moduleInfo[module.logicModule] = module
1523 modules: modulesOrAliases{module},
1525 module.group = group
1527 newNamespaceContext(module),
1529 module.logicModule)
1532 errs[i] = &BlueprintError{Err: errs[i], Pos: module.pos}
1614 func findExactVariantOrSingle(module *moduleInfo, possible *moduleGroup, reverse bool) *moduleInfo {
1615 found, _ := findVariant(module, possible, nil, false, reverse)
1618 if m := moduleOrAlias.module(); m != nil {
1630 func (c *Context) addDependency(module *moduleInfo, tag DependencyTag, depName string) (*moduleInfo…
1635 if depName == module.Name() {
1638 Pos: module.pos,
1642 possibleDeps := c.moduleGroupFromName(depName, module.namespace())
1644 return nil, c.discoveredMissingDependencies(module, depName, nil)
1647 if m := findExactVariantOrSingle(module, possibleDeps, false); m != nil {
1648 module.newDirectDeps = append(module.newDirectDeps, depInfo{m, tag})
1655 return nil, c.discoveredMissingDependencies(module, depName, module.variant.dependencyVariations)
1660 depName, module.Name(),
1661 c.prettyPrintVariant(module.variant.dependencyVariations),
1663 Pos: module.pos,
1667 func (c *Context) findReverseDependency(module *moduleInfo, destName string) (*moduleInfo, []error)…
1668 if destName == module.Name() {
1671 Pos: module.pos,
1675 possibleDeps := c.moduleGroupFromName(destName, module.namespace())
1679 module.Name(), destName),
1680 Pos: module.pos,
1684 if m := findExactVariantOrSingle(module, possibleDeps, true); m != nil {
1690 …return module, c.discoveredMissingDependencies(module, destName, module.variant.dependencyVariatio…
1695 destName, module.Name(),
1696 c.prettyPrintVariant(module.variant.dependencyVariations),
1698 Pos: module.pos,
1702 func findVariant(module *moduleInfo, possibleDeps *moduleGroup, variations []Variation, far bool, r…
1711 newVariant = module.variant.dependencyVariations.clone()
1714 newVariant = module.variant.variations.clone()
1743 func (c *Context) addVariationDependency(module *moduleInfo, variations []Variation,
1749 possibleDeps := c.moduleGroupFromName(depName, module.namespace())
1751 return nil, c.discoveredMissingDependencies(module, depName, nil)
1754 foundDep, newVariant := findVariant(module, possibleDeps, variations, far, false)
1759 return nil, c.discoveredMissingDependencies(module, depName, newVariant)
1763 depName, module.Name(),
1766 Pos: module.pos,
1770 if module == foundDep {
1773 Pos: module.pos,
1779 if foundDep.group == module.group && beforeInModuleList(module, foundDep, module.group.modules) {
1782 Pos: module.pos,
1785 module.newDirectDeps = append(module.newDirectDeps, depInfo{foundDep, tag})
1798 if m := moduleOrAlias.module(); m != nil {
1863 waitCount(module *moduleInfo) int
1865 propagate(module *moduleInfo) []*moduleInfo
1872 func (unorderedVisitorImpl) waitCount(module *moduleInfo) int {
1876 func (unorderedVisitorImpl) propagate(module *moduleInfo) []*moduleInfo {
1881 for _, module := range modules {
1882 if visit(module, nil) {
1890 func (bottomUpVisitorImpl) waitCount(module *moduleInfo) int {
1891 return len(module.forwardDeps)
1894 func (bottomUpVisitorImpl) propagate(module *moduleInfo) []*moduleInfo {
1895 return module.reverseDeps
1899 for _, module := range modules {
1900 if visit(module, nil) {
1908 func (topDownVisitorImpl) waitCount(module *moduleInfo) int {
1909 return len(module.reverseDeps)
1912 func (topDownVisitorImpl) propagate(module *moduleInfo) []*moduleInfo {
1913 return module.forwardDeps
1918 module := modules[len(modules)-1-i]
1919 if visit(module, nil) {
1948 visit func(module *moduleInfo, pause chan<- pauseSpec) bool) []error {
1963 for _, module := range modules {
1964 module.waitingCount = order.waitCount(module)
1969 startOrBacklog := func(module *moduleInfo) {
1973 ret := visit(module, pauseCh)
1977 doneCh <- module
1980 backlog = append(backlog, module)
2013 for _, module := range modules {
2014 if module.waitingCount == 0 {
2015 startOrBacklog(module)
2045 for _, module := range order.propagate(doneModule) {
2046 module.waitingCount--
2047 if module.waitingCount == 0 {
2048 startOrBacklog(module)
2093 var check func(module, end *moduleInfo) []*moduleInfo
2094 check = func(module, end *moduleInfo) []*moduleInfo {
2095 if module.waitingCount == -1 {
2099 if module == end {
2101 return []*moduleInfo{module}
2104 if _, alreadyChecked := checked[module]; alreadyChecked {
2108 for _, dep := range order.propagate(module) {
2111 return append([]*moduleInfo{module}, cycle...)
2114 for _, depPauseSpec := range pauseMap[module] {
2117 return append([]*moduleInfo{module}, cycle...)
2121 checked[module] = struct{}{}
2126 for _, module := range modules {
2127 for _, pauseSpec := range pauseMap[module] {
2190 check = func(module *moduleInfo) []*moduleInfo {
2191 visited[module] = true
2192 checking[module] = true
2193 defer delete(checking, module)
2196 module.reverseDeps = module.reverseDeps[:0]
2197 module.forwardDeps = module.forwardDeps[:0]
2200 for _, dep := range module.group.modules {
2201 if dep == module {
2204 if depModule := dep.module(); depModule != nil {
2205 module.forwardDeps = append(module.forwardDeps, depModule)
2210 for _, dep := range module.directDeps {
2212 for _, exists := range module.forwardDeps {
2213 if dep.module == exists {
2217 module.forwardDeps = append(module.forwardDeps, dep.module)
2220 for _, dep := range module.forwardDeps {
2223 return []*moduleInfo{dep, module}
2229 if cycle[0] == module {
2241 return append(cycle, module)
2246 dep.reverseDeps = append(dep.reverseDeps, module)
2249 sorted = append(sorted, module)
2254 for _, module := range c.moduleInfo {
2255 if !visited[module] {
2256 cycle := check(module)
2258 if cycle[len(cycle)-1] != module {
2318 jsonModuleName: *jsonModuleNameFromModuleInfo(d.module),
2483 module *moduleInfo member
2515 visit := func(module *moduleInfo, pause chan<- pauseSpec) bool {
2516 if module.splitModules != nil {
2524 module: module,
2530 module.startedMutator = mutator
2535 in := fmt.Sprintf("%s %q for %s", direction, mutator.name, module)
2547 module.finishedMutator = mutator
2579 reverseDeps[r.module] = append(reverseDeps[r.module], r.dep)
2587 if m := moduleOrAlias.module(); m != nil {
2622 module := group.modules[i].module()
2623 if module == nil {
2629 if module.splitModules != nil {
2630 group.modules, i = spliceModules(group.modules, i, module.splitModules)
2635 for j, dep := range module.directDeps {
2636 if dep.module.logicModule == nil {
2637 module.directDeps[j].module = dep.module.splitModules.firstModule()
2641 if module.createdBy != nil && module.createdBy.logicModule == nil {
2642 module.createdBy = module.createdBy.splitModules.firstModule()
2646 module.directDeps = append(module.directDeps, module.newDirectDeps...)
2647 module.newDirectDeps = nil
2681 for module, deps := range reverseDeps {
2683 module.directDeps = append(module.directDeps, deps...)
2687 for _, module := range newModules {
2688 errs = c.addModule(module)
2800 func(module *moduleInfo, pause chan<- pauseSpec) bool {
2801 uniqueName := c.nameInterface.UniqueName(newNamespaceContext(module), module.group.name)
2804 prefix := moduleNamespacePrefix(sanitizedName + "_" + module.variant.name)
2815 module: module,
2818 handledMissingDeps: module.missingDeps == nil,
2821 mctx.module.startedGenerateBuildActions = true
2826 in := fmt.Sprintf("GenerateBuildActions for %s", module)
2835 mctx.module.logicModule.GenerateBuildActions(mctx)
2838 mctx.module.finishedGenerateBuildActions = true
2845 if module.missingDeps != nil && !mctx.handledMissingDeps {
2847 for _, depName := range module.missingDeps {
2848 errs = append(errs, c.missingDependencyError(module, depName))
2856 newErrs := c.processLocalBuildActions(&module.actionDefs,
2983 var walk func(module *moduleInfo)
2984 walk = func(module *moduleInfo) {
2985 for _, dep := range module.directDeps {
2986 if allowDuplicates || !visited[dep.module] {
2987 visiting = dep.module
2990 recurse = visitDown(dep, module)
2992 if recurse && !visited[dep.module] {
2993 walk(dep.module)
2994 visited[dep.module] = true
2997 visitUp(dep, module)
3016 func (c *Context) moduleMatchingVariant(module *moduleInfo, name string) *moduleInfo {
3017 group := c.moduleGroupFromName(name, module.namespace())
3024 if module.variant.name == m.moduleOrAliasVariant().name {
3052 if d.module == replace.from {
3054 if replace.predicate == nil || replace.predicate(m.logicModule, d.tag, d.module.logicModule) {
3055 m.directDeps[i].module = replace.to
3070 func (c *Context) discoveredMissingDependencies(module *moduleInfo, depName string, depVariations v…
3075 module.missingDeps = append(module.missingDeps, depName)
3078 return []error{c.missingDependencyError(module, depName)}
3081 func (c *Context) missingDependencyError(module *moduleInfo, depName string) (errs error) {
3082 err := c.nameInterface.MissingDependencyError(module.Name(), module.namespace(), depName)
3086 Pos: module.pos,
3116 var module *moduleInfo
3121 funcName(visit), module))
3127 if module = moduleOrAlias.module(); module != nil {
3128 visit(module.logicModule)
3137 var module *moduleInfo
3142 funcName(pred), funcName(visit), module))
3148 if module = moduleOrAlias.module(); module != nil {
3149 if pred(module.logicModule) {
3150 visit(module.logicModule)
3157 func (c *Context) visitAllModuleVariants(module *moduleInfo,
3165 module, funcName(visit), variant))
3169 for _, moduleOrAlias := range module.group.modules {
3170 if variant = moduleOrAlias.module(); variant != nil {
3353 for _, module := range c.moduleInfo {
3354 for _, buildDef := range module.actionDefs.buildDefs {
3411 module := c.moduleInfo[logicModule]
3412 return module.Name()
3420 module := c.moduleInfo[logicModule]
3421 return module.variant.name
3425 module := c.moduleInfo[logicModule]
3426 return module.typeName
3436 module := c.moduleInfo[logicModule]
3437 value, _ := c.provider(module, provider)
3443 module := c.moduleInfo[logicModule]
3444 _, ok := c.provider(module, provider)
3449 module := c.moduleInfo[logicModule]
3450 return module.relBlueprintsFile
3456 module := c.moduleInfo[logicModule]
3459 Pos: module.pos,
3473 func (c *Context) VisitDirectDeps(module Module, visit func(Module)) {
3474 topModule := c.moduleInfo[module]
3486 visiting = dep.module
3487 visit(dep.module.logicModule)
3491 func (c *Context) VisitDirectDepsIf(module Module, pred func(Module) bool, visit func(Module)) {
3492 topModule := c.moduleInfo[module]
3504 visiting = dep.module
3505 if pred(dep.module.logicModule) {
3506 visit(dep.module.logicModule)
3511 func (c *Context) VisitDepsDepthFirst(module Module, visit func(Module)) {
3512 topModule := c.moduleInfo[module]
3524 visiting = dep.module
3525 visit(dep.module.logicModule)
3529 func (c *Context) VisitDepsDepthFirstIf(module Module, pred func(Module) bool, visit func(Module)) {
3530 topModule := c.moduleInfo[module]
3542 if pred(dep.module.logicModule) {
3543 visiting = dep.module
3544 visit(dep.module.logicModule)
3549 func (c *Context) PrimaryModule(module Module) Module {
3550 return c.moduleInfo[module].group.modules.firstModule().logicModule
3553 func (c *Context) FinalModule(module Module) Module {
3554 return c.moduleInfo[module].group.modules.lastModule().logicModule
3557 func (c *Context) VisitAllModuleVariants(module Module,
3560 c.visitAllModuleVariants(c.moduleInfo[module], visit)
3882 iName := s[i].module.Name()
3883 jName := s[j].module.Name()
3885 iName = s[i].module.variant.name
3886 jName = s[j].module.variant.name
3936 for _, module := range c.moduleInfo {
3937 modules = append(modules, module)
3943 for _, module := range modules {
3944 …if len(module.actionDefs.variables)+len(module.actionDefs.rules)+len(module.actionDefs.buildDefs) …
3953 relPos := module.pos
3954 relPos.Filename = module.relBlueprintsFile
3957 factoryFunc := runtime.FuncForPC(reflect.ValueOf(module.factory).Pointer())
3961 "name": module.Name(),
3962 "typeName": module.typeName,
3965 "variant": module.variant.name,
3982 err = c.writeLocalBuildActions(nw, &module.actionDefs)
4120 if l.module() == a {
4122 } else if l.module() == b {