Getting Started with SBT
for Scala
Equip yourself with a high-productivity work
environment using SBT, a build tool for Scala
Shiti Saxena
BIRMINGHAM - MUMBAI
Getting Started with SBT for Scala
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
First published: September 2013
Production Reference: 1040913
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78328-267-8
www.packtpub.com
Cover Image by Aniket Sawant (aniket_sawant_photography@hotmail.com)
Credits
Author
Shiti Saxena
Reviewers
Aaruna Godthi
Rohit Rai
Prashant Sharma
Acquisition Editor
Edward Gordon
Commissioning Editor
Mohammed Fahad
Technical Editor
Jalasha D'costa
Project Coordinator
Joel Goveya
Proofreaders
Maria Gould
Paul Hindle
Indexer
Monica Ajmera Mehta
Graphics
Abhinash Sahu
Production Coordinator
Conidon Miranda
Cover Work
Conidon Miranda
About the Author
Shiti Saxena is a software engineer with around three years of work experience.
She is currently working with Imaginea (a business unit of Pramati). She has also
previously worked with Tata Consultancy Services Ltd. and Genpact.
A true polyglot, she has experience with various languages including Scala,
JavaScript, Java, Python, Perl, and C. She also likes to work with Play Scala
and AngularJS.
She blogs at http://eraoferrors.blogspot.in and maintains open source
projects at GitHub.
In her spare time, she loves to travel, watch movies, and likes to spend time
playing her piano.
Acknowledgments
I am indebted to my mother, Nithi, and my sisters, Shaila, Anshu, and Aastha,
for their constant support.
A special thanks to my cousin, Rohit, for guiding, mentoring, understanding,
and pampering me. He made me believe that I could write this book, and
supported me when I was finding it difficult to finish. He has always been
there for me, irrespective of the time or busy schedule.
I would like to thank Jay and Vijay Pullur for starting Pramati, and everyone
at Pramati for making it a great place to work.
I would like to thank Kalyan and Apurba for their support and guidance.
I wouldn't have learned many a thing if it wasn't for them.
I would like to thank Mark Harrah and Typesafe, without whose efforts,
this technology, and eventually this book, wouldn't have been possible.
I thank my friends for being there when I need them.
I thank the editors at Packt, Meeta, Joel, and Mohammed Fahad, for being
good to me and understanding the difficulties I faced while writing the book.
They showed great patience when I was unable to meet the deadlines. I am
also thankful to the reviewers, Rohit, Prashant, and Aaruna, for their valuable
feedback that helped improve the book.
I am grateful to everyone who has in some way or the other helped me
reach this stage in my life. Thanks!
About the Reviewers
Coming from a Statistics background and with a Master's degree in Information
Technology, Aaruna Godthi likes taking up challenges. He is a polyglot in the
field of programming.
He currently works at Pramati Technologies. He has worked a bit on Hadoop and
Sentiment analysis (entity extraction and association of sentiment). Currently, he
is exploring various JavaScript frameworks including Dojo, Ember, and AngularJS.
Other than this, he likes exploring offbeat places.
Rohit Rai is a software professional and founder of Tuplejump. With over 10 years
of experience in the industry, he has been exposed to a wide variety of languages
and platforms. He has been working with Scala for over three years, and he decided
to take a whole-hearted dive when Scala became the primary development language
for the Tuplejump Data Engineering Platform.
He is an active contributor to the open source community and a developer and
maintainer of various projects around Scala and SBT including the play-yoman
integration, play socket.io plugin, Calliope – the cassandra+spark bridge, and
so on.
He has also authored the book Socket.IO Real-time Web Application Development,
Packt Publishing.
First of all, I would like to thank the author and publishers for
choosing me to review the book. I would to thank my family,
friends, and colleagues for understanding that I have been stealing
out time from various activities to meet the book deadlines.
Prashant Sharma works for Pramati Technologies, which is an umbrella company
under which he is part of a development team at Imaginea. He is an open source
contributor at Spark, and has been working on projects based on Scala as both a
hobby and as his profession. He has also worked on distributed systems, such as
ejabberd in erlang, and also other Java-based RESTful and soap-based web services
to build multitenant systems. Academically, he is interested in exploring both
functional programming and distributed computing.
You can find Prashant's work at GitHub (https://github.com/ScrapCodes)
and follow him on Twitter (@ScrapCodes).
More on Imaginea (http://imaginea.com/)
Imaginea has been at the forefront of technological evolution by developing
sophisticated software solutions for both its own customers and the open
source community.
GitHub: https://github.com/imaginea