【发布时间】:2012-07-22 10:56:15
【问题描述】:
我正在尝试编写一个新类,同时扩展 Jan Berkel 的 Android 插件,我想使用它来提供将整个 scala 库推送到有根手机的功能。
到目前为止,我有使用本地版本 Scala 的代码,您已经下载到您的计算机上,但是,如果没有 Scala 版本,我希望能够下载它。
以下是相关部分代码:
def makePermission(version: String) {
val home = JSystem.getProperty("user.home")
val scalaFolder = new JFile(home + "/.sbt/boot/scala-" + version)
if (!scalaFolder.exists) {
// TODO: Try to download the Scala version in "version"
}
val permission = new JFile(scalaFolder, "scala-library.xml")
if (scalaFolder.exists && !permission.exists) {
val writer = new PrintWriter(permission)
writer.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>")
writer.println("")
writer.println("<permissions>")
writer.println(" <library")
writer.println(" name=\"scala-library-" + version + "\"")
writer.println(" file=\"/system/framework/scala-library-" + version + "\"")
writer.println(" />")
writer.println("</permissions>")
writer.close
}
}
例如,像这样调用我的函数:makePermission("2.9.1") 将看到我有 Scala 2.9.1 并在 scala-2.9.1 文件夹中创建 scala-library.xml。
这样做:makePermission("2.8.1") 会看到我没有 Scala 2.8.1,下载它并在scala-2.8.1 文件夹中创建 scala-library.xml。
但是,这样做:makePermission("3.0.0") 将看到我没有 Scala 3.0.0,尝试下载它但发现它不存在并跳过其余部分。
我对如何处理TODO 部分感到困惑,因此我们不胜感激。 :D
【问题讨论】:
标签: scala dependencies version sbt sbt-android-plugin