38 lines
843 B
Go
38 lines
843 B
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
|
|
"gopkg.in/yaml.v3"
|
|
)
|
|
|
|
// Config 定义 cliprepo 的配置结构
|
|
//
|
|
// 当前支持的配置:
|
|
// Bundles:用于定义一组文件路径集合
|
|
// key -> bundle 名称
|
|
// value -> 对应的文件路径列表
|
|
type Config struct {
|
|
Bundles map[string][]string `yaml:"bundles"`
|
|
}
|
|
|
|
// Load 从项目根目录读取 cliprepo.yaml 配置文件,并解析为 Config 结构
|
|
//
|
|
// 行为说明:
|
|
// 1. 默认读取当前工作目录下的 cliprepo.yaml
|
|
// 2. 如果文件不存在或读取失败,直接返回 error
|
|
// 3. 使用 YAML 解析配置内容到 Config 结构体
|
|
func Load() (*Config, error) {
|
|
// 读取配置文件内容
|
|
data, err := os.ReadFile("cliprepo.yaml")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
var cfg Config
|
|
|
|
// 解析 YAML 到结构体
|
|
err = yaml.Unmarshal(data, &cfg)
|
|
|
|
return &cfg, err
|
|
} |