67 lines
1.0 KiB
Go
67 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"gopkg.in/yaml.v2"
|
|
)
|
|
|
|
func verifyTideliftYamlExists(directory string) bool {
|
|
filepath := fmt.Sprintf("%s/.tidelift.yml", directory)
|
|
|
|
if fileExists(filepath) {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
func passesMinimumRequirements(directory string) string {
|
|
os.Chdir(directory)
|
|
filename, _ := filepath.Abs("./.tidelift.yml")
|
|
|
|
yamlFile, err := ioutil.ReadFile(filename)
|
|
check(err)
|
|
|
|
type TideliftYML struct {
|
|
TeamName string `yaml:"team-name"`
|
|
RepositoryName string `yaml:"repository-name"`
|
|
}
|
|
|
|
var yml TideliftYML
|
|
|
|
err = yaml.Unmarshal(yamlFile, &yml)
|
|
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)
|
|
}
|
|
}
|
|
|
|
func fileExists(filename string) bool {
|
|
|
|
info, err := os.Stat(filename)
|
|
|
|
if os.IsNotExist(err) {
|
|
return false
|
|
}
|
|
return !info.IsDir()
|
|
}
|