Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@meatballhat
Copy link
Member

What type of PR is this?

  • feature

What this PR does / why we need it:

See #977

Which issue(s) this PR fixes:

Closes #895

Special notes for your reviewer:

This is intended to carry forward the work in #977 with the addition of build tags to allow opting out of the suggestions dependency at build time as with recently-added work for markdown/man doc dependencies (cc @kolyshkin).

saschagrunert and others added 5 commits March 3, 2020 13:06
The new option `app.Suggest` enables command and flag suggestions via
the jaro-winkler distance algorithm. Flags are scoped to their
appropriate commands whereas command suggestions are scoped to the
current command level.

Signed-off-by: Sascha Grunert <[email protected]>
@meatballhat meatballhat added kind/feature describes a code enhancement / feature request area/v2 relates to / is being considered for v2 labels May 7, 2022
@meatballhat meatballhat requested a review from a team as a code owner May 7, 2022 19:26
@meatballhat meatballhat added this to the Release 2.x milestone May 8, 2022
@kolyshkin
Copy link
Contributor

@meatballhat what is the size difference with and without suggestions?

@meatballhat
Copy link
Member Author

@kolyshkin regarding size difference

$ go run ./internal/build/build.go check-binary-size
# ---> /usr/sbin/git rev-parse --show-toplevel
# ---> /home/me/.gimme/versions/go1.18.1.linux.amd64/bin/go build -tags  -o ./internal/example-cli/built-example -ldflags -s -w ./internal/example-cli/example-cli.go
# ---> /home/me/.gimme/versions/go1.18.1.linux.amd64/bin/go build -tags  -o ./internal/example-hello-world/built-example -ldflags -s -w ./internal/example-hello-world/example-hello-world.go

1.7MB is the current binary size
  ✅ 1.7MB is the target min size
  ✅ 2.2MB is the target max size
$ go run ./internal/build/build.go --tags urfave_cli_no_suggest check-binary-size
# ---> /usr/sbin/git rev-parse --show-toplevel
# ---> /home/me/.gimme/versions/go1.18.1.linux.amd64/bin/go build -tags urfave_cli_no_suggest -o ./internal/example-cli/built-example -ldflags -s -w ./internal/example-cli/example-cli.go
# ---> /home/me/.gimme/versions/go1.18.1.linux.amd64/bin/go build -tags urfave_cli_no_suggest -o ./internal/example-hello-world/built-example -ldflags -s -w ./internal/example-hello-world/example-hello-world.go

1.7MB is the current binary size
  ✅ 1.7MB is the target min size
  ✅ 2.2MB is the target max size

(small enough that it's not showing up?)

$ du internal/example-cli/built-example*
2852    internal/example-cli/built-example
2844    internal/example-cli/built-example-no-suggest

meatballhat added a commit that referenced this pull request May 14, 2022
@kolyshkin
Copy link
Contributor

(small enough that it's not showing up?)

The size difference seems to be about 0.1% (a few kilobytes), so it probably does not make sense to add a build tag for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/v2 relates to / is being considered for v2 kind/feature describes a code enhancement / feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"Did you mean" hint on wrong command or flag

5 participants