node-gradle / node-gradle/gradle-node-plugin
Support (or don't proclude) the Gradle Worker API
Nobody has claimed this yet.
- Dominant language
- Groovy
- Stars
- 677
- Forks
- 120
- PR merge metrics
- No merged PRs in 30d
Description
One inherent limitation of Gradle projects is only a single task can run at any given time, with the Worker API (https://docs.gradle.org/current/userguide/worker_api.html#converting_to_the_worker_api) to allow many jobs to be run within a single task, using the Worker API requires specifically coding for it though.
The current 3.x by accident (i assume?) has a number of the right abstractions to make using the worker API possible, but similar to https://github.com/node-gradle/gradle-node-plugin/issues/190 having classes not be open makes extending the various innards of the library hard/impossible. For example the ProjectApiHelper abstraction solves for a large part of the normal problems implementors have with using the Worker API, but closed classes and NodeExtension relying on Project are two other blockers.
Since the use of the Worker API is pretty specific (for ex run N jest test suites in parallel) and the intent of this library is quite broad (run npm/yarn stuff) I don't expect you would do the implementation to support this, just maybe make it more possible for this library be extended to support it? Open to PRs?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Gradle Worker API documentation and inspect ProjectApiHelper, NodeExtension, and the closed classes identified as blockers. Determine which extension points are needed for a Worker API implementation; done means the plugin can be extended for that use case without changing its core behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- groovy, node.js
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100