我想寫一個新的類,同時擴展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