Skip to content

Commit

Permalink
Specify dependencies for the configure target
Browse files Browse the repository at this point in the history
  • Loading branch information
revl committed Mar 22, 2018
1 parent 3a93157 commit 56d6c51
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 13 deletions.
4 changes: 2 additions & 2 deletions generation.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ func (helpParser *configureHelpParser) parseOptions(packageDir string) (
return options, nil
}

func generateAndBootstrapPackages(ws *workspace,
func generateAndBootstrapPackages(ws *workspace, pi *packageIndex,
selection packageDefinitionList, conftab *Conftab) error {
pkgRootDir := ws.generatedPkgRootDir()

Expand Down Expand Up @@ -176,5 +176,5 @@ func generateAndBootstrapPackages(ws *workspace,
}
}

return generateWorkspaceFiles(ws, selection, conftab)
return generateWorkspaceFiles(ws, pi, selection, conftab)
}
2 changes: 1 addition & 1 deletion refreshcmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func refreshWorkspace() error {
return err
}

return generateAndBootstrapPackages(ws, selection, conftab)
return generateAndBootstrapPackages(ws, pi, selection, conftab)
}

// refreshCmd represents the refresh command
Expand Down
2 changes: 1 addition & 1 deletion selectcmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ func selectPackages(args []string) error {
conftab = newConftab()
}

return generateAndBootstrapPackages(ws, selection, conftab)
return generateAndBootstrapPackages(ws, pi, selection, conftab)
}

// selectCmd represents the select command
Expand Down
28 changes: 21 additions & 7 deletions targets.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,11 +154,14 @@ func (bt *bootstrapTarget) targets() ([]target, error) {

type configureTarget struct {
makeTargetData
selectedDeps map[*packageDefinition]packageDefinitionList
}

func createConfigureTarget(selection packageDefinitionList,
ws *workspace) targetType {
return &configureTarget{makeTargetData{"configure", selection, ws}}
func createConfigureTarget(selection packageDefinitionList, ws *workspace,
selectedDeps map[*packageDefinition]packageDefinitionList) targetType {
return &configureTarget{
makeTargetData{"configure", selection, ws},
selectedDeps}
}

func (*configureTarget) help() string {
Expand All @@ -172,21 +175,32 @@ func (ct *configureTarget) targets() ([]target, error) {
configureTargets := []target{globalTarget}

relBuildDir := ct.ws.buildDirRelativeToWorkspace()
pkgRootDir := ct.ws.pkgRootDirRelativeToWorkspace()

cmd := "\t@" + selfPathnameRelativeToWorkspace(ct.ws) + " configure "

for i, pd := range ct.selection {
dependencies := []string{path.Join(pkgRootDir,
pd.PackageName, "configure")}

for _, dep := range ct.selectedDeps[pd] {
dependencies = append(dependencies, path.Join(
relBuildDir, dep.PackageName, "Makefile"))
}

script := cmd + pd.PackageName + "\n"

configureTargets = append(configureTargets,
target{
Target: globalTarget.Dependencies[i],
Phony: true,
MakeScript: script},
Target: globalTarget.Dependencies[i],
Phony: true,
Dependencies: dependencies,
MakeScript: script},
target{
Target: path.Join(relBuildDir,
pd.PackageName, "Makefile"),
MakeScript: script})
Dependencies: dependencies,
MakeScript: script})
}

return configureTargets, nil
Expand Down
6 changes: 4 additions & 2 deletions workspacetmpl.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,16 @@ all: build
{{end}}`)},
}

func generateWorkspaceFiles(ws *workspace,
func generateWorkspaceFiles(ws *workspace, pi *packageIndex,
selection packageDefinitionList, conftab *Conftab) error {
var targetTypes []targetType

selectedDeps := establishDependenciesInSelection(selection, pi)

targetTypes = []targetType{
createHelpTarget(func() []targetType { return targetTypes }),
createBootstrapTarget(selection, ws),
createConfigureTarget(selection, ws),
createConfigureTarget(selection, ws, selectedDeps),
createBuildTarget(),
createCheckTarget(),
}
Expand Down

0 comments on commit 56d6c51

Please sign in to comment.