From 334c43e35462f20d75f25a05e5b66095839d81c0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 22 Oct 2014 13:48:55 -0500 Subject: guix: lint: Check for empty synopses and descriptions. * guix/scripts/lint.scm (check-description-style, check-synopsis-style): New emptiness checks. * tests/lint.scm: Test them. --- guix/scripts/lint.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'guix') diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 7b530fa5ac..5f1675f83f 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -82,6 +82,12 @@ (define (check-description-style package) ;; Emit a warning if stylistic issues are found in the description of PACKAGE. + (define (check-not-empty description) + (when (string-null? description) + (emit-warning package + "description should not be empty" + 'description))) + (define (check-starts-with-upper-case description) (unless (start-with-capital-letter? description) (emit-warning package @@ -110,6 +116,7 @@ by two spaces; possible infraction~p at ~{~a~^, ~}" (let ((description (package-description package))) (when (string? description) (begin + (check-not-empty description) (check-starts-with-upper-case description) (check-end-of-sentence-space description))))) @@ -128,6 +135,12 @@ by two spaces; possible infraction~p at ~{~a~^, ~}" (define (check-synopsis-style package) ;; Emit a warning if stylistic issues are found in the synopsis of PACKAGE. + (define (check-not-empty synopsis) + (when (string-null? synopsis) + (emit-warning package + "synopsis should not be empty" + 'synopsis))) + (define (check-final-period synopsis) ;; Synopsis should not end with a period, except for some special cases. (when (and (string-suffix? "." synopsis) @@ -164,6 +177,7 @@ by two spaces; possible infraction~p at ~{~a~^, ~}" (let ((synopsis (package-synopsis package))) (begin + (check-not-empty synopsis) (check-synopsis-start-upper-case synopsis) (check-final-period synopsis) (check-start-article synopsis) -- cgit v1.2.3