Skip to content

Code-generator does not work outside of $GOPATH #86753

@ialidzhikov

Description

@ialidzhikov

What happened:
k8s.io/code-generator is not able to generate code for projects using Go modules (cloned outside $GOPATH).

What you expected to happen:
k8s.io/code-generator to be able to generate code for projects using Go modules (cloned outside $GOPATH).

How to reproduce it (as minimally and precisely as possible):

1. k8s.io/sample-apiserver located in $GOPATH

  1. Setup k8s.io/sample-apiserver in $GOPATH
$ mkdir -p $GOPATH/src/k8s.io/
$ cd $GOPATH/src/k8s.io/
$ git clone git@github.com:kubernetes/sample-apiserver.git
$ cd sample-apiserver
$ go mod vendor
  1. Remove the generated code
$ rm -rf pkg/generated/
$ git diff --shortstat
 38 files changed, 5407 deletions(-)
  1. And generate it once again
$ ./hack/update-codegen.sh
Generating deepcopy funcs
Generating clientset for wardle:v1alpha1,v1beta1 at k8s.io/sample-apiserver/pkg/generated/clientset
Generating listers for wardle:v1alpha1,v1beta1 at k8s.io/sample-apiserver/pkg/generated/listers
Generating informers for wardle:v1alpha1,v1beta1 at k8s.io/sample-apiserver/pkg/generated/informers
go: directory ../code-generator/cmd/defaulter-gen outside available modules
go: directory ../code-generator/cmd/conversion-gen outside available modules
go: directory ../code-generator/cmd/client-gen outside available modules
go: directory ../code-generator/cmd/lister-gen outside available modules
go: directory ../code-generator/cmd/informer-gen outside available modules
go: directory ../code-generator/cmd/deepcopy-gen outside available modules
go: directory ../code-generator/cmd/openapi-gen outside available modules
  1. Ensure that the generation works
$ git diff --shortstat
 1 file changed, 6 insertions(+)

2. k8s.io/sample-apiserver located outside $GOPATH

  1. Setup k8s.io/sample-apiserver outside $GOPATH
$ cd $HOME/git/
$ git clone git@github.com:kubernetes/sample-apiserver.git
$ cd sample-apiserver
$ go mod vendor
  1. Remove the generated code
$ rm -rf pkg/generated/
$ git diff --shortstat
 38 files changed, 5407 deletions(-)
  1. And generate it once again
$ ./hack/update-codegen.sh
Generating deepcopy funcs
Generating clientset for wardle:v1alpha1,v1beta1 at k8s.io/sample-apiserver/pkg/generated/clientset
Generating listers for wardle:v1alpha1,v1beta1 at k8s.io/sample-apiserver/pkg/generated/listers
Generating informers for wardle:v1alpha1,v1beta1 at k8s.io/sample-apiserver/pkg/generated/informers
go: directory ../code-generator/cmd/defaulter-gen outside available modules
go: directory ../code-generator/cmd/conversion-gen outside available modules
go: directory ../code-generator/cmd/client-gen outside available modules
go: directory ../code-generator/cmd/lister-gen outside available modules
go: directory ../code-generator/cmd/informer-gen outside available modules
go: directory ../code-generator/cmd/deepcopy-gen outside available modules
go: directory ../code-generator/cmd/openapi-gen outside available modules
  1. Ensure that the generation generated nothing
$ git diff --shortstat
 39 files changed, 1 insertion(+), 5407 deletions(-)

Anything else we need to know?:

Environment:

  • Kubernetes version (use kubectl version):
  • Cloud provider or hardware configuration:
  • OS (e.g: cat /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Network plugin and version (if this is a network-related bug):
  • Others:

Metadata

Metadata

Labels

area/code-generationkind/featureCategorizes issue or PR as related to a new feature.lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.sig/api-machineryCategorizes an issue or PR as relevant to SIG API Machinery.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions