얀 버켈 (Jan Berkel)의 안드로이드 플러그인을 확장하면서 새로운 클래스를 작성하려고합니다.이 플랫폼을 사용하여 전체 스칼라 라이브러리를 루팅 된 휴대 전화로 푸시하는 기능을 제공하고 싶습니다.SBT를 사용하여 사용자가 제공 한 스칼라 버전을 다운로드하는 방법은 무엇입니까?
지금까지 컴퓨터에 이미 다운로드 한 스칼라의 로컬 버전을 사용하는 코드가 있지만 거기에 없으면 스칼라 버전을 다운로드 할 수 있기를 바랍니다. 예를 들어
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있는 것으로 확인하고 scala-2.9.1
폴더에 스칼라 - Library.xml에 만들 것 여기
makePermission("2.8.1")
것은 내가 스칼라 2.8.1이 다운로드 및
scala-2.8.1
폴더에 스칼라 - Library.xml에하지 않는 것을 볼 수 있습니다 : 이렇게
. 이 일을하지만
:
makePermission("3.0.0")
것은 내가 스칼라 3.0.0이없는 것을 볼 수, 다운로드하지만 NAD 나머지를 건너 존재하지 않는 참조하려고합니다.
나는 어떻게 도와 드릴까요? TODO
부분을 어떻게 처리하는지 궁금합니다. : D