A tutorial about effectively building Scala projects, sbt in Action introduces the sbt tool with a simple project that establishes the fundamentals of running commands and tasks. Next, it shows you how to use the peripheral libraries in sbt to make common tasks simpler. Finally, it covers how to deploy software effectively. You'll learn to appreciate how sbt improves the process of developing software, not just running builds.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
sbt is a build tool native to Scala that can transform any build scenario into a streamlined, automated, and repeatable process. Its interactive shell lets you customize your builds on the fly, and with sbt's unique incremental compilation feature, you can update only the parts of your project that change, without having to rebuild everything. Mastering sbt, along with the right patterns and best practices, is guaranteed to save you time and trouble on every project.
About the Book
sbt in Action, first and foremost, teaches you how to build Scala projects effectively. It introduces the sbt tool with a simple project that establishes the fundamentals of running commands and tasks. Next, it shows you how to use the peripheral libraries in sbt to make common tasks simpler. Along the way, you'll work through real projects that demonstrate how to build and deploy your projects regardless of development methodology or process.
What's Inside
Master sbt's loosely coupled libraries Effectively manage dependencies Automate and simplify your builds Customize builds and tasks
About the Reader
Readers should be comfortable reading Scala code. No experience with sbt required.
About the Authors
Josh Suereth is an engineer at Typesafe and the author of Manning's Scala in Depth. Matthew Farwell is a senior developer and the author of the Scalastyle style checker.Table of Contents
PART 1 WHY SBT? Why sbt? Getting started PART 2 UNDERSTANDING SBT'S CORE CONCEPTS Core concepts The default build PART 3 WORKING WITH SBT Testing The IO and Process libraries Accepting user input Using plugins and external libraries Debugging your build PART 4 EXTENDING SBT Automating workflows with commands Defining a plugin PART 5 DEPLOYING YOUR PROJECTS Distributing your projects
I've almost lost hope this one's gonna be published, it was in MEAP for so long. But, in the end, it's worth waiting for - it's one of the books that doesn't start with full syntax & DSL grammar spec, instead it goes for "learn-by-example" approach & ... I think it worked - I feel more capable in playing with SBT now, but I still don't find myself an expert & I believe I will still be surprised by SBT again & again in future.
The part I can't properly review, because I've skimmed through quickly was the extendibility - I don't really feel like going for that in the nearest future, but I may come back to that part some day later.
Anyway, if you're up for some build system stuff, you don't know SBT yet & you toy with Scala/Akka/Play, this is the book for you.
Disclaimer: The book that I’ve read is the newest edition available at safari
I’m not even sure whom this book is dedicated to. If you’re a Scala developer then this book is too outdated due to that most of the APIs it explains are either deprecated of heavily rewritten. If you’re a DevOps… well, you don’t read books at all. You can definitely use it as a reference for some of the SBT commands, but there’re lots of such references available on the Internet with convenient search by word as well as code examples.
You would definitely find another thing to spend your money on than buying this book.
Note: I proofread this book, so keep that in mind, but I don't make anything additional based on its success or failure. Having said that, I think it's safe to say I'll be recommending this book without hesitation to anyone who wants to really get sbt. I wish it went into a bit more depth in some areas, but I understand that would be difficult to do without making the book twice as long and likely impenetrable to casual or first time users of sbt.