Working with a stable and reliable build tool to create projects in Scala is extremely important to developer productivity. sbt offers a wide variety of features and extensibility as a build tool that can meet almost any project's requirements.
This course is well suited for software developers who are working or planning to contribute to a Scala codebase. Scala Build Tool (sbt) is a widely accepted Build Tool in the Scala Ecosystem, and the Scala language codebase itself is built and shipped with sbt. This course, Scala Build Tool: Getting Started, starts from the basics of working with the sbt shell; you'll learn about settings, tasks, scopes, build definition, multi-module builds, plugins, and working with 3rd party libraries. You will explore how to create a project from scratch, and add source files and tests. Next, you will discover how to compile and test your source code. Finally, you'll examine how to open-source your work in this project and deploy the executable API for anyone in the world to use. After taking this course, you will know the ins and outs of sbt, and will be comfortable starting or refactoring the codebases you work with.
Harit Himanshu is an engineer by profession with the deep interest in applying technologies to solve business problems. Harit is passionate about writing clean, modular, testable code and believes in automating almost everything.
Course Overview (Music) Hi everyone. My name is Harit Himanshu, and welcome to my course, Scala Build Tool: Getting Started. I am an independent software consultant and co-creator of Money Bonsai at Bonsai Labs. Sbt is a widely accepted build tool in the Scala ecosystem. The Scala language code base itself is built and shipped with sbt. Working with a stable and reliable build tool to create projects in Scala is extremely important to a developer's productivity. Sbt offers a wide variety of features and extensibility as a build tool that could match almost any project's requirement. In this course, we are going to cover sbt starting from fundamentals, and develop a project with sbt using all the concepts necessary to ship Scala projects based on sbt. Some of the major topics that we will cover include core principals such as build definition, settings, task, scopes, and plugins; working with multi-module builds in sbt; a complete working lifecycle of a project right from the new project to compile, test, package, and publish; working with third-party libraries; open sourcing a project artifact; and deploying the project artifact to an external host. By the end of this course, you will be comfortable in starting or refactoring sbt-based code bases. You will acquire a skillset that is desired from a senior software engineer or a team lead who knows the complete cycle of how a software project is started, refactored, tested, and shipped. Before beginning this course, you should be familiar with how to read and write Scala. If you are new to Scala, please watch Scala: The Big Picture and Scala Fundamentals. This will give you a good coverage on Scala language and act as a logical next step to learn sbt. I hope you will join me on this journey to learn sbt, with the Scala Build Tool: Getting Started course, at Pluralsight.