val Archive_Name = """^.*?([^/]+)$""".r val Version = """^[^0-9]*([0-9].*)\.tar.gz$""".r
val archive_name =
download_url match { case Archive_Name(name) => name case _ => error("Failed to determine source archive name from " + quote(download_url))
}
val version =
archive_name match { case Version(version) => version case _ => error("Failed to determine component version from " + quote(archive_name))
}
val component_name = "csdp-" + version val component_dir =
Components.Directory(target_dir + Path.basic(component_name)).create(progress = progress)
/* platform */
val platform_name = Isabelle_Platform.local.ISABELLE_PLATFORM(windows = true, apple = true) val platform_dir =
Isabelle_System.make_directory(component_dir.path + Path.basic(platform_name))
val isabelle_tool =
Isabelle_Tool("component_csdp", "build prover component from official download", Scala_Project.here,
{ args => var target_dir = Path.current var mingw = MinGW.none var download_url = default_download_url var verbose = false
val getopts = Getopts("""
Usage: isabelle component_csdp [OPTIONS]
Options are:
-D DIR target directory (default ".")
-M DIR msys/mingw root specification for Windows
-U URL download URL
(default: """" + default_download_url + """")
-v verbose
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.