我想写一个新的类,同时扩展Jan Berkel的Android插件,使用它我想提供将整个scala库推送到根电话的功能。如何使用SBT下载用户提供的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")
会看到,我有斯卡拉2.9.1,使阶-library.xml在scala-2.9.1
文件夹。
这样做:
makePermission("2.8.1")
会看到,我没有做斯卡拉2.8.1,下载它,并让斯卡拉-library.xml在scala-2.8.1
文件夹中。
但是,这样做:
makePermission("3.0.0")
会看到我没有Scala 3.0.0,尝试下载它,但看到它不存在和跳过其余的。
我纳闷怎么做TODO
部分,所以任何帮助表示赞赏。 :d