jberkel / android-plugin

An sbt plugin for Android development in Scala
https://groups.google.com/forum/#!forum/scala-on-android
Other
476 stars 113 forks source link

Inconsistent format for androidPlatformName #40

Open paulbutcher opened 13 years ago

paulbutcher commented 13 years ago

What is the intended format for androidPlatformName?

https://github.com/n8han/android-app.g8 defines it to be android-$api_level$ (i.e. something like android-7). And this makes sense given that:

androidPlatformPath = androidSdkPath / "platforms" / androidPlatformName

But platformName2ApiLevel clearly expects it to be of a different form, for example android-2.1:

  def platformName2ApiLevel:Int = androidPlatformName match {
    case "android-1.0" => 1
    case "android-1.1" => 2
    case "android-1.5" => 3
    case "android-1.6" => 4
    case "android-2.0" => 5
    case "android-2.1" => 7
    case "android-2.2" => 8
    case "android-2.3" => 9
    case "android-2.3.3" => 10
    case "android-3.0" => 11
  }

androidPlatformName is only used if minSdkVersion isn't set. Is the right thing to do to require that minSdkVersion is set and ditch platformName2ApiLevel? Or something else?

paulbutcher commented 13 years ago

Thinking further about this - maxSdkVersion is unused and minSdkVersion only used for this one instance, which in turn is only used to determine addonsPath.

How about we ditch min/maxSdkVersion entirely and instead of requiring a project to define androidPlatformName, require it to define apiLevel (from which we can then derive androidPlatformName)?

jberkel commented 13 years ago

yes this sounds good. i think we can get rid of add-ons path alltogether since the addons could be pulled in via dependencies.