diff mbox

[v2,trivial] qapi: Build-depend on all json files

Message ID 145460194285.5818.14237884467366648188.stgit@localhost (mailing list archive)
State New, archived
Headers show

Commit Message

Lluís Vilanova Feb. 4, 2016, 4:05 p.m. UTC
Dynamically detects the files used to generate QAPI code, thus ensuring
it's never out of sync with the sources.

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
---
 Makefile |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Daniel P. Berrangé Feb. 4, 2016, 4:13 p.m. UTC | #1
On Thu, Feb 04, 2016 at 05:05:45PM +0100, Lluís Vilanova wrote:
> Dynamically detects the files used to generate QAPI code, thus ensuring
> it's never out of sync with the sources.
> 
> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
> ---
>  Makefile |    6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index d0de2d4..f8e8648 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -269,10 +269,8 @@ $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
>  		$(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
>  		"  GEN   $@")
>  
> -qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
> -               $(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \
> -               $(SRC_PATH)/qapi/event.json $(SRC_PATH)/qapi/introspect.json \
> -               $(SRC_PATH)/qapi/crypto.json
> +qapi-modules = $(SRC_PATH)/qapi-schema.json
> +qapi-modules += $(wildcard $(SRC_PATH)/qapi/*.json)
>  
>  qapi-types.c qapi-types.h :\
>  $(qapi-modules) $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)

I'm not really a fan of the use of wildcards - IME they also lead to
bugs where the build picks up too many or too few files and you don't
notice the mistake until later - this is particularly true at release
time when making dist, but also where a developer has a file locally
they forget to commit and submit for merge, it can be silently missed.

So yes you are fixing one possible source of mistakes, but in exchange
you are introducing a different possible source of mistakes. I don't
think one is clearer better than the other, and IMHO so we're better
sticking with normal QEMU practice listing all files explicitly.

Regards,
Daniel
diff mbox

Patch

diff --git a/Makefile b/Makefile
index d0de2d4..f8e8648 100644
--- a/Makefile
+++ b/Makefile
@@ -269,10 +269,8 @@  $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
 		$(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
 		"  GEN   $@")
 
-qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
-               $(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \
-               $(SRC_PATH)/qapi/event.json $(SRC_PATH)/qapi/introspect.json \
-               $(SRC_PATH)/qapi/crypto.json
+qapi-modules = $(SRC_PATH)/qapi-schema.json
+qapi-modules += $(wildcard $(SRC_PATH)/qapi/*.json)
 
 qapi-types.c qapi-types.h :\
 $(qapi-modules) $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)