SBT in Action: The Simple Scala Build Tool - Streamline Your Scala Projects with Efficient Build Automation
$24.74
$44.99
Safe 45%
SBT in Action: The Simple Scala Build Tool - Streamline Your Scala Projects with Efficient Build Automation
SBT in Action: The Simple Scala Build Tool - Streamline Your Scala Projects with Efficient Build Automation
SBT in Action: The Simple Scala Build Tool - Streamline Your Scala Projects with Efficient Build Automation
$24.74
$44.99
45% Off
Quantity:
Delivery & Return: Free shipping on all orders over $50
Estimated Delivery: 10-15 days international
18 people viewing this product right now!
SKU: 67839171
Guranteed safe checkout
amex
paypal
discover
mastercard
visa
apple pay
shop
Description
SummaryA 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 Technologysbt 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 Booksbt 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 InsideMaster sbt's loosely coupled librariesEffectively manage dependenciesAutomate and simplify your buildsCustomize builds and tasksAbout the ReaderReaders should be comfortable reading Scala code. No experience with sbt required.About the AuthorsJosh 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 ContentsPART 1 WHY SBT?Why sbt?Getting startedPART 2 UNDERSTANDING SBT'S CORE CONCEPTSCore conceptsThe default buildPART 3 WORKING WITH SBTTestingThe IO and Process librariesAccepting user inputUsing plugins and external librariesDebugging your buildPART 4 EXTENDING SBTAutomating workflows with commandsDefining a pluginPART 5 DEPLOYING YOUR PROJECTSDistributing your projects
More
Shipping & Returns

For all orders exceeding a value of 100USD shipping is offered for free.

Returns will be accepted for up to 10 days of Customer’s receipt or tracking number on unworn items. You, as a Customer, are obliged to inform us via email before you return the item.

Otherwise, standard shipping charges apply. Check out our delivery Terms & Conditions for more details.

Reviews
*****
Verified Buyer
5
I am reading this book on Safari Books Online ... I make note of this just in case the print edition is different.I'm still reading this book (I'm only on Chapter 3) but I'm compelled to write this because the book has numerous mistakes that could seriously impair its use as a tool for learning sbt. Many of the errors are easy to spot and correct on the fly. Other errors are fundamental to the learning process and really get in the way.The kinds of errors that proliferate are errors in sequence and errors in the names of things.An example of an error in sequence: early in chapter 3, the book communicates that the "build.sbt" file we got to at the end chapter 2 included initializing the organization setting. In fact, chapter 2 makes no mention of this setting whatsoever.Another sequence error: Chapter 3 also talks about using settings to define the value of other settings. But the examples it gives for doing this can't be typed in and used because they assume the existence of a project that is not defined until later in the project (or perhaps at all, as I said I'm still reading).Errors in the names of things: The book is completely riddled with these errors. The book leads you through creating a makeVersionProperties task. Later it tells you to use the makePropertiesFile task. The book leads you through creating a gitHeadCommitSha task. Later it tells you to use the gitHeadCommit task. These differences in names break the build. They are easy to fix. But they slow you down. And the fact that they are easy to fix begs the question ... WHY didn't the authors find and fix them before publication?General inconsistencies. For example, the book says to use sbt version 0.13.5. Then its examples (at least some of them) show using sbt 0.13.7 instead. The differences between 0.13.5 and 0.13.7 are significant enough that they impact how you must or are allowed to write the build (specifically, I'm talking about whether blank lines are required between settings).Worst by far though is that the examples in the book describe an sbt build that does not work as written. The book tells you to add the following line:resourceGenerators in Compile += makePropertiesFileAs I mentioned, makePropertiesFile is the wrong name, it should be makeVersionProperties. But even when you fix that the build still doesn't work, and unlike the other examples I have mentioned this is a real head scratcher for someone not familiar with sbt (in other words, the intended audience of this book). I had to search online for how to fix this issue to learn that the line should actually be:resourceGenerators in Compile += makeVersionProperties.taskValueThis was very confusing.Aside from the preceding the book doesn't seem to know who its audience is. I am a software developer as I imagine will be every other person who reads this book. Yet the book inexplicably shies away from explaining things in terms software developers should all understand. Instead of uniformly using the word "type" in the sense universally understood by programmers, it sometimes calls the type the "shape" and in other cases the "keyhole" of a setting.And it uses what I found to be a pretty clumsy spreadsheet analogy to explain the concept of settings in sbt. While the analogy is not itself "wrong", it kept making me ask the question, "Why are they using this analogy? Why describe scopes as tabs in a spreadsheet?" Instead of having the explanatory power the authors hoped for, this only obscured the meaning for me as I kept re-reading and trying to understand what I could be missing that made them choose this analogy. And it is easier for me to think in terms of types, scopes, and so on than in the terms of spreadsheets anyway. I had to continually translate from the spreadsheet analogy to what they really meant to say.The book is informative. It could have been a great book, and it may become a great book in future editions but for now my advice has to be: wait for the second edition unless you are OK with putting a lot of effort into wrapping your head around what the authors are trying to say. I say this as someone who IS willing to make the effort ... I'm a Scala enthusiast and I expect to be an sbt enthusiast by the end of the book, but the mistakes are like stop signs that prevent me from building up a good chunk of momentum. For me it's worth the effort. It won't be for everyone.I'll update this review when I'm finished the book

You May Also Like

We value your privacy

We use cookies and other technologies to personalize your experience, perform marketing, and collect analytics. Learn more in our Privacy Policy.

Top