val isabelle_tool =
Isabelle_Tool("docker_build", "build Isabelle docker image",
Scala_Project.here,
{ args => var base = default_base var entrypoint = false var work_dir = default_work_dir var logic = Isabelle_System.default_logic() var no_build = false var output: Option[Path] = None var more_packages: List[String] = Nil var verbose = false var tag = ""
val getopts = Getopts("""
Usage: isabelle docker_build [OPTIONS] APP_ARCHIVE
Options are:
-B NAME base image (default """ + quote(default_base) + """)
-E set Isabelle/bin/isabelle as entrypoint
-P NAME additional Ubuntu package collection (""" +
package_collections.keySet.toList.sorted.map(quote(_)).mkString(", ") + """)
-W DIR working directory that is accessible to docker,
potentially via snap (default: """ + default_work_dir + """)
-l NAME default logic (default ISABELLE_LOGIC=""" +
quote(Isabelle_System.default_logic()) + """)
-n no docker build
-o FILE output generated Dockerfile
-p NAME additional Ubuntu package
-t TAG docker build tag
-v verbose
Build Isabelle docker image with default logic image, using a standard
Isabelle application archive for Linux (local file or remote URL). """, "B:" -> (arg => base = arg), "E" -> (_ => entrypoint = true), "P:" -> (arg =>
package_collections.get(arg) match { case Some(ps) => more_packages :::= ps case None => error("Unknown package collection " + quote(arg))
}), "W:" -> (arg => work_dir = Path.explode(arg)), "l:" -> (arg => logic = arg), "n" -> (_ => no_build = true), "o:" -> (arg => output = Some(Path.explode(arg))), "p:" -> (arg => more_packages ::= arg), "t:" -> (arg => tag = arg), "v" -> (_ => verbose = true))
val more_args = getopts(args) val app_archive =
more_args match { case List(arg) => arg case _ => getopts.usage()
}
val progress = new Console_Progress(verbose = 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.