github.com/fredbi/git-chglog@v0.0.0-20190706071416-d35c598eac81/example_test.go (about)

     1  package chglog
     2  
     3  import (
     4  	"bytes"
     5  	"fmt"
     6  	"log"
     7  )
     8  
     9  func Example() {
    10  	gen := NewGenerator(&Config{
    11  		Bin:        "git",
    12  		WorkingDir: ".",
    13  		Template:   "CHANGELOG.tpl.md",
    14  		Info: &Info{
    15  			Title:         "CHANGELOG",
    16  			RepositoryURL: "https://github.com/git-chglog/git-chglog",
    17  		},
    18  		Options: &Options{
    19  			CommitFilters: map[string][]string{
    20  				"Type": []string{
    21  					"feat",
    22  					"fix",
    23  				},
    24  			},
    25  			CommitSortBy:      "Scope",
    26  			CommitGroupBy:     "Type",
    27  			CommitGroupSortBy: "Title",
    28  			CommitGroupTitleMaps: map[string]string{
    29  				"feat": "Features",
    30  				"fix":  "Bug Fixes",
    31  			},
    32  			HeaderPattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$",
    33  			HeaderPatternMaps: []string{
    34  				"Type",
    35  				"Scope",
    36  				"Subject",
    37  			},
    38  			IssuePrefix: []string{
    39  				"#",
    40  				"gh-",
    41  			},
    42  			RefActions:   []string{},
    43  			MergePattern: "^Merge pull request #(\\d+) from (.*)$",
    44  			MergePatternMaps: []string{
    45  				"Ref",
    46  				"Source",
    47  			},
    48  			RevertPattern: "^Revert \"([\\s\\S]*)\"$",
    49  			RevertPatternMaps: []string{
    50  				"Header",
    51  			},
    52  			NoteKeywords: []string{
    53  				"BREAKING CHANGE",
    54  			},
    55  		},
    56  	})
    57  
    58  	buf := &bytes.Buffer{}
    59  	err := gen.Generate(buf, "")
    60  
    61  	if err != nil {
    62  		log.Fatalln(err)
    63  	}
    64  
    65  	fmt.Println(buf.String())
    66  }