BenMorganIO
BenMorganIO

Reputation: 2046

How to add modules to Play with Scala?

Coming from Ruby on Rails, I used to just do a gem 'some_random_gem' and then bundle in the terminal and there were my dependencies. Now that I'm bumping my head against scala and play, I'm discovering that it might not be that easy on this playground.

I'm trying to runa sample application and this is the warning/error:

module not found: com.wingnest.play2#play21-frames-titan-plugin_2.10;1.3-module-2.4.4

Assume I do not know anything. Assume I have no experience and no scala background. I do have some, but can you give me a description on how to solve this?

I'm believe you will need the projects/build.scala file, so here it is:

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

    val appName         = "play21-frames-titan-simple-app"
    val appVersion      = "1.2-module-2.3.2"
    val titanVersion    = "0.4.2"      

    val appDependencies = Seq(
        "com.wingnest.play2" % "play21-frames-titan-plugin_2.10" % "1.3-module-2.4.4",
        "com.thinkaurelius.titan" % "titan-cassandra" % {titanVersion},     
        javaCore
    )

    val main = play.Project(appName, appVersion, appDependencies).settings(
      resolvers += "Oracle Releases" at "http://download.oracle.com/maven/"        
    )

}

Upvotes: 0

Views: 404

Answers (1)

Marius Soutier
Marius Soutier

Reputation: 11274

First off, there are two types of plugins.

sbt plugins are declared in project/plugins.sbt using addSbtPlugin("organization" % "plugin-name" % "version") - the same way that Play is enabled (Play is nothing more than an sbt plugin).

You can find more info about it in the sbt plugins documentation.

Play plugins are normal dependencies but must be activated in the conf/play.plugins file (create it if non-existent) using the <priority>:<qualified-plugin-name> syntax, e.g. 500:se.radley.plugin.salat.SalatPlugin.

Unfortunately, this part of Play is not documented.

Upvotes: 3

Related Questions