Skip to content

Speed up generation #1990

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions internal/framework/controller/fakes.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import (
_ "sigs.k8s.io/controller-runtime/pkg/manager" // used below to generate a fake
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 sigs.k8s.io/controller-runtime/pkg/manager.Manager
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 sigs.k8s.io/controller-runtime/pkg/client.FieldIndexer
//counterfeiter:generate sigs.k8s.io/controller-runtime/pkg/manager.Manager

//counterfeiter:generate sigs.k8s.io/controller-runtime/pkg/client.FieldIndexer
2 changes: 1 addition & 1 deletion internal/framework/controller/getter.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . Getter
//counterfeiter:generate . Getter

// Getter gets a resource from the k8s API.
// It allows us to mock the client.Reader.Get method.
Expand Down
4 changes: 2 additions & 2 deletions internal/framework/events/first_eventbatch_preparer.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . FirstEventBatchPreparer
//counterfeiter:generate . FirstEventBatchPreparer

// FirstEventBatchPreparer prepares the first batch of events to be processed by the EventHandler.
// The first batch includes the UpsertEvents for all relevant resources in the cluster.
Expand All @@ -20,7 +20,7 @@ type FirstEventBatchPreparer interface {
Prepare(ctx context.Context) (EventBatch, error)
}

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . Reader
//counterfeiter:generate . Reader

// Reader allows getting and listing resources from a cache.
// This interface is introduced for testing to mock the methods from
Expand Down
3 changes: 2 additions & 1 deletion internal/framework/events/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import (
"github.com/go-logr/logr"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . EventHandler
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate
//counterfeiter:generate . EventHandler

// EventHandler handles events.
type EventHandler interface {
Expand Down
3 changes: 2 additions & 1 deletion internal/framework/status/k8s_updater.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ import (
// K8sUpdater updates a resource from the k8s API.
// It allows us to mock the client.Reader.Status.Update method.
//
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . K8sUpdater
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate
//counterfeiter:generate . K8sUpdater
type K8sUpdater interface {
// Update is from client.StatusClient.SubResourceWriter.
Update(ctx context.Context, obj client.Object, opts ...client.SubResourceUpdateOption) error
Expand Down
2 changes: 1 addition & 1 deletion internal/framework/status/leader_aware_group_updater.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
// Note: this interface is created so that it that we can create a fake from it and use it
// in mode/static/handler_test.go (to avoid import cycles).
//
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . GroupUpdater
//counterfeiter:generate . GroupUpdater
type GroupUpdater interface {
UpdateGroup(ctx context.Context, name string, reqs ...UpdateRequest)
}
Expand Down
3 changes: 2 additions & 1 deletion internal/mode/static/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ type handlerMetricsCollector interface {
ObserveLastEventBatchProcessTime(time.Duration)
}

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . secretStorer
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate
//counterfeiter:generate . secretStorer

// secretStorer should store the usage Secret that contains the credentials for NGINX Plus usage reporting.
type secretStorer interface {
Expand Down
2 changes: 1 addition & 1 deletion internal/mode/static/log_level_setters.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"go.uber.org/zap/zapcore"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . logLevelSetter
//counterfeiter:generate . logLevelSetter

// logLevelSetter defines an interface for setting the logging level of a logger.
type logLevelSetter interface {
Expand Down
3 changes: 2 additions & 1 deletion internal/mode/static/nginx/config/generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import (
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/state/dataplane"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . Generator
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate
//counterfeiter:generate . Generator

const (
// configFolder is the folder where NGINX configuration files are stored.
Expand Down
4 changes: 2 additions & 2 deletions internal/mode/static/nginx/file/folders.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import (
"path/filepath"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 io/fs.DirEntry
//counterfeiter:generate io/fs.DirEntry

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . ClearFoldersOSFileManager
//counterfeiter:generate . ClearFoldersOSFileManager

// ClearFoldersOSFileManager is an interface that exposes File I/O operations for ClearFolders.
// Used for unit testing.
Expand Down
6 changes: 4 additions & 2 deletions internal/mode/static/nginx/file/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import (
"github.com/go-logr/logr"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate

const (
// regularFileMode defines the default file mode for regular files.
regularFileMode = 0o644
Expand Down Expand Up @@ -44,7 +46,7 @@ type File struct {
Type Type
}

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . OSFileManager
//counterfeiter:generate . OSFileManager

// OSFileManager is an interface that exposes File I/O operations for ManagerImpl.
// Used for unit testing.
Expand All @@ -61,7 +63,7 @@ type OSFileManager interface {
Write(file *os.File, contents []byte) error
}

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . Manager
//counterfeiter:generate . Manager

// Manager manages NGINX configuration files.
type Manager interface {
Expand Down
4 changes: 3 additions & 1 deletion internal/mode/static/nginx/runtime/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ import (
"k8s.io/apimachinery/pkg/util/wait"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate

const (
pidFile = "/var/run/nginx/nginx.pid"
pidFileTimeout = 10000 * time.Millisecond
Expand All @@ -29,7 +31,7 @@ type (

var childProcPathFmt = "/proc/%[1]v/task/%[1]v/children"

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . Manager
//counterfeiter:generate . Manager

// Manager manages the runtime of NGINX.
type Manager interface {
Expand Down
4 changes: 3 additions & 1 deletion internal/mode/static/state/change_processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import (
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/state/validation"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate

// ChangeType is the type of change that occurred based on a k8s object event.
type ChangeType int

Expand All @@ -38,7 +40,7 @@ const (
ClusterStateChange
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . ChangeProcessor
//counterfeiter:generate . ChangeProcessor

type extractGVKFunc func(obj client.Object) schema.GroupVersionKind

Expand Down
3 changes: 2 additions & 1 deletion internal/mode/static/state/resolver/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ import (
"github.com/nginxinc/nginx-gateway-fabric/internal/framework/controller/index"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . ServiceResolver
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate
//counterfeiter:generate . ServiceResolver

// ServiceResolver resolves a Service's NamespacedName and ServicePort to a list of Endpoints.
// Returns an error if the Service or Service Port cannot be resolved.
Expand Down
6 changes: 4 additions & 2 deletions internal/mode/static/state/validation/validator.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package validation

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate

// Validators include validators for API resources from the perspective of a data-plane.
// It is used for fields that propagate into the data plane configuration. For example, the path in a routing rule.
// However, not all such fields are validated: NGF will not validate a field using Validators if it is confident that
Expand All @@ -12,7 +14,7 @@ type Validators struct {
// HTTPFieldsValidator validates the HTTP-related fields of Gateway API resources from the perspective of
// a data-plane. Data-plane implementations must implement this interface.
//
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . HTTPFieldsValidator
//counterfeiter:generate . HTTPFieldsValidator
type HTTPFieldsValidator interface {
ValidatePathInMatch(path string) error
ValidateHeaderNameInMatch(name string) error
Expand All @@ -32,7 +34,7 @@ type HTTPFieldsValidator interface {
// GenericValidator validates any generic values from NGF API resources from the perspective of a data-plane.
// These could be values that we want to re-validate in case of any CRD schema manipulation.
//
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . GenericValidator
//counterfeiter:generate . GenericValidator
type GenericValidator interface {
ValidateEscapedStringNoVarExpansion(value string) error
ValidateServiceName(name string) error
Expand Down
4 changes: 2 additions & 2 deletions internal/mode/static/telemetry/collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ import (
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/state/graph"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . GraphGetter
//counterfeiter:generate . GraphGetter

// GraphGetter gets the latest Graph.
type GraphGetter interface {
GetLatestGraph() *graph.Graph
}

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . ConfigurationGetter
//counterfeiter:generate . ConfigurationGetter

// ConfigurationGetter gets the latest Configuration.
type ConfigurationGetter interface {
Expand Down
3 changes: 2 additions & 1 deletion internal/mode/static/telemetry/exporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ import (

// Exporter exports telemetry data to some destination.
//
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . Exporter
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate
//counterfeiter:generate . Exporter
type Exporter interface {
Export(ctx context.Context, data tel.Exportable) error
}
Expand Down
2 changes: 1 addition & 1 deletion internal/mode/static/telemetry/job_worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"github.com/go-logr/logr"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . DataCollector
//counterfeiter:generate . DataCollector

// DataCollector collects telemetry data.
type DataCollector interface {
Expand Down
5 changes: 3 additions & 2 deletions internal/mode/static/usage/reporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ import (
"net/url"
)

//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . credentialsGetter
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . Reporter
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate
//counterfeiter:generate . credentialsGetter
//counterfeiter:generate . Reporter

const apiBasePath = "/api/platform/v1/k8s-usage"

Expand Down
Loading