Update API change for internal types

pull/6/head
Deyuan Deng 2016-03-24 16:52:57 +08:00
parent 21f7d95f8d
commit 998559a99c
1 changed files with 6 additions and 19 deletions

View File

@ -51,7 +51,6 @@ found at [API Conventions](api-conventions.md).
- [Edit types.go](#edit-typesgo)
- [Edit validation.go](#edit-validationgo)
- [Edit version conversions](#edit-version-conversions)
- [Edit deep copy files](#edit-deep-copy-files)
- [Edit json (un)marshaling code](#edit-json-unmarshaling-code)
- [Making a new API Group](#making-a-new-api-group)
- [Update the fuzzer](#update-the-fuzzer)
@ -456,9 +455,14 @@ regenerate auto-generated ones. To regenerate them:
- run
```sh
hack/update-generated-conversions.sh
hack/update-codegen.sh
```
update-codegen will also generate code to handle deep copy of your versioned
api objects. The deep copy code resides with each versioned API:
- `pkg/api/<version>/deep_copy_generated.go` containing auto-generated copy functions
- `pkg/apis/extensions/<version>/deep_copy_generated.go` containing auto-generated copy functions
If running the above script is impossible due to compile errors, the easiest
workaround is to comment out the code causing errors and let the script to
regenerate it. If the auto-generated conversion methods are not used by the
@ -468,23 +472,6 @@ generator to create it from scratch.
Unsurprisingly, adding manually written conversion also requires you to add tests to
`pkg/api/<version>/conversion_test.go`.
## Edit deep copy files
At this point you have both the versioned API changes and the internal
structure changes done. You now need to generate code to handle deep copy
of your versioned api objects.
The deep copy code resides with each versioned API:
- `pkg/api/<version>/deep_copy_generated.go` containing auto-generated copy functions
- `pkg/apis/extensions/<version>/deep_copy_generated.go` containing auto-generated copy functions
To regenerate them:
- run
```sh
hack/update-generated-deep-copies.sh
```
## Edit json (un)marshaling code
We are auto-generating code for marshaling and unmarshaling json representation