Gradle Completion Versions Save

Gradle tab completion for bash and zsh

v1.4.1

5 years ago

General improvements

  • Completion is updated for all new Gradle options and arguments up through Gradle 5.2.
  • New contributing guide
  • The md5: too many arguments is mitigated by being a little smarter about which Gradle scripts are cached (#71)
  • Fixes "illegal access Java warning" text appearing on the screen while generating task names cache
  • Fixed a regression in completion of Gradle properties using bash

See install/upgrade instructions for bash or zsh.

v1.4.0

5 years ago

General improvements

  • Completion is updated for all new Gradle options and arguments up through Gradle 5.2.
  • The md5: too many arguments is mitigated by being a little smarter about which Gradle scripts are cached (#71)
  • Fixes "illegal access Java warning" text appearing on the screen while generating task names cache
  • Fixed a regression in completion of Gradle properties using bash

See install/upgrade instructions for bash or zsh.

v1.3.0

6 years ago

General improvements

You can now install gradle-completion via Homebrew! 🎉

  • Completion is updated for all new Gradle options and arguments up through Gradle 4.4. (#39)
  • If the cache exists but is empty, it is now automatically regenerated in the background. (#48)

Bash improvements

  • Bash no longer changes COMP_WORDBREAKS and therefore no longer interferes with some other completion scripts. (#29)
  • File and directory argument completion are now available. (e.g. gradle --include-build ../fo<TAB>) (#26, #35)
  • Completion cache updates now work with set -o noclobber is set. (#40 — thanks @yloiseau)

Zsh improvements

  • Multiple tasks can now be completed. (#41)
  • --include-build, --init-script, and --system-prop can be completed multiple times. (#45)

See install/upgrade instructions for bash or zsh.

v1.2.0

7 years ago

Completion improvements

You can now complete options and tasks while in a subproject! This should be especially good news for gw users, who don't have to specify their root build file or path to Gradle wrapper.

Zsh now has completes all options for gradle init, gradle tasks, gradle wrapper and more.

Completion Cache Improvements

Regenerating the completion cache is now done in the background. You can also trigger it with __gradle-completion-init. Completion caching and retrieval is much, much faster for large projects (note: large array operations in shell scripts get exponentially slower as the array grows).

v1.1.0

7 years ago

Major completion speed improvements

For bash, reducing the amount of data being processed by compgen makes completion 2-20x faster depending on size of project (bigger gains for larger projects).

For zsh, manually managing the completion cache (instead of using zsh's built-in cache) makes completion 1.5-10x faster depending on the size of project (again, larger projects benefit more).

Completion should now occur under 200ms after initial caching for the vast majority of projects and environments. Please file an issue if you see otherwise with details of your build/environment.

Optional unqualified task completion

Gradle allows you to access tasks of subprojects from the project root implicitly. For example, given these tasks:

:foo
:help
:bar:baz

You can execute gradle baz from the project root and it will execute :bar:baz.

gradle-completion will not tab complete these tasks by default because it adds a significant number of completion options, which may not be what you want.

To allow completion of implicit tasks, export GRADLE_COMPLETION_UNQUALIFIED_TASKS=true.

Cache configuration options

2 new options here, see details in the README Configuration section.

  • You can now configure which build scripts from the cache UP-TO-DATE check, including turning it off completely using export GRADLE_COMPLETION_EXCLUDE_PATTERN="(build|integTest|samples)/"
    • By default, the build script cache is invalidated every 3 weeks to allow for new build scripts to affect the completion cache. You can configure this value by exporting a new value for $GRADLE_CACHE_TTL_MINUTES

gw (gdub) completion support

gradle-completion will now perform completions when you're using the gw command. Please note that completion from subprojects isn't supported yet (#3). Hoping that will be addressed in v1.2.0.