-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathindex.html
More file actions
208 lines (199 loc) · 7.88 KB
/
Copy pathindex.html
File metadata and controls
208 lines (199 loc) · 7.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>sbt, a simple build tool | sbt</title>
<meta name="description" content="sbt is a simple build tool for Scala, Java, and more. Define your tasks in Scala. Run them in parallel from the interactive shell.">
<link rel="icon" href="/assets/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png">
<link rel="stylesheet" href="/css/site.css">
<link rel="stylesheet" href="/assets/docsearch.css">
<script defer data-domain="scala-sbt.org" src="https://plausible.scala-lang.org/js/script.js"></script>
</head>
<body>
<nav class="navbar">
<div class="container navbar__inner">
<a class="navbar__brand" href="/">
<img src="/assets/sbt-logo.svg" alt="sbt logo">
</a>
<div class="navbar__menu" id="navbar-menu">
<div class="navbar__items navbar__items--left">
<a class="navbar__link" href="/learn/">Learn</a>
<a class="navbar__link" href="/download/">Download</a>
<a class="navbar__link" href="/community/">Get Involved</a>
</div>
<div class="navbar__items navbar__items--right">
<a class="navbar__link" href="https://www.scala-sbt.org/1.x/docs/">1.x docs</a>
<a class="navbar__link" href="https://www.scala-sbt.org/2.x/docs/en/">2.x docs</a>
<a class="navbar__link" href="https://github.com/sbt/sbt">GitHub</a>
</div>
</div>
<div class="navbar__search" id="docsearch"></div>
<button
class="navbar__toggle"
type="button"
aria-expanded="false"
aria-controls="navbar-menu"
aria-label="Toggle navigation menu"
>
<span class="navbar__toggle-bar"></span>
<span class="navbar__toggle-bar"></span>
<span class="navbar__toggle-bar"></span>
</button>
</div>
</nav>
<main>
<header class="hero">
<div class="container">
<h1 class="hero__title">sbt</h1>
<p class="hero__subtitle">A simple build tool</p>
<div class="hero__buttons">
<a class="button button--secondary" href="/download/">Get sbt 2.0.5 (latest stable)</a>
<a class="button button--secondary" href="https://www.scala-sbt.org/2.x/docs/en/">Documentation</a>
</div>
</div>
</header>
<section class="section">
<div class="container">
<h2>Simple things easy</h2>
<h3>Hello, world!</h3>
<pre><code class="language-scala">ThisBuild / scalaVersion := "3.8.4"</code></pre>
<p>You just need one line of <code>build.sbt</code> to get started with Scala. Learn more on <a href="https://www.scala-sbt.org/1.x/docs/sbt-by-example.html">sbt by Example</a> page.</p>
<h3>sbt new</h3>
<p>Choose from community-maintained <a href="https://github.com/search?o=desc&p=1&q=g8&s=stars&type=Repositories">Giter8 templates</a> to jump start your project:</p>
<pre><code>$ sbt new scala/scala-seed.g8
$ sbt new playframework/play-scala-seed.g8
$ sbt new akka/akka-http-quickstart-scala.g8
$ sbt new http4s/http4s.g8
$ sbt new holdenk/sparkProjectTemplate.g8</code></pre>
</div>
</section>
<section class="section">
<div class="container">
<h2>Why sbt?</h2>
<div class="row">
<div class="col col--3">
<h3>For Scala and Java</h3>
<p>
sbt is built for Scala and Java projects. It is the build tool of choice
for <a href="https://scalasurvey2023.virtuslab.com/">84.7%</a> of the Scala developers (2023).
One of the examples of Scala-specific feature is the ability to <i>cross build</i> your
project against multiple Scala versions.
</p>
</div>
<div class="col col--3">
<h3>Typesafe and parallel</h3>
<p>
<code>build.sbt</code> is a Scala-based DSL to express parallel processing task graph.
Typos in <code>build.sbt</code> will be caught as a compilation error.
</p>
</div>
<div class="col col--3">
<h3>Speedy iteration</h3>
<p>
With Zinc incremental compiler and file watch (<code>~</code>),
edit-compile-test loop is fast and incremental.
</p>
</div>
<div class="col col--3">
<h3>Extensible</h3>
<p>
Adding support for new tasks and platforms (like Scala.js) is
as easy as writing <code>build.sbt</code>.
Join <a href="https://www.scala-sbt.org/1.x/docs/Community-Plugins.html">100+ community-maintained plugins</a> to
share and reuse sbt tasks.
</p>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container">
<h2>Beyond the build tool</h2>
<div class="row">
<div class="col col--6">
<p>
Previously 21% of the developer's time was spent in redeploying
WebLogic application, which was unacceptable. We had to find a solution:
some way of productivity to go high.
This is one of the reasons why we have Play and Akka.
We were really impressed with the hot reload.
Now the developers are clearly more productive.
<br><i>— Keyur Shah, Associate Fellow, Verizon</i>
</p>
</div>
<div class="col col--6">
<p>
sbt is a core critical component of Tapad's tech stack.
Its use beyond the build tool is largely responsible for
the massive efficiency gains that the engineering organization has
come to appreciate.
sbt and its interactive shell comprise the interface to the standardized
application testing, release, and deployment platform.
Artifacts and applications are delivered, updated, and scaled across
four global data centers.
<br><i>— Jeffrey Olchovy, CTO, Tapad</i>
</p>
</div>
<div class="col col--6">
<p>
You can use sbt-native-packager to build native formats like Docker,
sbt-release has nice steps to take care of versioning,
sbt-bintray can be used to release to Bintray.
There's a pattern: You bring in a plugin. It has some settings.
You read the documentations to learn about the setting.
And it does its jobs.
<br><i>— Gabriel Asman, Software Developer, Ovo Energy</i>
</p>
</div>
</div>
</div>
</section>
</main>
<footer class="footer">
<div class="container">
<div class="footer__grid">
<div class="footer__section">
<h3>Docs</h3>
<ul>
<li><a href="https://www.scala-sbt.org/1.x/docs/">sbt 1.x docs</a></li>
</ul>
</div>
<div class="footer__section">
<h3>Community</h3>
<ul>
<li><a href="https://discord.com/invite/scala">Discord</a></li>
<li><a href="https://floss.social/@scala_sbt">Mastodon</a></li>
<li><a href="https://bsky.app/profile/scala-sbt.org">Bluesky</a></li>
<li><a href="https://stackoverflow.com/questions/tagged/sbt">Stack Overflow</a></li>
</ul>
</div>
<div class="footer__section">
<h3>More</h3>
<ul>
<li><a href="https://github.com/sbt/sbt">GitHub</a></li>
</ul>
</div>
</div>
<p class="footer__copyright">Copyright © <script>document.write(new Date().getFullYear())</script> Scala Center.</p>
</div>
</footer>
<script src="/assets/docsearch.js"></script>
<script>
docsearch({
container: "#docsearch",
appId: "U55AU5GMCN",
apiKey: "45ef8a0285275e68a1c09ecdfff2be0f",
indexName: "scala-sbt",
searchParameters: {
facetFilters: ["lang:en"],
},
});
</script>
<script src="/js/nav.js"></script>
<script src="/js/tabs.js"></script>
</body>
</html>