You've already forked go-semantic-release
tmp(releser, github-provider): add releaser and github as first release provider
This commit is contained in:
36
internal/releaser/releaser.go
Normal file
36
internal/releaser/releaser.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package releaser
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/Nightapes/go-semantic-release/internal/cache"
|
||||
"github.com/Nightapes/go-semantic-release/internal/releaser/releasers"
|
||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||
)
|
||||
|
||||
// Releasers struct type
|
||||
type Releasers struct {
|
||||
config *config.ReleaseConfig
|
||||
}
|
||||
|
||||
// Releaser interface for providers
|
||||
type Releaser interface {
|
||||
CreateRelease(releaseName, releaseMessage string) error
|
||||
}
|
||||
|
||||
// New initialize a Relerser
|
||||
func New(c *config.ReleaseConfig) *Releasers {
|
||||
return &Releasers{
|
||||
config: c,
|
||||
}
|
||||
}
|
||||
|
||||
//GetReleaser returns an initialized releaser
|
||||
func (r *Releasers) GetReleaser(releaserType string) (Releaser, error) {
|
||||
switch releaserType {
|
||||
case releasers.GITHUB:
|
||||
return releasers.NewGitHubReleaser(r.config), nil
|
||||
}
|
||||
return nil, fmt.Errorf("Could not initialize a releaser from this type: %s", releaserType)
|
||||
}
|
||||
|
||||
// tbd. http helper function
|
||||
Reference in New Issue
Block a user