Skip to content

Releases: gradle/gradle-completion

v9.3.1

29 Jan 16:20
c34035a

Choose a tag to compare

What's Changed

  • fix: prevent command injection in gradle completion by @reinsch82 in #190
  • [AUTOMATED] Regenerate Completion Scripts by @github-actions[bot] in #191

Full Changelog: v9.3.0...v9.3.1

v9.3.0

21 Jan 12:44
f6afb1d

Choose a tag to compare

What's Changed

  • Refine build logic and GA workflows by @eskatos in #180
  • Add DEVELOCITY_ACCESS_KEY to ci build by @blindpirate in #181
  • Apply issue templates by @hegyibalint in #183
  • Add the closed:... workflow handler by @hegyibalint in #184
  • Update README.md to match reality by @reinsch82 in #182
  • Use gradle task for release tar gz by @reinsch82 in #185
  • Fix version fetching task for configuration cache by @reinsch82 in #186
  • [AUTOMATED] Regenerate Completion Scripts by @github-actions[bot] in #187
  • [AUTOMATED] Regenerate Completion Scripts by @github-actions[bot] in #188

New Contributors

Full Changelog: v9.2.0...v9.3.0

v9.2.0

30 Oct 07:52
95d6671

Choose a tag to compare

What's Changed

  • Allow repository pushes to automatically update generated scripts by @reinsch82 in #169
  • generate options for the tasks provided in the completion scripts by @reinsch82 in #170
  • Figure out gradle version for upgrade by @reinsch82 in #172
  • Update PR creation action to v7 and add signoff option by @reinsch82 in #174
  • [AUTOMATED] Regenerate Completion Scripts by @github-actions[bot] in #177
  • fix release candidate version fetching logic and error handling by @reinsch82 in #175
  • Add new CLI options for show-version and rerun task functionality by @reinsch82 in #178
  • [AUTOMATED] Regenerate Completion Scripts by @github-actions[bot] in #179

New Contributors

  • @github-actions[bot] made their first contribution in #177

Full Changelog: v1.5.0...v9.2.0

v1.6.0

16 Oct 09:17
7a3df48

Choose a tag to compare

What's Changed

  • Force overwriting of cache files by @rnc in #78
  • Add support for loading as oh-my-zsh plugin by @smac89 in #79
  • Background cache built should be silent - fix by @mwos-sl in #92
  • Force --console plain for tasks cache generation by @grossws in #90
  • Halve results - skip completions starting with ':' if nothing is typed by @mwos-sl in #87
  • Adds support for the configuration cache flags by @bmuskalla in #94
  • Update README: Use https protocol for cloning the repo by @samoylenko in #112
  • Cache completion data under the Gradle user home directory if defined by @franckrasolo in #130
  • Allow sub-project to start with capital letters. by @martenbohlin in #120
  • Replace deprecated egrep with grep -E by @tinder-ryantrontz in #142
  • Add script generating gradle build and fix compatibility with gradle 9.0 by @reinsch82 in #168

New Contributors

Full Changelog: v1.4.1...v1.6.0

v1.5.0

16 Oct 07:47
7a3df48

Choose a tag to compare

What's Changed

  • Force overwriting of cache files by @rnc in #78
  • Add support for loading as oh-my-zsh plugin by @smac89 in #79
  • Background cache built should be silent - fix by @mwos-sl in #92
  • Force --console plain for tasks cache generation by @grossws in #90
  • Halve results - skip completions starting with ':' if nothing is typed by @mwos-sl in #87
  • Adds support for the configuration cache flags by @bmuskalla in #94
  • Update README: Use https protocol for cloning the repo by @samoylenko in #112
  • Cache completion data under the Gradle user home directory if defined by @franckrasolo in #130
  • Allow sub-project to start with capital letters. by @martenbohlin in #120
  • Replace deprecated egrep with grep -E by @tinder-ryantrontz in #142
  • Add script generating gradle build and fix compatibility with gradle 9.0 by @reinsch82 in #168

New Contributors

Full Changelog: v1.4.1...v1.5.0

1.4.1

20 Feb 21:11

Choose a tag to compare

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.

1.4.0

19 Feb 23:14

Choose a tag to compare

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.

1.3.0

22 Nov 20:53

Choose a tag to compare

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.

1.2.0

26 Feb 21:52
161b429

Choose a tag to compare

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).

1.1.0

30 Jan 14:39
511ec3d

Choose a tag to compare

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.