init
This commit is contained in:
commit
9298fc4e4c
12 changed files with 599 additions and 0 deletions
45
internal/commands/build/command.go
Normal file
45
internal/commands/build/command.go
Normal file
|
@ -0,0 +1,45 @@
|
|||
package build
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"code.vulpine.solutions/sam/vlp/internal/packages"
|
||||
"code.vulpine.solutions/sam/vlp/internal/state"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
var Command = &cli.Command{
|
||||
Name: "build",
|
||||
Aliases: []string{"b"},
|
||||
Usage: "Build a package from source",
|
||||
Args: true,
|
||||
ArgsUsage: "<name>",
|
||||
Action: action,
|
||||
}
|
||||
|
||||
func action(ctx *cli.Context) error {
|
||||
if ctx.NArg() < 1 {
|
||||
return cli.Exit("Not enough arguments", 1)
|
||||
}
|
||||
|
||||
name := ctx.Args().Get(0)
|
||||
|
||||
script, err := packages.LookupPackageFile(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
s := state.New(name)
|
||||
err = s.Eval(script)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = s.Build()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Println(s.Builder.Name, s.Builder.Dependencies)
|
||||
return nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue