Gradle Q&A for myself

Q: Gradle task does not show all the tasks, why?

A: By default gradle hides tasks that:

  • Do not have a group
  • And are a dependency of another tasks, because gradle assumes you would not be calling this task from the command line

Things I learned in the book Gradle beyond the basics

Help me improve this document!


Tasks can be created by rules. These tasks are called “task rules”. They are dynamically created when a task matching their pattern is invoked.


Single project build phase

Initialization phase

  1. Execute settings.gradle
  2. Determine whether it’s a single project or a multi-project
  3. Locate the build files
  4. Create a Project object

Configuration phase

  1. Load the Project object
  2. Execute gradle.projectsLoaded()
  3. Execute project.beforeEvaluate()
  4. Execute the build file as groovy scripts, against the Project object
    1. DAG gets created
    2. Hook methods are run
  5. Execute project.afterEvaluate()
  6. Execute gradle.projectsEvaluated()

Execution phase

  1. Identifies the tasks to run
  2. Execute the tasks marked for execution
  3. Execute gradle.buildFinished()

Multi-project build phase

I am guessing that this puts a couple of  loops in the configuration phase and in the execution phase…

Should I Kanban?

Recently, Bryan Morris sent me a link to his paper Yes We Kanban! That was timely, because I’ve been asking myself, should I Kanban?

I have been following an Agile Scrum approach on two projects so far, with two different employers. In both cases, I started off with physical cards on a physical board, the daily 5-minute stand up meetings in the hallway and a 2-hour long sprint planning meeting every other week (two hours is not enough time unless the backlog is groomed and pre-prioritized). On one of the projects, the backlog became too large and I started to track the cards in a spreadsheet. After about 10 sprints and hundreds of additional cards in the backlog, I had exceeded the capacity of the visual basic scripts Read more of this post