1 | import sbtassembly.AssemblyPlugin.defaultShellScript |
---|
2 | import sbt.Keys._ |
---|
3 | |
---|
4 | |
---|
5 | lazy val root = (project in file(".")) |
---|
6 | .settings( |
---|
7 | name := "RouterLaunchApp", |
---|
8 | organization := "net.i2p", |
---|
9 | scalaVersion := "2.11.11", // We have to use Scala 11 as long as we're going to support JRE 1.7 |
---|
10 | version := "0.1.0-SNAPSHOT", |
---|
11 | assemblyJarName in assembly := s"${name.value}-${version.value}.jar", |
---|
12 | mainClass in assembly := Some("net.i2p.RouterLauncherApp") |
---|
13 | |
---|
14 | // This will prepend shebang and become executable, however, it will only work on unix systems and not windows. |
---|
15 | //assemblyOption in assembly := (assemblyOption in assembly).value.copy(prependShellScript = Some(defaultShellScript)) |
---|
16 | ) |
---|
17 | |
---|
18 | resolvers ++= Seq( |
---|
19 | DefaultMavenRepository, |
---|
20 | Resolver.mavenLocal, |
---|
21 | Resolver.sonatypeRepo("releases"), |
---|
22 | Resolver.typesafeRepo("releases"), |
---|
23 | Resolver.sbtPluginRepo("releases") |
---|
24 | ) |
---|
25 | |
---|
26 | libraryDependencies ++= Seq( |
---|
27 | "org.json4s" %% "json4s-native" % "3.5.3" |
---|
28 | ) |
---|
29 | |
---|
30 | assemblyExcludedJars in assembly := { |
---|
31 | val donts = List("BOB.jar", "sam.jar", "desktopgui.jar", "i2ptunnel-ui.jar", "i2psnark.jar", "jetty-sslengine.jar") |
---|
32 | val cp = (fullClasspath in assembly).value |
---|
33 | cp filter { s => donts.contains(s.data.getName)} |
---|
34 | } |
---|
35 | |
---|
36 | fork := true |
---|
37 | |
---|
38 | run / javaOptions += "-Xmx512M" |
---|
39 | run / connectInput := true |
---|
40 | |
---|
41 | unmanagedBase := baseDirectory.value / ".." / "build" |
---|
42 | unmanagedClasspath in Compile ++= Seq( |
---|
43 | baseDirectory.value / ".." / "build" / "*.jar" |
---|
44 | ) |
---|
45 | |
---|
46 | |
---|