Iniciando com Scala e SBT

2 respostas
M

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

2 Respostas

A

Talvez este forum te ajude:

http://scala-forum.org/

P

Esse fórum (scala-forum) é muito pequeno… Tente o oficial… infelizmente tb não consigo ajudar qdo o assunto é scala…

http://www.scala-lang.org/forum

Criado 12 de setembro de 2011
Ultima resposta 12 de set. de 2011
Respostas 2
Participantes 3