Reputation: 8487
I can create a sbt project like so:
$ mkdir project1
$ cd project1
$ sbt
Loading /usr/share/sbt/bin/sbt-launch-lib.bash
> set name := "project1"
[info] Defining *:name
...
> set scalaVersion :="2.10.2"
[info] Defining *:scalaVersion
...
> set version :="1.0"
[info] Defining *:version
...
> session save
[info] Reapplying settings...
> exit
This creates build.sbt
file for the project.
$ cat build.sbt
name := "project1"
scalaVersion :="2.10.2"
version :="1.0"
Now is there any command-line for doing the same? Something like:
sbt new_project "name" version scala_version
EDIT1
I figured out another way i.e. create project folder:
$ mkdir project1
$ cd project1/
Update project details:
$ sbt 'set name := "project1"' 'set scalaVersion :="2.10.2"' 'set version :="1.0"' 'session save'
Loading /usr/share/sbt/bin/sbt-launch-lib.bash
[info] Set current project to project1 (in build file:/tmp/scala/project1/)
[info] Defining *:name
[info] The new value will be used by *:description, *:normalizedName and 6 others.
[info] Run `last` for details.
[info] Reapplying settings...
[info] Set current project to project1 (in build file:/tmp/scala/project1/)
[info] Defining *:scalaVersion
[info] The new value will be used by *:allDependencies, *:ivyScala and 10 others.
[info] Run `last` for details.
[info] Reapplying settings...
[info] Set current project to project1 (in build file:/tmp/scala/project1/)
[info] Defining *:version
[info] The new value will be used by *:isSnapshot, *:projectId and 3 others.
[info] Run `last` for details.
[info] Reapplying settings...
[info] Set current project to project1 (in build file:/tmp/scala/project1/)
[info] Reapplying settings...
[info] Set current project to project1 (in build file:/tmp/scala/project1/)
We have project generated and settings saved:
$ ls
build.sbt project
$ cat build.sbt
name := "project1"
scalaVersion :="2.10.2"
version :="1.0"
I hope SBT to natively provide functionality like in Maven: mvn archetype:generate
.
Upvotes: 21
Views: 9805
Reputation: 303
From sbt 0.13.13 on there's a built in command new
:
sbt new scala/scala-seed.g8
Upvotes: 16