src/Pure/Admin/build_e.scala
changeset 72408 2daa5f549687
parent 72406 a49be9fc83c3
child 72410 f98f764239a4
equal deleted inserted replaced
72407:5b15a9f854aa 72408:2daa5f549687
    10 object Build_E
    10 object Build_E
    11 {
    11 {
    12   /* build E prover */
    12   /* build E prover */
    13 
    13 
    14   val default_version = "2.5"
    14   val default_version = "2.5"
    15 
    15   val default_download_url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD"
    16   val default_download_url =
       
    17     "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD"
       
    18 
    16 
    19   def build_e(
    17   def build_e(
    20     version: String = default_version,
    18     version: String = default_version,
    21     download_url: String = default_download_url,
    19     download_url: String = default_download_url,
    22     verbose: Boolean = false,
    20     verbose: Boolean = false,
    23     progress: Progress = new Progress,
    21     progress: Progress = new Progress,
    24     target_dir: Path = Path.current)
    22     target_dir: Path = Path.current)
    25   {
    23   {
    26     Isabelle_System.with_tmp_dir("e")(tmp_dir =>
    24     Isabelle_System.with_tmp_dir("build")(tmp_dir =>
    27     {
    25     {
    28       /* component */
    26       /* component */
    29 
    27 
    30       val component_name = "e-" + version
    28       val component_name = "e-" + version
    31       val component_dir = Isabelle_System.new_directory(target_dir + Path.basic(component_name))
    29       val component_dir = Isabelle_System.new_directory(target_dir + Path.basic(component_name))
   108 }
   106 }
   109 
   107 
   110   /* Isabelle tool wrapper */
   108   /* Isabelle tool wrapper */
   111 
   109 
   112   val isabelle_tool =
   110   val isabelle_tool =
   113     Isabelle_Tool("build_e", "build Isabelle E prover component from official download",
   111     Isabelle_Tool("build_e", "build prover component from source distribution",
   114     args =>
   112     args =>
   115     {
   113     {
   116       var target_dir = Path.current
   114       var target_dir = Path.current
   117       var version = default_version
   115       var version = default_version
   118       var download_url = default_download_url
   116       var download_url = default_download_url
   126     -U URL       E prover download URL
   124     -U URL       E prover download URL
   127                  (default: """" + default_download_url + """")
   125                  (default: """" + default_download_url + """")
   128     -V VERSION   E prover version (default: """ + default_version + """)
   126     -V VERSION   E prover version (default: """ + default_version + """)
   129     -v           verbose
   127     -v           verbose
   130 
   128 
   131   Build E prover component from the specified download URLs and version.
   129   Build prover component from the specified source distribution.
   132 """,
   130 """,
   133         "D:" -> (arg => target_dir = Path.explode(arg)),
   131         "D:" -> (arg => target_dir = Path.explode(arg)),
   134         "U:" -> (arg => download_url = arg),
   132         "U:" -> (arg => download_url = arg),
   135         "V:" -> (arg => version = arg),
   133         "V:" -> (arg => version = arg),
   136         "v" -> (_ => verbose = true))
   134         "v" -> (_ => verbose = true))