Skip to content
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

Features for 1.0 #65

Open
6 of 10 tasks
sgammon opened this issue Sep 11, 2023 · 0 comments
Open
6 of 10 tasks

Features for 1.0 #65

sgammon opened this issue Sep 11, 2023 · 0 comments
Assignees
Labels
meta release Release PRs and issues
Milestone

Comments

@sgammon
Copy link
Member

sgammon commented Sep 11, 2023

Once we're out of beta, the goal is to have a more complete plugin experience, with some extra best-practices support provided by some open source plugins, as well as improvements made to the Buildless plugin itself.

In each case, we'll need to check/enclose licenses, contact authors (as needed), and otherwise obtain proper permission to embed this code or seek alternatives.

Plugins we may want to bundle

  • Gradle Doctor: This plugin is fantastic for catching major mistakes in a Gradle build, many of which can hurt cache performance. In addition to these checks, the plugin also measures cache efficiency and offers recommendations about targets that should be withheld from the cache.

  • Build time tracker: This plugin offers a summary at the end of a build, showing the set of tasks which took the longest. It would be especially cool to extend this plugin with color support and with embedded time-savings charts from use of Buildless.

  • Android cache fix: This plugin applies fixes to Android builds which improve/fix caching. The plugin comes directly from the Gradle team.

  • Common user data: This plugin is offered by the Gradle team for a downstream team to customize; we may want to offer our own Buildless-enhanced alternative, or otherwise provide an easy path for use (if we don't bundle).

Functionality we want to add

  • Transport: Enhanced HTTP2 transport for communicating with the cache.

  • Pkgst: Extensions and other DSL for easily activating Pkgst support.

  • Local env: Smarter local env, with support for CACHE_ENDPOINT overrides, and suppressing local or remote caching via other env vars.

  • CLI support: When the CLI is installed and available, we should use it to obtain configuration; ditto for desktop apps.

  • Agent support: When the Buildless Agent is running, the Gradle plugin should notice automatically and use it instead of cloud-based endpoints.

  • Negotiation: Specialized endpoint negotiation, which will let a cache dynamically configure itself over an API.

Bugs to fix

@sgammon sgammon added release Release PRs and issues meta labels Sep 11, 2023
@sgammon sgammon added this to the Release v1.0 milestone Sep 11, 2023
@sgammon sgammon self-assigned this Sep 11, 2023
@sgammon sgammon pinned this issue Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta release Release PRs and issues
Projects
None yet
Development

No branches or pull requests

1 participant