logo资料库

Getting Started with SBT for Scala.pdf

第1页 / 共86页
第2页 / 共86页
第3页 / 共86页
第4页 / 共86页
第5页 / 共86页
第6页 / 共86页
第7页 / 共86页
第8页 / 共86页
资料共86页,剩余部分请下载后查看
Cover
Copyright
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Table of Contents
Preface
Chapter 1: Hello World with SBT
Why SBT?
Installing SBT
Installing from a package
Installing on Mac
Installing SBT manually
Creating a new project
Compiling, testing, and running your project
Going interactive with the SBT shell
Triggering SBT commands on saves
Summary
Chapter 2: .sbt Build Definitions
The theory of .sbt
The .sbt syntax
Understanding keys
Keys
Setting keys
Task keys
Input keys
Working with scopes
Summary
Chapter 3: Dependency Management
Quick introduction to Maven or Ivy dependency management
How Ivy works
Resolve
Retrieve
Publish
Dependency management in SBT
Automatic dependency management
Declaring dependencies in the build definition
Dependencies using Maven files
Dependencies using Ivy files or Ivy XML
Adding JAR files manually
Resolvers
Summary
Chapter 4: Full Build Definitions
Build definition project
.sbt and .scala
Working with full build definitions
Multiproject builds
Summary
Chapter 5: Compile, Test, and Run
Commands
Logging
Forking the JVM
Parallel execution
SBT scripts and REPL
Classpath, sources, and resources
Test
Summary
Index
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
分享到:
收藏