Hey,

I've added 3 Jar dependencies to my simple test android-sdk-plugin project, 
and now my package times have gone up to 15 seconds for a simple one-line 
Scala code change.  It's not the end of the world but rapidly gets 
frustrating, I'm used to Java's near-instant compilations.  The android:dex 
step is the culprit.  I have a few questions:

1.  dex has got much slower since adding the 3 Jar dependencies, but I only 
need these for compilation, not runtime (I'm importing some model classes 
that I want to use on Android, server and web via Scala-JS, so they have 
some annotations that are important to server-side but irrelevant to the 
Android client).  Can I tell dex to ignore them?  I tried % "provided" on 
the dependencies, but no result.  I think this works in the other android 
sbt plugin going 
from 
http://fxthomas.github.io/android-plugin/tutorial/02-configuring-the-build.html.

2.  Weirdly, after a clean, android:package takes just 8 seconds versus the 
15 s for a code change.  The difference seems to be dex running in 
non-incremental mode after a clean, and incremental after a change.  Oddly, 
the incremental dex is much slower.  So a) any ideas why that is, and b) 
can I force dex to be non-incremental.

3.  Finally, any other tips for getting the dex stage faster?

If it helps, the last output after android:dex ends:

[debug] available versions: List(1.3.18, 1.3.17, 1.3.16, 1.3.15, 1.3.14)
[debug] current version: 1.3.18
[debug] latest version: 1.3.18
[info] Generating dex, incremental=true, multiDex=false
[debug] Dex inputs: 
List(C:\dev\all2\travelpouch-android-sbt-clean\target\android-bin\retrolambda-processed.jar)
[success] Total time: 14 s, completed Apr 2, 2015 3:41:13 PM

And my sbt is:

name := "test"

version := "1.0"

scalaVersion := "2.11.6"

// Just use annotations from these
proguardOptions in Android ++= Seq("-dontwarn javax.persistence.**")
proguardOptions in Android ++= Seq("-dontwarn org.jboss.logging.**")
proguardOptions in Android ++= Seq("-dontwarn org.hibernate.validator.**")
proguardOptions in Android ++= Seq("-dontwarn com.fasterxml.jackson.**")
proguardOptions in Android ++= Seq("-dontnote com.fasterxml.jackson.**")

libraryDependencies ++= Seq(
  "javax.persistence" % "persistence-api" % "1.0.2"  % "provided",
  "com.fasterxml.jackson.core" % "jackson-databind" % "2.5.1" % "provided",
  "org.hibernate" % "hibernate-validator" % "5.1.3.Final" % "provided"
)

-- 
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 scala-on-android+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to