Skip to content

Commit

Permalink
Merge pull request #2 from btnguyen2k/feature_ab24
Browse files Browse the repository at this point in the history
AB#24: `scaffold` command supports quiet mode
  • Loading branch information
btnguyen2k authored Sep 9, 2020
2 parents f57d602 + 6b7a88e commit ef52143
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 18 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Features:
- [x] Generate template output from local directory (protocol `file://`).
- [x] Support scaffolding.

Latest version: [v0.5.0](RELEASE-NOTES.md).
Latest version: [v0.5.1](RELEASE-NOTES.md).

## Installation

Expand All @@ -24,7 +24,7 @@ export GO111MODULE=on && go get github.com/btnguyen2k/go-giter8/g8
or you can specified a specific version:

```
export GO111MODULE=on && go get github.com/btnguyen2k/go-giter8/g8@v0.5.0
export GO111MODULE=on && go get github.com/btnguyen2k/go-giter8/g8@v0.5.1
```

### Upgrading
Expand All @@ -38,7 +38,7 @@ export GO111MODULE=on && go get -u github.com/btnguyen2k/go-giter8/g8
or you can specified a specific version:

```
export GO111MODULE=on && go get -u github.com/btnguyen2k/go-giter8/g8@v0.5.0
export GO111MODULE=on && go get -u github.com/btnguyen2k/go-giter8/g8@v0.5.1
```

## Giter8 template
Expand Down
5 changes: 5 additions & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# go-giter8 release notes

## 2020-09-09 - v0.5.1

- AB#24: `scaffold` command supports "quiet" mode.


## 2020-09-07 - v0.5.0

- AB#24: Support "quiet" mode.
Expand Down
2 changes: 1 addition & 1 deletion g8/cmd_new.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ var commandNew = cli.Command{
Description: "Create a new project from giter8 template located on GitHub, repository must be in format <username>/<repo-name-ends-with.g8>",
Flags: []cli.Flag{
flagGit,
flagQuiet,
flagNoInputs,
flagVerbose,
},
Action: newAction,
Expand Down
47 changes: 37 additions & 10 deletions g8/cmd_scaffold.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ var commandScaffold = cli.Command{
ShortName: "sf",
Usage: "Generate files from a scaffolding",
Description: "Generate files from a giter8 scaffold",
// Flags: []cli.Flag{
// flagGit,
// flagVerbose,
// },
Flags: []cli.Flag{
flagNoInputs,
flagVerbose,
},
Action: scaffoldAction,
}

Expand All @@ -43,7 +43,7 @@ func generateScaffold(opts *Options) error {
// must stand at project's root directory
destDir := "."

// prompt the user to override the default properties
// load parameters
fields, err := readFieldsFromFile(opts, srcDir+"/default.properties")
exitIfError(err)

Expand All @@ -54,9 +54,13 @@ func generateScaffold(opts *Options) error {
}
delete(fields, "verbatim") // remove system field "verbatim"

fmt.Println("Generating scaffold " + scaffoldName + "...")
// generate scaffold
fmt.Printf("Generating scaffold %s...", scaffoldName)
if opts.Verbose {
fmt.Println()
}
prefixLen := len(srcDir)
return filepath.Walk(srcDir, func(path string, f os.FileInfo, err error) error {
err = filepath.Walk(srcDir, func(path string, f os.FileInfo, err error) error {
if f.IsDir() || f.Name() == "default.properties" {
return nil
}
Expand All @@ -71,11 +75,15 @@ func generateScaffold(opts *Options) error {
return err
}

fmt.Println("\tgenerating", destFileName)

if opts.Verbose {
fmt.Printf("\tgenerating %s...", destFileName)
}
// load file content
inContent, err := ioutil.ReadFile(path)
if err != nil {
if opts.Verbose {
fmt.Printf("error.\n")
}
return err
}
outContent := inContent
Expand All @@ -84,9 +92,28 @@ func generateScaffold(opts *Options) error {
if !isFileMatched(relativePath, f, verbatim) {
outContent, err = template.Render(inContent, fields)
if err != nil {
if opts.Verbose {
fmt.Printf("error.\n")
}
return err
}
}
return ioutil.WriteFile(destFileName, outContent, f.Mode())
err = ioutil.WriteFile(destFileName, outContent, f.Mode())
if opts.Verbose {
if err != nil {
fmt.Printf("error.\n")
} else {
fmt.Printf("done.\n")
}
}
return err
})
if !opts.Verbose {
if err != nil {
fmt.Printf("error.\n")
} else {
fmt.Printf("done.\n")
}
}
return err
}
6 changes: 3 additions & 3 deletions g8/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ const (
)

var (
flagGit = cli.StringFlag{Name: fieldGit, Value: "/usr/bin/git", Usage: "relativePathToTemp to the git binary", EnvVar: "GIT"}
flagQuiet = cli.BoolFlag{Name: fieldNoInputs, Usage: "accept all default values, do not ask for input"}
flagVerbose = cli.BoolFlag{Name: fieldVerbose, Usage: "additional debugging"}
flagGit = cli.StringFlag{Name: fieldGit, Value: "/usr/bin/git", Usage: "relativePathToTemp to the git binary", EnvVar: "GIT"}
flagNoInputs = cli.BoolFlag{Name: fieldNoInputs, Usage: "do not ask for input, accept all default values from default.properties"}
flagVerbose = cli.BoolFlag{Name: fieldVerbose, Usage: "additional debugging"}
)

// var Verbose bool
Expand Down
2 changes: 1 addition & 1 deletion g8/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import (

const (
// Version of go-giter8
Version = "0.5.0"
Version = "0.5.1"
)

func main() {
Expand Down

0 comments on commit ef52143

Please # to comment.