it-swarm.it

Crea progetto semplice SBT 0.10.X

(Questo è un seguito di sbt che non crea correttamente i progetti . La domanda non ha avuto risposta.)


Fondamentalmente, quella domanda dice "Non so come creare un progetto sotto il nuovo sbt. Con il vecchio, ho appena eseguito sbt in una nuova cartella e c'era un wizard guidato che mi ha guidato attraverso l'installazione ".

La risposta accettata non spiega come creare un nuovo progetto, punta solo a la documentazione , che non dice esplicitamente come creare un nuovo progetto - solo come scrivere un file build.sbt .

Così ho provato prima a scrivere un build.sbt e quindi a eseguire sbt nella directory con il file build.sbt, ma non vedo ancora una directory src con cui lavorare.

Qualcuno potrebbe postare una semplice procedura passo-passo (presumo che ci siano al massimo 3 passaggi) che guidano come creare un nuovo progetto sotto sbt 0.10.X?

40
dsg

Ho trovato la risposta che stavo cercando in questa pagina web: Scala 2.9.1, sbt 0.10 e ScalaTest passo dopo passo .

I passaggi di alto livello sono:

  1. mkdir my_project crea una cartella per il tuo progetto
  2. Crea un semplice file my_project/build.sbt, ad esempio:

    name := "A Project"
    
    version := "0.1"
    
    scalaVersion := "2.9.1"
    
    libraryDependencies ++= Seq(
      "org.scalatest" %% "scalatest" % "1.6.1" % "test"
    )
    
  3. Crea un file my_project/src/main/scala/HelloWorld.scala, dove crei tutte le directory di cui hai bisogno (ad es. Crea la struttura delle directory src/main/scala/)

    object Main extends App { Console.println("Hello World!") }

  4. Esegui i tuoi comandi sbt: ad es. sbt run

62
dsg

Sono sorpreso che nessuno abbia dato un'altra soluzione che è la più vicina alla vecchia maniera (come menzionato da @dsg) per creare un semplice progetto in sbt: Basta eseguire sbt nella directory del progetto, quindi emettere i seguenti comandi nello sbt REPL:

> set name := "MyProject"
> set version := "1.0"
> set scalaVersion := "2.9.0"
> session save
> exit

Certo, è solo leggermente utile in quanto creerà solo il file build.sbt (abbastanza per renderlo un progetto sbt corretto) con le proprietà corrispondenti impostate, e si potrebbe anche creare il file a mano (di solito preferisco farlo me stessa). Neanche creerà la directory src.

35

Solo pochi giorni fa è stato rilasciato il plug-in np (new project) per sbt. Intendeva affrontare esattamente questo problema:

Versione iniziale. Fornisce un'interfaccia minima per la generazione di nuovi sbt progetti via, ... sbt.

L'utilizzo di base è installare il plug-in a livello globale e avviare un nuovo progetto con

$ sbt 
$ np name:my-project org:com.mypackage version:0.1.0-SNAPSHOT  

Questo genererà un semplice progetto build.sbt per te insieme a struttura di directory di progetto standard per sorgenti principali e di test.

Per un utilizzo più avanzato, vedere il readme del progetto per maggiori informazioni

16
om-nom-nom

È possibile utilizzare https://github.com/n8han/giter8 per generare il layout del progetto utilizzando vari modelli

11
fehu

Nelle versioni più recenti di sbt, puoi semplicemente installare sbteclipse:

// ~/.sbt/plugins/build.sbt
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")

quindi dalla console di sbt puoi eseguire:

Eclipse with-source=true

Nella versione 0.10.x penso che questo post possa aiutarti:

http://dcsobral.blogspot.fr/2011/06/very-quick-guide-to-project-creation-on.html

4
txominpelu

Non dimenticare il recente comando sbt 0.13.3 new:

Esempio:

Innanzitutto, è necessaria la versione di avvio di sbt 0.13.13 o successiva.
Normalmente la versione esatta per il launcher sbt non ha importanza perché utilizzerà la versione specificata da sbt.version in project/build.properties; tuttavia, per il nuovo sbt's launcher 0.13.13 o superiore è richiesto come il comando funzioni senza project/build.properties presente.

Quindi, esegui:

$ sbt new eed3si9n/hello.g8
....
name [hello]:
scala_version [2.11.8]:

Template applied in ./hello

Questo ha lanciato il template eed3si9n/hello.g8 usando Giter8, richiesto per i valori di "nome" e "scala_version" (che hanno valori predefiniti "hello" e "2.11.8", che abbiamo accettato di colpire [Invio] ), e ha creato una build sotto ./hello

1
VonC

Sto usando https://github.com/ymasory/sbt-prototype skeleton. Vedi anche la mia altra risposta .

È stato il primo a funzionare e ne sono stato abbastanza soddisfatto da allora.

1
user272735

Controlla il repository GitHub Modello Scala SBT . In particolare il buildt.sbt file.

Basta clonare il repository, andare in quella directory, quindi chiamare il comando sbt

 $ git clone git://github.com/dph01/scala-sbt-template.git
 $ cd scala-sbt-template
 $ ./sbt

Dall'interno di sbt, puoi digitare run per eseguire il codice fornito. Divertiti!

0
cevaris

Un modo alternativo per generare la struttura del progetto usando Intellij: 

  • Crea la directory per il progetto e includi un file sbt di base. Hai solo bisogno di specificare il nome del progetto. 

    nome: = "porjectName"

  • Con Intellij importa il progetto. Durante il processo controlla le opzioni "Usa importazione automatica" e "Crea directory per le radici di contenuto vuote automaticamente"

Ciò creerà per te lo scheletro di base per il progetto sbt. 

0
Sal81