import sbt._
import sbt.Keys._

import android.Keys._

object FooBarBazBuild extends Build {

  lazy val bar = project in(file("foo/bar")) settings(common: _*) 
dependsOn(baz) aggregate(baz)

  lazy val baz = project settings (common: _*)

  lazy val common = android.Plugin.androidBuild ++ Seq(
    proguardOptions  in Android ++= IO.readLines(file("proguard.txt")),
    scalacOptions    in Compile ++= Seq("-deprecation", "-feature"),
    javacOptions     in Compile  += "-deprecation"
  )

}

So here's what ends up happening. project bar is a variant that depends on 
android library baz. When I compile this, it appears that baz is compiled 
twice as noted by deprecation warnings. This also results in bot bar and 
baz both containing the classes from baz after calling task compile. This 
results in all sorts of problem afterwards with the type resource plugin, 
proguard and duplicate classes, etc. This also seems to be in stark 
contrast to a standard sbt build where classes from baz don't end up in 
bar's output.

And in fact, if I look for bar/target/android-bin/classes.jar after task 
compile, its not there. But if I call `android:package-debug`, then the 
classes.jar shows up during that process and eventually causes all the 
problems when this is finally passed in to `dx`. It seems like this should 
not be happening.

using android-sdk-plugin:1.2.5

I wrote a custom build proc last night to help dive into the details and 
I'm guessing I could hook in to the plugin and filter out the classes.jar 
for project bar (since in this case the project only contains resource 
files), but I dont want to tip toe around this issue b/c what if it did 
have classes that needed to be added? Is this an issue with the proguard 
output? or some configuration detail I'm missing?

-- 
You received this message because you are subscribed to the Google Groups 
"scala-on-android" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to