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.