~ruther/guix-local

f495301902a398f1d7ec4ceb7b9fc262240d8c8d — Ludovic Courtès 10 years ago 0e51097
guix build: Add '--keep-going'.

* guix/scripts/build.scm (show-build-options-help)
(%standard-build-options): Add --keep-going.
* guix/scripts/build.scm (set-build-options-from-command-line): Honor
it.
* doc/guix.texi (Invoking guix build): Document it.
2 files changed, 17 insertions(+), 1 deletions(-)

M doc/guix.texi
M guix/scripts/build.scm
M doc/guix.texi => doc/guix.texi +8 -0
@@ 3973,6 3973,14 @@ Keep the build tree of failed builds.  Thus, if a build fail, its build
tree is kept under @file{/tmp}, in a directory whose name is shown at
the end of the build log.  This is useful when debugging build issues.

@item --keep-going
@itemx -k
Keep going when some of the derivations fail to build; return only once
all the builds have either completed or failed.

The default behavior is to stop as soon as one of the specified
derivations has failed.

@item --dry-run
@itemx -n
Do not build the derivations.

M guix/scripts/build.scm => guix/scripts/build.scm +9 -1
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.


@@ 153,6 153,8 @@ options handled by 'set-build-options-from-command-line', and listed in
  (display (_ "
  -K, --keep-failed      keep build tree of failed builds"))
  (display (_ "
  -k, --keep-going       keep going when some of the derivations fail"))
  (display (_ "
  -n, --dry-run          do not build the derivations"))
  (display (_ "
      --fallback         fall back to building when the substituter fails"))


@@ 183,6 185,7 @@ options handled by 'set-build-options-from-command-line', and listed in
  ;; TODO: Add more options.
  (set-build-options store
                     #:keep-failed? (assoc-ref opts 'keep-failed?)
                     #:keep-going? (assoc-ref opts 'keep-going?)
                     #:rounds (assoc-ref opts 'rounds)
                     #:build-cores (or (assoc-ref opts 'cores) 0)
                     #:max-build-jobs (or (assoc-ref opts 'max-jobs) 1)


@@ 214,6 217,11 @@ options handled by 'set-build-options-from-command-line', and listed in
                  (apply values
                         (alist-cons 'keep-failed? #t result)
                         rest)))
        (option '(#\k "keep-going") #f #f
                (lambda (opt name arg result . rest)
                  (apply values
                         (alist-cons 'keep-going? #t result)
                         rest)))
        (option '("rounds") #t #f
                (lambda (opt name arg result . rest)
                  (apply values