Google API Linter 使用教程
1. 项目的目录结构及介绍
Google API Linter 项目的目录结构如下:
api-linter/
├── cmd/
│ └── api-linter/
├── docs/
├── internal/
│ ├── lint/
│ ├── locations/
│ └── rules/
├── .editorconfig
├── .gitignore
├── .golangci.yml
├── release-please-config.json
├── release-please-manifest.json
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── go.mod
└── go.sum
目录结构介绍
- cmd/api-linter/: 包含项目的启动文件和主要执行逻辑。
- docs/: 包含项目的文档文件。
- internal/: 包含项目的内部实现,包括:
- lint/: 包含与代码检查相关的逻辑。
- locations/: 包含与代码位置相关的逻辑。
- rules/: 包含与规则定义和检查相关的逻辑。
- .editorconfig: 编辑器配置文件。
- .gitignore: Git 忽略文件配置。
- .golangci.yml: GolangCI-Lint 配置文件。
- release-please-config.json: 发布配置文件。
- release-please-manifest.json: 发布清单文件。
- CHANGELOG.md: 项目变更日志。
- CODE_OF_CONDUCT.md: 项目行为准则。
- CONTRIBUTING.md: 项目贡献指南。
- LICENSE: 项目许可证文件。
- README.md: 项目介绍和使用说明。
- SECURITY.md: 项目安全指南。
- go.mod: Go 模块依赖文件。
- go.sum: Go 模块依赖校验文件。
2. 项目的启动文件介绍
项目的启动文件位于 cmd/api-linter/
目录下。该目录包含主要的执行逻辑和命令行接口。
主要文件
- main.go: 这是项目的入口文件,负责初始化配置、加载规则并执行代码检查。
启动命令
api-linter proto_file1 proto_file2
- proto_file1 proto_file2: 需要检查的 Protocol Buffers 文件。
3. 项目的配置文件介绍
配置文件
- .golangci.yml: 用于配置 GolangCI-Lint 的规则和选项。
- release-please-config.json: 用于配置项目的发布流程。
- release-please-manifest.json: 用于配置项目的发布清单。
配置示例
.golangci.yml
linters:
enable:
- errcheck
- gosec
- govet
disable:
- gocyclo
issues:
exclude-rules:
- path: "testdata"
linters:
- errcheck
release-please-config.json
{
"release-type": "go",
"bump-minor-pre-major": true,
"bump-patch-for-minor-pre-major": true,
"changelog-sections": [
{ "type": "feat", "section": "Features" },
{ "type": "fix", "section": "Bug Fixes" },
{ "type": "chore", "section": "Chores" }
]
}
release-please-manifest.json
{
"version": "1.0.0",
"changelog": "CHANGELOG.md",
"release-type": "go"
}
通过以上配置文件,可以自定义项目的代码检查规则、发布流程和版本管理策略。