2012-01-26 3 views
2

Tout d'abord je suis très nouveau avec Scala, SBT et Vaadin. J'essaye de faire une application de Vaadin de Scala & avec l'addon de Timeline. J'ai dû mettre Timeline jar (dépendance non gérée) et la dépendance Vaadin sous construire projet (project/) afin que je puisse le compiler pendant la construction (bien, en appelant vaadin tâche). Comment puis-je fusionner la dépendance vaadin-timeline-agpl-3.0-1.2.3.jar et Vaadin dans le projet vaadinTest sans dupliquer jar et dépendance? Voici ma structure de projet. Je vous remercie. En passant, j'ai déjà essayé les plugins Vaadin existants mais ils sont nul (tout ce que je dois faire est de compiler un ensemble de widgets).Scala & XSBT - partager une partie de la classe classpath avec le classpath du projet

C'est ma structure de projet:

vaadinTest/ 
    project/ 
     lib/vaadin-timeline-agpl-3.0-1.2.3.jar 
     build.sbt 
     ProjectBuild.scala 
    src/ 

vaadinTest/project/build.sbt:

libraryDependencies ++= Seq(
    "com.google.gwt" % "gwt-user" % "2.4.0", 
    "com.google.gwt" % "gwt-dev" % "2.4.0", 
    "com.vaadin" % "vaadin" % "6.7.4" 
) 

vaadinTest/project/ProjectBuild.scala:

import com.google.gwt.dev.Compiler 
import sbt._ 
import Keys._ 

object ProjectBuild extends Build { 
    val deps = Seq(
     "org.eclipse.jetty" % "jetty-server" % "8.1.0.RC5", 
     "org.eclipse.jetty" % "jetty-webapp" % "8.1.0.RC5", 
     "org.eclipse.jetty" % "jetty-servlet" % "8.1.0.RC5", 
    ) 
    val vaadinTest = Project(
     "vaadinTest", file("."), Defaults.defaultSettings 
      ++ Seq(libraryDependencies ++= deps) 
      ++ Seq(vaadinTask) 
    ) 

    val vaadin = TaskKey[Unit]("vaadin") 
    val vaadinTask = vaadin := { 
     Compiler.main(Array("-war", "src/main/webapp/VAADIN/widgetsets", 
      "com.vaadin.addon.timeline.gwt.TimelineWidgetSet")) 
    } 
} 

Répondre

0

Votre question mentionne un projet "plugin", mais je ne peux pas voir ce projet dans votre structure de projet ou ProjectBuild.scala?

Dans tous les cas, vous pouvez ajouter des répertoires supplémentaires à votre chemin de classe en modifiant le paramètre dependencyClasspath. Ceci est documenté here (voir la section "Dépendances non gérées").

+0

J'ai fait une faute de frappe, _plugin_ devrait être _build_. Fixé. Le répertoire 'project /' est un autre projet sbt (_build definition_ project, https://github.com/harrah/xsbt/wiki/Getting-Started-Full-Def). Je vais essayer de jouer avec 'dependencyClasspath'. Je vous remercie. – woky