Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sbt._
- import sbt.Keys._
- import android.ArbitraryProject
- import android.Keys._
- import android.Dependencies.{LibraryProject, apklib}
- import org.sbtidea.SbtIdeaPlugin._
- object Common {
- val CommonSettings = Seq(
- organization := "com.michalrus",
- version := "1.0.0",
- scalaVersion := "2.10.4",
- javacOptions in Compile ++= Seq("-Xlint:deprecation"),
- scalacOptions in Compile ++= Seq("-feature", "-deprecation", "-Yno-adapted-args", "-Ywarn-all", "-Xfatal-warnings",
- "-Xlint", "-Ywarn-value-discard", "-Ywarn-numeric-widen", "-Ywarn-dead-code", "-unchecked"),
- )
- val AndroidSettings = android.Plugin.androidBuild ++ CommonSettings ++ Seq(
- platformTarget in Android := "android-17"
- )
- def genIdeaSettings(src: String) = Seq(
- ideaSourcesClassifiers := Seq(src),
- ideaJavadocsClassifiers := Seq(),
- ideaBasePackage := None,
- ideaPackagePrefix := None
- )
- }
- object Build extends Build {
- import Common._
- // --- github:ApmeM/android-flowlayout
- val flBase = (ArbitraryProject git uri("https://github.com/michalrus/android-flowlayout.git" +
- "#9337f8ddbc554e85b399aaee227f05e4bb34d85d")) / "libraries" / "layouts"
- lazy val flSettings = AndroidSettings ++ Seq(libraryProject in Android := true) ++ genIdeaSettings("src")
- lazy val fl = RootProject(flBase)
- // --- github:edmodo/range-bar
- val rbBase = (ArbitraryProject git uri("https://github.com/edmodo/range-bar.git" +
- "#29559f006729dde0d4b2eaaec4fc8026f8cb76c4")) / "rangebar"
- val rbSettings = AndroidSettings ++ Seq(libraryProject in Android := true) ++ genIdeaSettings("src")
- val rb = RootProject(rbBase)
- // --- build loaders
- override def buildLoaders = ArbitraryProject settingsLoader Map(
- flBase -> flSettings,
- rbBase -> rbSettings
- )
- // --- root
- lazy val root = Project(id = "root", base = file(".")).settings(
- AndroidSettings ++ Seq(
- name := "pitch",
- libraryDependencies += "com.netflix.rxjava" % "rxjava-core" % "0.17.1",
- libraryDependencies += "com.netflix.rxjava" % "rxjava-scala" % "0.17.1" intransitive(),
- libraryDependencies += "org.joda" % "joda-convert" % "1.6",
- libraryDependencies += "joda-time" % "joda-time" % "2.3",
- apkbuildExcludes in Android ++= Seq("META-INF/LICENSE.txt", "META-INF/NOTICE.txt"),
- localProjects in Android += LibraryProject(flBase),
- localProjects in Android += LibraryProject(rbBase),
- run <<= run in Android,
- useProguard in Android := true,
- proguardOptions in Android += "-keep public class org.joda.time.tz.Provider",
- proguardOptions in Android += "-keep public class org.joda.time.tz.NameProvider",
- proguardOptions in Android += "-dontwarn javax.xml.bind.DatatypeConverter"
- )
- :_*) dependsOn (macros, fl, rb) aggregate (macros, fl, rb)
- // -- macros
- lazy val macros = Project(id = "macros", base = file("macros")).settings(
- CommonSettings ++ Seq(
- libraryDependencies <+= scalaVersion("org.scala-lang" % "scala-reflect" % _),
- exportJars := true
- )
- :_*)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement