diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2022-06-14 17:27:41 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2022-06-14 17:27:41 +0300 |
commit | 9c476d4b12ba91677716fdcadfc14a5fc9859d5d (patch) | |
tree | d7e8c8cce9e8b4fa24494307eefd5a64e4515f22 | |
parent | 3bd7d2ec3004471e360910124e8d23aefbea4e96 (diff) |
Allow empty prefer, require, and reflect buildfile clauses for dependencies
-rw-r--r-- | libbpkg/manifest.cxx | 13 | ||||
-rw-r--r-- | tests/manifest/testscript | 18 |
2 files changed, 13 insertions, 18 deletions
diff --git a/libbpkg/manifest.cxx b/libbpkg/manifest.cxx index 35c1217..9578977 100644 --- a/libbpkg/manifest.cxx +++ b/libbpkg/manifest.cxx @@ -2155,7 +2155,9 @@ namespace bpkg // curly braces (expected to be on the separate lines) and return // the enclosed fragment. // - auto parse_block = [&t, &tt, &expect_token, &bad_token, this] () + // Note that an empty buildfile fragment is allowed. + // + auto parse_block = [&t, &tt, &expect_token, this] () { next (t, tt); expect_token (type::newline); @@ -2168,14 +2170,7 @@ namespace bpkg next_block (t, tt); - string r (move (t.value)); - - // Fail if the buildfile fragment is empty. - // - if (r.find_first_not_of (" \t\n") == string::npos) - bad_token ("buildfile fragment"); - - return r; + return move (t.value); }; const string& v (t.value); diff --git a/tests/manifest/testscript b/tests/manifest/testscript index 50e7e51..ded4c57 100644 --- a/tests/manifest/testscript +++ b/tests/manifest/testscript @@ -1093,9 +1093,10 @@ \ EOF - : no-accept-clause + + : empty : - $* <<EOI 2>>EOE != 0 + $* <<EOF >>EOF : 1 name: foo version: 2.0.0 @@ -1106,15 +1107,14 @@ { prefer { - config.bar.frame=4016 } + + accept (true) } \ - EOI - stdin:13:1: error: accept clause expected instead of '}' - EOE + EOF - : empty + : no-accept-clause : $* <<EOI 2>>EOE != 0 : 1 @@ -1127,12 +1127,12 @@ { prefer { - + config.bar.frame=4016 } } \ EOI - stdin:11:1: error: buildfile fragment expected + stdin:13:1: error: accept clause expected instead of '}' EOE : enable-clause |