使用 kubebuilder 生成的每个 deepcopy 生成的文件都会生成一个顶部make带有构建标记指令的文件。// +build !ignore_autogenerated//go:build !ignore_autogenerated// +build !ignore_autogenerated/*Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.*/// Code generated by controller-gen. DO NOT EDIT.为什么要将这个特定的构建标记指令添加到这些生成的文件中?它的目的是什么?
1 回答
开满天机
TA贡献1786条经验 获得超13个赞
它被controller-gen
用来识别它生成的文件,它只会覆盖那些文件。
例如,编辑一个生成的文件zz_generated.deepcopy.go
并运行make generate
=> 文件被覆盖。
现在再次编辑文件,同时删除带有构建约束的两行(该go:build
行用于 go >= 1.17,+build
旧版本 IIRC 的行)并make generate
再次运行 => 这次您对文件的更改没有被覆盖。
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消