~/talk

Lessons Learned Building a Build Tool

Talkat KotlinConf 2017 · 2017-11-02..11-03· [kotlin]
links:none on file
slides:none on file

Built an alternative build system called Kobalt written in Kotlin that prioritizes valid Kotlin build files so IDE auto-completion works, a plugin model based on extension points (Hollywood principle), and features like Maven repo uploads via Aether, flavors, wrapper and version checks. Implements incremental tasks via input/output hashes and speeds up multi-module builds with parallel scheduling by repeatedly launching free nodes (topological sort + dynamic eligibility), and reaches the original design goals — production-ready but open for contributions.

AI-written summary · about

  1. 0:00Intro
  2. 1:51What led to Kobalt?
  3. 5:45What is Kobalt?
  4. 7:29Design goals
  5. 9:27Auto completion
  6. 10:00Incremental tasks
  7. 11:08Parallel builds
  8. 11:55Profiles
  9. 13:25Easy project dependencies
  10. 14:56Plug-in architecture
  11. 17:27Other features
  12. 21:07Example project (ktor)
  13. 22:16Topological sort
  14. 24:35Single threaded
  15. 25:01Multithreaded (naive)
  16. 25:45Multithreaded (DynamicGraph)
  17. 26:51Dynamic Graph algorithm
  18. 27:21DynamicGraph in action
  19. 29:04The problem
  20. 31:05Example: a JSON library
  21. 34:50Example: persistence
  22. 40:02Ad hoc polymorphism in a nutshell
  23. 40:53Wrapping up
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.