Add --core-only flag to push-all
[ghc-hetmet.git] / push-all
index 9ade0d4..014c4b0 100644 (file)
--- a/push-all
+++ b/push-all
@@ -11,6 +11,8 @@ my $ignore_failure = 0;
 
 # --checked-out says we are pushing to a checked out tree
 my $checked_out = 0;
+# --core-only says we only want to push corelibs, not extralibs
+my $core_only = 0;
 
 sub message {
     if ($verbose) {
@@ -45,7 +47,10 @@ sub pushall {
             message "== $dir not present or not a repository; skipping";
         }
     }
-    for my $pkg (`cat libraries/core-packages libraries/extra-packages`) {
+    my $library_lists = $core_only
+                      ? "libraries/core-packages"
+                      : "libraries/core-packages libraries/extra-packages";
+    for my $pkg (`cat $library_lists`) {
         chomp $pkg;
         $dir = "libraries/$pkg";
         if (-d "$dir") {
@@ -73,6 +78,9 @@ sub main {
             elsif ($arg eq "--checked-out") {
                 $checked_out = 1;
             }
+            elsif ($arg eq "--core-only") {
+                $core_only = 1;
+            }
             else {
                 $reporoot = $arg;
                 if (grep /^-q$/, @_) {