Skip to content

Commit bae97d5

Browse files
authored
Switch to gci, so we can actually auto-group imports (#5493)
We've finally found a tool that enforces groups, not just sorts them! Awesome. Unfortunately it doesn't (currently?) remove unused imports, so we also still want/need `goimports`. Oh well.
1 parent ed873b8 commit bae97d5

File tree

180 files changed

+403
-554
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

180 files changed

+403
-554
lines changed

.gen/proto/history/v1/service.pb.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.gen/proto/indexer/v1/messages.pb.go

-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.gen/proto/matching/v1/service.pb.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.gen/proto/shared/v1/error.pb.go

-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.gen/proto/shared/v1/history.pb.go

-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Makefile

+23-7
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,11 @@ $(BIN)/mockery: internal/tools/go.mod
180180
$(BIN)/enumer: internal/tools/go.mod
181181
$(call go_build_tool,github.com/dmarkham/enumer)
182182

183+
# organizes imports and reformats
184+
$(BIN)/gci: internal/tools/go.mod
185+
$(call go_build_tool,github.com/daixiang0/gci)
186+
187+
# removes unused imports and reformats
183188
$(BIN)/goimports: internal/tools/go.mod
184189
$(call go_build_tool,golang.org/x/tools/cmd/goimports)
185190

@@ -352,10 +357,13 @@ $(BUILD)/lint: $(LINT_SRC) $(BIN)/revive | $(BUILD)
352357
# if either changes, this will need to change.
353358
MAYBE_TOUCH_COPYRIGHT=
354359

355-
$(BUILD)/fmt: $(ALL_SRC) $(BIN)/goimports | $(BUILD)
356-
$Q echo "goimports..."
357-
$Q # use FRESH_ALL_SRC so it won't miss any generated files produced earlier
358-
$Q $(BIN)/goimports -local "github.com/uber/cadence" -w $(FRESH_ALL_SRC)
360+
# use FRESH_ALL_SRC so it won't miss any generated files produced earlier.
361+
$(BUILD)/fmt: $(ALL_SRC) $(BIN)/goimports $(BIN)/gci | $(BUILD)
362+
$Q echo "removing unused imports..."
363+
$Q # goimports thrashes on internal/tools, sadly. just hide it.
364+
$Q $(BIN)/goimports -w $(filter-out ./internal/tools/tools.go,$(FRESH_ALL_SRC))
365+
$Q echo "grouping imports..."
366+
$Q $(BIN)/gci write --section standard --section 'Prefix(github.com/uber/cadence/)' --section default --section blank $(FRESH_ALL_SRC)
359367
$Q touch $@
360368
$Q $(MAYBE_TOUCH_COPYRIGHT)
361369

@@ -386,8 +394,8 @@ endef
386394
lint: ## (re)run the linter
387395
$(call remake,proto-lint lint)
388396

389-
# intentionally not re-making, goimports is slow and it's clear when it's unnecessary
390-
fmt: $(BUILD)/fmt ## run goimports
397+
# intentionally not re-making, it's a bit slow and it's clear when it's unnecessary
398+
fmt: $(BUILD)/fmt ## run gofmt / organize imports / etc
391399

392400
# not identical to the intermediate target, but does provide the same codegen (or more).
393401
copyright: $(BIN)/copyright | $(BUILD) ## update copyright headers
@@ -463,6 +471,14 @@ release: ## Re-generate generated code and run tests
463471
$(MAKE) --no-print-directory go-generate
464472
$(MAKE) --no-print-directory test
465473

474+
build: ## Build all packages and all tests (ensures everything compiles)
475+
$Q echo 'Building all packages...'
476+
$Q go build ./...
477+
$Q # "tests" by building and then running `true`, and hides test-success output
478+
$Q echo 'Building all tests (~5x slower)...'
479+
$Q # intentionally not -race due to !race build tags
480+
$Q go test -exec /usr/bin/true ./... >/dev/null
481+
466482
clean: ## Clean build products
467483
rm -f $(BINS)
468484
rm -Rf $(BUILD)
@@ -472,7 +488,7 @@ clean: ## Clean build products
472488

473489
# v----- not yet cleaned up -----v
474490

475-
.PHONY: git-submodules test bins clean cover cover_ci help
491+
.PHONY: git-submodules test bins build clean cover cover_ci help
476492

477493
TOOLS_CMD_ROOT=./cmd/tools
478494
INTEG_TEST_ROOT=./host

canary/crosscluster.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ import (
2525
"fmt"
2626
"time"
2727

28-
shared "go.uber.org/cadence/.gen/go/shared"
29-
3028
"github.com/google/uuid"
29+
shared "go.uber.org/cadence/.gen/go/shared"
3130
"go.uber.org/cadence/activity"
3231
"go.uber.org/cadence/workflow"
3332
"go.uber.org/zap"

canary/runner.go

+4-6
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@
2121
package canary
2222

2323
import (
24-
"fmt"
25-
"sync"
26-
"time"
27-
2824
"crypto/tls"
2925
"crypto/x509"
26+
"fmt"
3027
"io/ioutil"
28+
"sync"
29+
"time"
3130

31+
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
3232
"go.uber.org/cadence/.gen/go/cadence/workflowserviceclient"
3333
"go.uber.org/cadence/compatibility"
3434
"go.uber.org/yarpc"
@@ -40,8 +40,6 @@ import (
4040
"go.uber.org/zap"
4141
"google.golang.org/grpc/credentials"
4242

43-
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
44-
4543
"github.com/uber/cadence/common/log/loggerimpl"
4644
)
4745

client/admin/grpcClient.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ package admin
2323
import (
2424
"context"
2525

26+
adminv1 "github.com/uber/cadence-idl/go/proto/admin/v1"
2627
"go.uber.org/yarpc"
2728

28-
adminv1 "github.com/uber/cadence-idl/go/proto/admin/v1"
2929
"github.com/uber/cadence/common/types"
3030
"github.com/uber/cadence/common/types/mapper/proto"
3131
)

client/clientfactory.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,16 @@ package client
2323
import (
2424
"time"
2525

26+
adminv1 "github.com/uber/cadence-idl/go/proto/admin/v1"
27+
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
2628
"go.uber.org/yarpc/api/transport"
2729

2830
"github.com/uber/cadence/.gen/go/admin/adminserviceclient"
2931
"github.com/uber/cadence/.gen/go/cadence/workflowserviceclient"
3032
"github.com/uber/cadence/.gen/go/history/historyserviceclient"
3133
"github.com/uber/cadence/.gen/go/matching/matchingserviceclient"
32-
33-
adminv1 "github.com/uber/cadence-idl/go/proto/admin/v1"
34-
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
3534
historyv1 "github.com/uber/cadence/.gen/proto/history/v1"
3635
matchingv1 "github.com/uber/cadence/.gen/proto/matching/v1"
37-
3836
"github.com/uber/cadence/client/admin"
3937
"github.com/uber/cadence/client/frontend"
4038
"github.com/uber/cadence/client/history"

client/frontend/grpcClient.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ package frontend
2323
import (
2424
"context"
2525

26+
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
2627
"go.uber.org/yarpc"
2728

28-
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
2929
"github.com/uber/cadence/common/types"
3030
"github.com/uber/cadence/common/types/mapper/proto"
3131
)

cmd/server/cadence/cadence.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,12 @@ import (
2929
"strings"
3030
"syscall"
3131

32-
"github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql"
33-
3432
"github.com/urfave/cli"
3533

3634
"github.com/uber/cadence/common"
3735
"github.com/uber/cadence/common/client"
3836
"github.com/uber/cadence/common/config"
37+
"github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql"
3938
"github.com/uber/cadence/common/service"
4039
"github.com/uber/cadence/tools/cassandra"
4140
"github.com/uber/cadence/tools/sql"

cmd/server/cadence/server.go

+5-8
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,11 @@ import (
2424
"log"
2525
"time"
2626

27+
"github.com/startreedata/pinot-client-go/pinot"
28+
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
2729
"go.uber.org/cadence/.gen/go/cadence/workflowserviceclient"
2830
"go.uber.org/cadence/compatibility"
2931

30-
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
31-
"github.com/uber/cadence/common/persistence"
32-
"github.com/uber/cadence/service/worker"
33-
3432
"github.com/uber/cadence/common"
3533
"github.com/uber/cadence/common/archiver"
3634
"github.com/uber/cadence/common/archiver/provider"
@@ -46,16 +44,15 @@ import (
4644
"github.com/uber/cadence/common/messaging/kafka"
4745
"github.com/uber/cadence/common/metrics"
4846
"github.com/uber/cadence/common/peerprovider/ringpopprovider"
47+
"github.com/uber/cadence/common/persistence"
48+
pnt "github.com/uber/cadence/common/pinot"
4949
"github.com/uber/cadence/common/resource"
5050
"github.com/uber/cadence/common/rpc"
5151
"github.com/uber/cadence/common/service"
5252
"github.com/uber/cadence/service/frontend"
5353
"github.com/uber/cadence/service/history"
5454
"github.com/uber/cadence/service/matching"
55-
56-
"github.com/startreedata/pinot-client-go/pinot"
57-
58-
pnt "github.com/uber/cadence/common/pinot"
55+
"github.com/uber/cadence/service/worker"
5956
)
6057

6158
type (

cmd/server/cadence/server_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ import (
3434

3535
"github.com/uber/cadence/common"
3636
"github.com/uber/cadence/common/config"
37-
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra" // needed to load cassandra plugin
3837
"github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql"
39-
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql/public" // needed to load the default gocql client
4038
"github.com/uber/cadence/common/service"
4139
"github.com/uber/cadence/testflags"
4240
"github.com/uber/cadence/tools/cassandra"
41+
42+
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra" // needed to load cassandra plugin
43+
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql/public" // needed to load the default gocql client
4344
)
4445

4546
type ServerSuite struct {

cmd/server/main.go

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525

2626
"github.com/uber/cadence/cmd/server/cadence"
2727
"github.com/uber/cadence/common/metrics"
28+
2829
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra" // needed to load cassandra plugin
2930
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql/public" // needed to load the default gocql client
3031
_ "github.com/uber/cadence/common/persistence/sql/sqlplugin/mysql" // needed to load mysql plugin

cmd/tools/cassandra/main.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ package main
2323
import (
2424
"os"
2525

26-
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql/public" // needed to load the default gocql client
2726
"github.com/uber/cadence/tools/cassandra"
27+
28+
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql/public" // needed to load the default gocql client
2829
)
2930

3031
func main() {

cmd/tools/cli/main.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@ import (
2424
"fmt"
2525
"os"
2626

27+
"github.com/uber/cadence/tools/cli"
28+
2729
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra" // needed to load cassandra plugin
2830
_ "github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql/public" // needed to load the default gocql client
2931
_ "github.com/uber/cadence/common/persistence/sql/sqlplugin/mysql" // needed to load mysql plugin
3032
_ "github.com/uber/cadence/common/persistence/sql/sqlplugin/postgres" // needed to load postgres plugin
31-
"github.com/uber/cadence/tools/cli"
3233
)
3334

3435
// Start using this CLI tool with command

cmd/tools/sql/main.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ package main
2323
import (
2424
"os"
2525

26+
"github.com/uber/cadence/tools/sql"
27+
2628
_ "github.com/uber/cadence/common/persistence/sql/sqlplugin/mysql" // needed to load mysql plugin
2729
_ "github.com/uber/cadence/common/persistence/sql/sqlplugin/postgres" // needed to load postgres plugin
28-
"github.com/uber/cadence/tools/sql"
2930
)
3031

3132
func main() {

common/archiver/URI.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@
2020

2121
package archiver
2222

23-
import (
24-
"net/url"
25-
)
23+
import "net/url"
2624

2725
type (
2826
// URI identifies the archival resource to which records are written to and read from.

common/archiver/archivalMetadata_mock.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@
2020

2121
package archiver
2222

23-
import (
24-
"github.com/stretchr/testify/mock"
25-
)
23+
import "github.com/stretchr/testify/mock"
2624

2725
// MockArchivalMetadata is an autogenerated mock type for the ArchivalMetadata type
2826
type MockArchivalMetadata struct {

common/archiver/constants.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@
2020

2121
package archiver
2222

23-
import (
24-
"errors"
25-
)
23+
import "errors"
2624

2725
const (
2826
// ArchiveNonRetriableErrorMsg is the log message when the Archive() method encounters a non-retriable error

common/archiver/gcloud/connector/mocks/BucketHandleWrapper.go

+2-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

common/archiver/gcloud/connector/mocks/Client.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

common/archiver/gcloud/connector/mocks/ObjectHandleWrapper.go

+2-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

common/archiver/provider/provider.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@ import (
2424
"errors"
2525
"sync"
2626

27-
"github.com/uber/cadence/common/archiver/gcloud"
28-
2927
"github.com/uber/cadence/common/archiver"
3028
"github.com/uber/cadence/common/archiver/filestore"
29+
"github.com/uber/cadence/common/archiver/gcloud"
3130
"github.com/uber/cadence/common/archiver/s3store"
3231
"github.com/uber/cadence/common/config"
3332
)

0 commit comments

Comments
 (0)