support for "all" platforms;
authorwenzelm
Wed, 27 Mar 2024 17:11:46 +0100
changeset 80039 0732ee5c8ee1
parent 80038 b1e2246147eb
child 80040 30eb547bda4a
support for "all" platforms;
src/Pure/System/platform.scala
src/Pure/Tools/dotnet_setup.scala
src/Pure/Tools/go_setup.scala
--- a/src/Pure/System/platform.scala	Wed Mar 27 17:04:37 2024 +0100
+++ b/src/Pure/System/platform.scala	Wed Mar 27 17:11:46 2024 +0100
@@ -82,8 +82,10 @@
   /* platform info */
 
   object Info {
+    val ALL = "all"
+
     def check(infos: List[Info], spec: String): String = {
-      val specs = Library.distinct(infos.map(_.family_name) ::: infos.map(_.platform))
+      val specs = Library.distinct(ALL :: infos.map(_.family_name) ::: infos.map(_.platform))
       if (specs.contains(spec)) spec
       else {
         error("Bad platform specification " + quote(spec) +
@@ -105,7 +107,8 @@
     def is_macos: Boolean = family == Family.macos
     def is_windows: Boolean = family == Family.windows
 
-    def is(spec: String): Boolean = platform == spec || family_name == spec
+    def is(spec: String): Boolean =
+      Info.ALL == spec || platform == spec || family_name == spec
   }
 
 
--- a/src/Pure/Tools/dotnet_setup.scala	Wed Mar 27 17:04:37 2024 +0100
+++ b/src/Pure/Tools/dotnet_setup.scala	Wed Mar 27 17:11:46 2024 +0100
@@ -154,7 +154,7 @@
                  default: ISABELLE_DOTNET_VERSION=""" + quote(default_version) + """)
     -f           force fresh installation of specified platforms
     -n           dry run: try download without installation
-    -p PLATFORMS comma-separated list of platform specifications,
+    -p PLATFORMS comma-separated list of platform specifications: "all" or
                  as family or formal name (default: """ + quote(default_platform) + """)
     -v           verbose
 
--- a/src/Pure/Tools/go_setup.scala	Wed Mar 27 17:04:37 2024 +0100
+++ b/src/Pure/Tools/go_setup.scala	Wed Mar 27 17:11:46 2024 +0100
@@ -148,7 +148,7 @@
     -U URL       download URL (default: """" + default_url + """")
     -V VERSION   version (default: """" + default_version + """")
     -f           force fresh installation of specified platforms
-    -p PLATFORMS comma-separated list of platform specifications,
+    -p PLATFORMS comma-separated list of platform specifications: "all" or
                  as family or formal name (default: """ + quote(default_platform) + """)
 
   Download the Go development environment and configure it as Isabelle