Skip to content

Commit 3d8d841

Browse files
authored
hack: fix some bugs in code generation (#66)
- the code generator now insists that types MUST be defined in a file called types.go - we also need to generate openapi - wipe the generated code at the start of codegen, so we don't accidentally preserve old state Signed-off-by: Nick Santos <[email protected]>
1 parent cef451c commit 3d8d841

File tree

7 files changed

+49
-32
lines changed

7 files changed

+49
-32
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ vet:
2222
go vet ./...
2323

2424
# Generate code
25-
generate: pkg/apis/core/v1alpha1/manifest_types.go hack/update-codegen.sh
25+
generate: pkg/apis/core/v1alpha1/types.go hack/update-codegen.sh
2626
hack/update-codegen.sh
2727

2828
verify-generate:

hack/api_violations.list

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
2+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
3+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
4+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
5+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
6+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
7+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
8+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
9+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ApplyOptions,DryRun
10+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
11+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
12+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
13+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
14+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
15+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
16+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
17+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
18+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
19+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
20+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
21+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
22+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
23+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
24+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
25+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
26+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
27+
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
28+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
29+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
30+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
31+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
32+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
33+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
34+
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time
35+
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
36+
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType

hack/update-codegen-helper.sh

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,16 @@ CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; ls -d -1 ./vendor/k8s.io/code-
2525

2626
git config --global --add safe.directory /go/src/github.com/tilt-dev/tilt-apiserver
2727

28-
# generate the code with:
29-
# --output-base because this script should also be able to run inside the vendor dir of
30-
# k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir
31-
# instead of the $GOPATH directly. For normal projects this can be dropped.
3228
source "${CODEGEN_PKG}/kube_codegen.sh"
3329

30+
rm pkg/apis/**/zz_generated*
3431
kube::codegen::gen_helpers \
3532
--input-pkg-root github.com/tilt-dev/tilt-apiserver/pkg/apis \
3633
--output-base "$(dirname "${BASH_SOURCE[0]}")/../../../.." \
3734
--boilerplate "${SCRIPT_ROOT}"/hack/boilerplate.go.txt
3835

36+
rm -fR pkg/generated
37+
mkdir -p pkg/generated
3938
kube::codegen::gen_client \
4039
--with-watch \
4140
--with-applyconfig \
@@ -44,3 +43,10 @@ kube::codegen::gen_client \
4443
--output-base "$(dirname "${BASH_SOURCE[0]}")/../../../.." \
4544
--boilerplate "${SCRIPT_ROOT}"/hack/boilerplate.go.txt
4645

46+
kube::codegen::gen_openapi \
47+
--input-pkg-root github.com/tilt-dev/tilt-apiserver/pkg/apis \
48+
--output-pkg-root github.com/tilt-dev/tilt-apiserver/pkg/generated \
49+
--output-base "$(dirname "${BASH_SOURCE[0]}")/../../../.." \
50+
--report-filename "${SCRIPT_ROOT}"/hack/api_violations.list \
51+
--update-report \
52+
--boilerplate "${SCRIPT_ROOT}"/hack/boilerplate.go.txt
File renamed without changes.

pkg/generated/clientset/versioned/doc.go

Lines changed: 0 additions & 19 deletions
This file was deleted.

pkg/generated/informers/externalversions/factory.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/generated/openapi/zz_generated.openapi.go

Lines changed: 0 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)