www update org scala sbt

update - ¿Por qué Scala''s-SBT es demasiado lento?



scala sbt ubuntu (1)

SBT es lento porque compila el código interno que se realiza en Scala y la compilación de Scala es lenta porque es un lenguaje complejo (pero una vez que se compila Scala es mucho más rápido en tiempo de ejecución)

Puede darle un impulso a SBT cuando use la versión SBT 1.x con el servidor SBT. El servidor SBT le permite usar solo una instancia SBT compartida entre la línea de comandos y el IDE. Esto es bastante útil, más información aquí: https://www.scala-sbt.org/1.x/docs/sbt-server.html

También considere usar otras herramientas de compilación más ligeras, como PANTALONES, que se basa en Python, que se interpreta y mucho más rápido. Más información en: https://www.pantsbuild.org/

NOTA: la comunidad y la documentación de PANTS no es tan extensa como con SBT, pero vale la pena intentarlo, hay cosas asombrosas que se pueden hacer con PANTS.

NOTA 2: si su base de código es grande, aún tomará mucho tiempo compilar / construir, así que considere organizar su código y artefactos como piezas / subproyectos incrementales / en caché para ver un impulso real.

Me enfrento a la lentitud en muchos lugares mientras trabajo con sbt

  1. Importación del proyecto SBT en Intellij - aprox. (8-10 minutos).
  2. Indexación en Intellij del Proyecto SBT.
  3. sbt (En el terminal, este comando toma - aproximadamente (2-3 minutos)).
  4. compile (en sbt shell este comando toma - aproximadamente (3-5 minutos)).
    5. Siempre que modifique el archivo build.sbt , la actualización del proyecto demora 3-4 minutos.

Hay más lugares que necesito revisar, pero sobre los puntos especificados que enfrento con frecuencia.

¿Está este problema relacionado con SBT o Scala?, Si es así, ¿Cómo resolver el mismo?

Nota: Tengo una buena conexión a Internet, así que esto no puede ser un problema de red.

Mi archivo de Scala Class:

import org.scalatest._ class TaskManagerSpec extends FlatSpec with Matchers { "An empty tasks list" should "have 0 tasks due today" in { val tasksDueToday = TaskManager.allTasksDueToday(List()) tasksDueToday should have length 0 } }

build.sbt

name := "tasky" version := "0.1.0" scalaVersion := "2.11.6" resolvers += "Artima Maven Repository" at "http://repo.artima.com/releases" libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"