tideliftcli/tidelift_yml.go

69 lines
1.0 KiB
Go
Raw Normal View History

2019-05-15 02:40:51 +00:00
package main
import (
2019-05-15 03:54:04 +00:00
"fmt"
2019-05-15 03:19:10 +00:00
"io/ioutil"
2019-05-15 02:40:51 +00:00
"os"
2019-05-15 03:19:10 +00:00
"path/filepath"
"gopkg.in/yaml.v2"
2019-05-15 02:40:51 +00:00
)
func verifyTideliftYamlExists(directory string) bool {
2019-05-15 03:54:04 +00:00
filepath := fmt.Sprintf("%s/.tidelift.yml", directory)
if fileExists(filepath) {
2019-05-15 02:40:51 +00:00
return true
}
return false
}
2019-05-15 03:19:10 +00:00
func passesMinimumRequirements(directory string) string {
2019-05-15 03:55:45 +00:00
filename, _ := filepath.Abs(fmt.Sprintf("%s/.tidelift.yml", directory))
2019-05-15 03:19:10 +00:00
yamlFile, err := ioutil.ReadFile(filename)
2019-05-15 03:55:45 +00:00
2019-05-15 03:19:10 +00:00
check(err)
type TideliftYML struct {
TeamName string `yaml:"team-name"`
RepositoryName string `yaml:"repository-name"`
}
var yml TideliftYML
err = yaml.Unmarshal(yamlFile, &yml)
2019-05-15 03:55:45 +00:00
2019-05-15 03:19:10 +00:00
check(err)
// Check for Team name
if len(yml.TeamName) <= 0 {
return "team-name"
}
// Check for Repository Name
if len(yml.RepositoryName) <= 0 {
return "repository-name"
}
return ""
}
func check(e error) {
if e != nil {
panic(e)
}
}
2019-05-15 03:54:04 +00:00
func fileExists(filename string) bool {
info, err := os.Stat(filename)
if os.IsNotExist(err) {
return false
}
return !info.IsDir()
}