Olá pessoal,
Após assistir uma palestra mto interessante do Lucas Cavalcanti sobre Scala na QCon 2011 em SP resolvi começar a mexer com Scala, trabalho com Java e Groovy e achei que seria interessante ver o que o Scala poderia me oferecer, porém estou encontrando algumas dificuldades.
Instalei o Scala, e o SBT (Simple Build Tool), estou usando como IDE o IntelliJ, instalei os plugins do Scala e do SBT no IntelliJ e instalei o plugin sbt-idea para gerar os projetos para o IntelliJ.
Acontece que quando eu sigo em frente pra criar o projeto tenho algumas dúvidas:
Crio uma pasta e dentro da pasta inicio o sbt para criar o projeto. Ao rodar o comando gen-idea para gerar os arquivos do projeto do IntelliJ, acontecem várias falhas de download:
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: FAILED DOWNLOADS ::
[warn] :: ^ see resolution messages for details ^ ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.scala-tools.sbt#sbt_2.8.1;0.10.1!sbt_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#sbt_2.8.1;0.10.1!sbt_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#main_2.8.1;0.10.1!main_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#main_2.8.1;0.10.1!main_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#actions_2.8.1;0.10.1!actions_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#actions_2.8.1;0.10.1!actions_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#classfile_2.8.1;0.10.1!classfile_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#classfile_2.8.1;0.10.1!classfile_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#io_2.8.1;0.10.1!io_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#io_2.8.1;0.10.1!io_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#control_2.8.1;0.10.1!control_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#control_2.8.1;0.10.1!control_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#interface;0.10.1!interface.jar(doc)
[warn] :: org.scala-tools.sbt#interface;0.10.1!interface.jar(src)
[warn] :: org.scala-tools.sbt#logging_2.8.1;0.10.1!logging_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#logging_2.8.1;0.10.1!logging_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#process_2.8.1;0.10.1!process_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#process_2.8.1;0.10.1!process_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#classpath_2.8.1;0.10.1!classpath_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#classpath_2.8.1;0.10.1!classpath_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#launcher-interface_2.8.1;0.10.1!launcher-interface_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#launcher-interface_2.8.1;0.10.1!launcher-interface_2.8.1.jar(src)
[warn] :: org.scala-lang#scala-compiler;2.8.1!scala-compiler.jar(doc)
[warn] :: org.scala-tools.sbt#incremental-compiler_2.8.1;0.10.1!incremental-compiler_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#incremental-compiler_2.8.1;0.10.1!incremental-compiler_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#collections_2.8.1;0.10.1!collections_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#collections_2.8.1;0.10.1!collections_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#api_2.8.1;0.10.1!api_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#api_2.8.1;0.10.1!api_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#persist_2.8.1;0.10.1!persist_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#persist_2.8.1;0.10.1!persist_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#compile_2.8.1;0.10.1!compile_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#compile_2.8.1;0.10.1!compile_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#ivy_2.8.1;0.10.1!ivy_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#ivy_2.8.1;0.10.1!ivy_2.8.1.jar(doc)
[warn] :: com.jcraft#jsch;0.1.31!jsch.jar(doc)
[warn] :: commons-httpclient#commons-httpclient;3.1!commons-httpclient.jar(doc)
[warn] :: commons-codec#commons-codec;1.2!commons-codec.jar(src)
[warn] :: org.scala-tools.sbt#completion_2.8.1;0.10.1!completion_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#completion_2.8.1;0.10.1!completion_2.8.1.jar(doc)
[warn] :: jline#jline;0.9.94!jline.jar(doc)
[warn] :: org.scala-tools.sbt#discovery_2.8.1;0.10.1!discovery_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#discovery_2.8.1;0.10.1!discovery_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#run_2.8.1;0.10.1!run_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#run_2.8.1;0.10.1!run_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#task-system_2.8.1;0.10.1!task-system_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#task-system_2.8.1;0.10.1!task-system_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#tasks_2.8.1;0.10.1!tasks_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#tasks_2.8.1;0.10.1!tasks_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#tracking_2.8.1;0.10.1!tracking_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#tracking_2.8.1;0.10.1!tracking_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#cache_2.8.1;0.10.1!cache_2.8.1.jar(doc)
[warn] :: org.scala-tools.sbt#cache_2.8.1;0.10.1!cache_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#testing_2.8.1;0.10.1!testing_2.8.1.jar(src)
[warn] :: org.scala-tools.sbt#testing_2.8.1;0.10.1!testing_2.8.1.jar(doc)
[warn] :: org.scala-tools.testing#test-interface;0.5!test-interface.jar(src)
[warn] :: org.scala-tools.testing#test-interface;0.5!test-interface.jar(doc)
[warn] :: org.scala-tools.sbt#compiler-interface;0.10.1!compiler-interface.jar(doc)
[warn] :: org.scala-tools.sbt#compiler-interface;0.10.1!compiler-interface.jar(src)
[warn] :: org.scala-tools.sbt#precompiled-2_9_0-1;0.10.1!precompiled-2_9_0-1.jar(doc)
[warn] :: org.scala-tools.sbt#precompiled-2_9_0-1;0.10.1!precompiled-2_9_0-1.jar(src)
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[info]
[info] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
Mas apesar disso ele cria o projeto, então prossegui com os passos, ao entrar na pasta, vejo que ele criou apenas as pastas project e target, e não existe pasta de source para o projeto, (era pra ser assim mesmo?), crio então a pasta de source code do projeto (src/main/scala) e a pasta de source tests (src/main/test), crio ainda a pasta de libs (/lib).
Após isso abro o projeto no IntelliJ e ele reconhece a pasta project como source folder, então eu clico no botão direito e clico em “Mark folder as” e marco as pastas de source code e source tests.
Após isso crio um build.sbt como manda aqui na raíz do projeto e declaro la as dependencias, só que ao tentar dar um compile ou um update no console sbt do IntelliJ nada acontece, ele compila normal e termina a task mas eu não vejo menção sobre ele ter baixado as dependencias, e a pasta lib continua vazia. Isso é normal? O que eu estou fazendo de errado?
Se quem tiver mais experiência puder me ajudar eu agradeço muito.
Abraços