1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>Learn | sbt</title> 7 8 <link rel="icon" href="/assets/favicon.ico"> 9 <link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"> 10 <link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon-96x96.png"> 11 <link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"> 12 <link rel="stylesheet" href="/css/site.css"> 13 <link rel="stylesheet" href="/assets/docsearch.css"> 14
14<script defer data-domain="scala-sbt.org" src="https://plausible.scala-lang.org/js/script.js"></script>
14 15 </head> 16 <body> 17 <nav class="navbar"> 18 <div class="container navbar__inner"> 19 <a class="navbar__brand" href="/"> 20 <img src="/assets/sbt-logo.svg" alt="sbt logo"> 21 </a> 22 <div class="navbar__menu" id="navbar-menu"> 23 <div class="navbar__items navbar__items--left"> 24 <a class="navbar__link" href="/learn/">Learn</a> 25 <a class="navbar__link" href="/download/">Download</a> 26 <a class="navbar__link" href="/community/">Get Involved</a> 27 </div> 28 <div class="navbar__items navbar__items--right"> 29 <a class="navbar__link" href="https://www.scala-sbt.org/1.x/docs/">1.x docs</a> 30 <a class="navbar__link" href="https://www.scala-sbt.org/2.x/docs/en/">2.x docs</a> 31 <a class="navbar__link" href="https://github.com/sbt/sbt">GitHub</a> 32 </div> 33 </div> 34 <div class="navbar__search" id="docsearch"></div> 35 <button 36 class="navbar__toggle" 37 type="button" 38 aria-expanded="false" 39 aria-controls="navbar-menu" 40 aria-label="Toggle navigation menu" 41 > 42 <span class="navbar__toggle-bar"></span> 43 <span class="navbar__toggle-bar"></span> 44 <span class="navbar__toggle-bar"></span> 45 </button> 46 </div> 47</nav> 48 49 <main> 50 <div class="page-content"> 51 <div class="container"> 52 <h1>Learn</h1> 53<h2>Documentation</h2> 54<ul> 55<li><a href="https://www.scala-sbt.org/1.x/docs/sbt-by-example.html">sbt by Example</a> inspired by William Narmontas's tutorial</li> 56<li><a href="https://www.scala-sbt.org/1.x/docs/">sbt 1.x documentation</a></li> 57<li><a href="https://www.scala-sbt.org/2.x/docs/en/">sbt 2.x documentation</a></li> 58<li><a href="https://www.scala-sbt.org/2.0.9/api/sbt/index.html">sbt API</a></li> 59</ul> 60<h2>Talks</h2> 61<ul> 62<li><a href="https://www.youtube.com/watch?v=-shamsTC7rQ">sbt core concepts</a>, Scala Days 2019, Eugene Yokota</li> 63</ul> 64<iframe width="560" height="315" src="https://www.youtube.com/embed/-shamsTC7rQ" frameborder="0"></iframe> 65<ul> 66<li><a href="https://www.youtube.com/watch?v=zWh4kFX63Gc">sbt: Beyond the Build Tool</a>, Scala Days 2017, Jeff Olchovy</li> 67</ul> 68<iframe width="560" height="315" src="https://www.youtube.com/embed/zWh4kFX63Gc" frameborder="0"></iframe> 69<ul> 70<li><a href="https://www.youtube.com/watch?v=rjW-H8hY7BM">sbt 1</a>, Scala Days Berlin 2018, Dale Wijnand and Eugene Yokota</li> 71<li><a href="https://www.youtube.com/watch?v=ID-EqTOgwKY">sbt-native-packager - package all the things</a>, Scala Days 2018, Nepomuk Seiler</li> 72<li><a href="https://skillsmatter.com/skillscasts/12647-principled-sbt">Principled sbt</a>, Scala eXchange London 2018, Andrea Peruffo</li> 73<li><a href="https://www.youtube.com/watch?v=adKT7doSEAA">sbt Plugins: How and Why</a>, Scala Central #6 (2017), Danielle Ashley</li> 74<li><a href="https://www.youtube.com/watch?v=OzTTmbPXNKw">Continuous Delivery for Microservices with sbt and Docker</a>, Scala Up North 2016, Julien Letrouit</li> 75<li><a href="https://youtu.be/slkV-9uClUU?t=94">A brief (incomplete and mostly wrong) history of build tools</a>, Eugene Yokota and Josh Suereth, Scala Days 2016</li> 76<li><a href="https://www.youtube.com/watch?v=X6CnYQDL9Eg">Learn you an sbt for fun and profit!</a>, Scala Days 2014, Daniel Westheide</li> 77<li><a href="https://www.youtube.com/watch?v=y-_h_m4GjVo">Better Living Through sbt</a>, nescala 2014, Luke Amdor</li> 78<li><a href="https://vimeo.com/20263617">sbt 0.9: Why, what, how?</a>, nescala 2011, Mark Harrah</li> 79</ul> 80<h2>Screencast(s)</h2> 81<ul> 82<li><a href="https://www.youtube.com/watch?v=JI0i7f2byPY&t=251s">Essential sbt for Scala</a>, 2016, William Narmontas</li> 83</ul> 84<h2>Book(s)</h2> 85<ul> 86<li><a href="https://www.manning.com/books/sbt-in-action">sbt in Action</a>, 2015, Joshua Suereth and Matthew Farwell</li> 87</ul> 88<h2>Blog posts</h2> 89<ul> 90<li><a href="https://tech.ovoenergy.com/awesome-sbt-plugins-for-everyone/">Awesome sbt plugins for everyone</a>, 2017, Michael Wizner</li> 91<li><a href="https://eed3si9n.com/parallel-cross-building-using-sbt-projectmatrix">parallel cross building using sbt-projectmatrix</a>, 2019, Eugene Yokota</li> 92<li><a href="https://eed3si9n.com/hot-source-dependencies-using-sbt-sriracha">hot source dependencies using sbt-sriracha</a>, 2018, Eugene Yokota</li> 93<li><a href="https://eed3si9n.com/removing-commas-with-sbt-nocomma">removing commas with sbt-nocomma</a>, 2018, Eugene Yokota</li> 94<li><a href="https://eed3si9n.com/dependency-resolver-semantics">semantics of dependency resolvers</a>, 2019, Eugene Yokota</li> 95<li><a href="https://www.ethanatkins.com/2019/09/11/introducing-sbt-make.html">Introducing sbt-make</a>, 2019, Ethan Atkins</li> 96<li><a href="https://alvinalexander.com/scala/sbt-how-to-compile-run-package-scala-project">How to compile, run, and package a Scala project with sbt</a>, 2019, Alvin Alexander</li> 97<li><a href="https://eed3si9n.com/sjson-new">sjson-new</a>, 2016, Eugene Yokota</li> 98<li><a href="https://jazzy.id.au/2015/03/03/sbt-task-engine.html">sbt - A task engine</a>, 2015, James Roper</li> 99<li><a href="https://jazzy.id.au/2015/03/04/sbt-declarative-dsl.html">sbt - A declarative DSL</a>, 2015, James Roper</li> 100<li><a href="https://eed3si9n.com/testing-sbt-plugins">testing sbt plugins</a>, 2011, Eugene Yokota</li> 101<li><a href="https://blog.rhetoricalmusings.com/posts/how-i-sbt1/">
101How I SBT</a>, 2024, Higher-Kinded Type (Vivek Ragunathan)</li> 102</ul> 103<h2>Old documentation</h2> 104<h3>sbt 0.13 (obsolete)</h3> 105<ul> 106<li><a href="0.13/docs/index.html">sbt documentation</a> (<a href="0.13/docs/sbt-reference.pdf">pdf</a>)</li> 107<li><a href="0.13.15/api/index.html">sbt API</a> (<a href="0.13.15/sxr/index.html">source</a>)</li> 108</ul> 109<h3>sbt 0.12 (obsolete)</h3> 110<ul> 111<li><a href="0.12.4/docs/index.html">sbt documentation</a></li> 112<li><a href="0.12.4/api/index.html">sbt API</a></li> 113</ul> 114 115 </div> 116</div> 117 118 </main> 119 <footer class="footer"> 120 <div class="container"> 121 <div class="footer__grid"> 122 <div class="footer__section"> 123 <h3>Docs</h3> 124 <ul> 125 <li><a href="https://www.scala-sbt.org/1.x/docs/">sbt 1.x docs</a></li> 126 </ul> 127 </div> 128 <div class="footer__section"> 129 <h3>Community</h3> 130 <ul> 131 <li><a href="https://discord.com/invite/scala">Discord</a></li> 132 <li><a href="https://floss.social/@scala_sbt">Mastodon</a></li> 133 <li><a href="https://bsky.app/profile/scala-sbt.org">Bluesky</a></li> 134 <li><a href="https://stackoverflow.com/questions/tagged/sbt">Stack Overflow</a></li> 135 </ul> 136 </div> 137 <div class="footer__section"> 138 <h3>More</h3> 139 <ul> 140 <li><a href="https://github.com/sbt/sbt">GitHub</a></li> 141 </ul> 142 </div> 143 </div> 144 <p class="footer__copyright">Copyright ©
144<script>document.write(new Date().getFullYear())</script>
144 Scala Center.</p> 145 </div> 146</footer> 147 148
148<script src="/assets/docsearch.js"></script>
148 149
149<script> 150 docsearch({ 151 container: "#docsearch", 152 appId: "U55AU5GMCN", 153 apiKey: "45ef8a0285275e68a1c09ecdfff2be0f", 154 indices: [ 155 { 156 name: "scala-sbt", 157 searchParameters: { 158 facetFilters: ["lang:en"], 159 }, 160 }, 161 ], 162 }); 163 </script>
163 164
164<script src="/js/nav.js"></script>
164 165
165<script src="/js/tabs.js"></script>
165 166 </body> 167</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.