gradle / gradle/guides

Advanced Plugin Development Tutorial

Open
#17 21 comments 0 reactions 0 assignees View on GitHub
a:guide type:tutorial
Dominant language
Java
Stars
48
Forks
36
Avg merge
7h 37m
Merged PRs (30d)
8

Description

@cbeams commented on [Mon Aug 29 2016](https://github.com/gradle/build-tool-web/issues/76)

@oehme [wrote](https://gradle.slack.com/archives/build-tool-web/p1472387256000002)

> By the way I'd love to help writing an advanced plugin dev guide. I've seen it done wrong so many times and finally want a place I can point people to. We need to explain deep modelling, domain object containers, afterEvaluate, incremental tasks, layering of plugins. And then of course functional testing :)
>
> That will also help us see the most painful aspects ourselves, like the fact that our DSL decoration does not work on user-created objects.

@cbeams [responded](https://gradle.slack.com/archives/build-tool-web/p1472444602000002):

> Thanks. This would be a good candidate for what we're calling [Tutorials](48). Tutorials are (potentially much) longer in form than the "Getting Started Guides" that we've been discussing above. We don't have a plan to publish any Tutorials for our MVP, but that could change, especially if others are willing to step up and write one.

TODOs:
- [ ] Point [Getting Started Writing Custom Task guide](https://github.com/gradle-guides/gs-writing-gradle-tasks) to this tutorial.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the proposed advanced plugin development topics in the issue and the linked Getting Started Writing Custom Task guide. Define the tutorial structure and content for deep modelling, domain object containers, afterEvaluate, incremental tasks, plugin layering, and functional testing. Done means the tutorial is published and the custom task guide points to it.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.