невозможно добавить пользовательское действие SBT - PullRequest
0 голосов
/ 08 декабря 2010

Я только начал работать с SBT. Чтобы добавить пользовательское действие, я выполнил следующую задачу и добавил этот файл .scala в папку «project» в виде SBT wiki guides.

//MyProject.scala
import sbt._

class HelloWorldProject(info: ProjectInfo) extends DefaultProject(info)
{
  lazy val hi = task { println("Hello World"); None }
}

после добавления файла scala src для настройки макет папки проекта выглядит следующим образом.

/development/scala/SomeScalaProject/
|~lib/
|~project/
| |~boot/
| | |~scala-2.7.7/
| | | |~lib/
| | | | |-scala-compiler.jar [RO]
| | | | `-scala-library.jar [RO]
| | | `~org.scala-tools.sbt/
| | |   `~sbt/
| | |     `+0.7.4/
| | |~scala-2.8.1/
| | | `~lib/
| | |   |-scala-compiler.jar [RO]
| | |   `-scala-library.jar [RO]
| | `-sbt.boot.lock
| |-build.properties
| |
| `-MyProject.scala  //here
|
|+src/

Но даже после «перезагрузки» или «обновления» запуск задачи hi в SBT вообще недоступен. чего мне не хватает?

D:\development\scala\SBEStudy>java -Xmx512M -jar "D:\development\.common\sbt-la
nch-0.7.4.jar" update
[info] Building project SomeScalaProject 1.0 against Scala 2.8.1
[info]    using sbt.DefaultProject with sbt 0.7.4 and Scala 2.7.7
[info]
[info] == update ==
[warn] No dependency configuration found, using defaults.
[info] :: retrieving :: nephilim.practice#scalabyexample_2.8.1 [sync]
[info]  confs: [default]
[info]  0 artifacts copied, 0 already retrieved (0kB/391ms)
[info] == update ==
[success] Successful.
[info]
[info] Total time: 1 s, completed 2010. 12. 8 오후 7:14:39
[info]
[info] Total session time: 2 s, completed 2010. 12. 8 오후 7:14:39
[success] Build completed successfully.
> reload
[info] Building project SomeScalaProject 1.0 against Scala 2.8.1
[info]    using sbt.DefaultProject with sbt 0.7.4 and Scala 2.7.7
> hi
[error] No action named 'hi' exists.
[info] Execute 'help' for a list of commands or 'actions' for a list of availab
e project actions and methods.

1 Ответ

1 голос
/ 09 декабря 2010

Это была моя ошибка. :(
«MyProject.scala» должен находиться в каталоге / project / build, а не в каталоге / project.

...