[glib] codegen: List basenames of input files in generated preamble



commit 1217b1bc4f242c14d6eabbee0c688c320eab2e4d
Author: Philip Withnall <withnall endlessm com>
Date:   Mon Apr 23 15:54:08 2018 +0100

    codegen: List basenames of input files in generated preamble
    
    This makes it a bit easier for debugging which files were generated from
    which introspection XML.
    
    Signed-off-by: Philip Withnall <withnall endlessm com>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=650875

 gio/gdbus-2.0/codegen/codegen.py      | 15 ++++++++++-----
 gio/gdbus-2.0/codegen/codegen_main.py |  4 ++++
 2 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/gio/gdbus-2.0/codegen/codegen.py b/gio/gdbus-2.0/codegen/codegen.py
index d98f8973b..032a29ed5 100644
--- a/gio/gdbus-2.0/codegen/codegen.py
+++ b/gio/gdbus-2.0/codegen/codegen.py
@@ -29,7 +29,7 @@ from . import dbustypes
 from .utils import print_error
 
 LICENSE_STR = '''/*
- * Generated by gdbus-codegen {!s}. DO NOT EDIT.
+ * Generated by gdbus-codegen {!s} from {!s}. DO NOT EDIT.
  *
  * The license of this code is the same as for the D-Bus interface description
  * it was derived from.
@@ -53,19 +53,22 @@ def generate_namespace(namespace):
 
 class HeaderCodeGenerator:
     def __init__(self, ifaces, namespace, generate_objmanager,
-                 generate_autocleanup, header_name, use_pragma, outfile):
+                 generate_autocleanup, header_name, input_files_basenames,
+                 use_pragma, outfile):
         self.ifaces = ifaces
         self.namespace, self.ns_upper, self.ns_lower = generate_namespace(namespace)
         self.generate_objmanager = generate_objmanager
         self.generate_autocleanup = generate_autocleanup
         self.header_guard = header_name.upper().replace('.', '_').replace('-', '_').replace('/', 
'_').replace(':', '_')
+        self.input_files_basenames = input_files_basenames
         self.use_pragma = use_pragma
         self.outfile = outfile
 
     # ----------------------------------------------------------------------------------------------------
 
     def generate_header_preamble(self):
-        self.outfile.write(LICENSE_STR.format(config.VERSION))
+        basenames = ', '.join(self.input_files_basenames)
+        self.outfile.write(LICENSE_STR.format(config.VERSION, basenames))
         self.outfile.write('\n')
 
         if self.use_pragma:
@@ -612,18 +615,20 @@ class HeaderCodeGenerator:
 
 class CodeGenerator:
     def __init__(self, ifaces, namespace, generate_objmanager, header_name,
-                 docbook_gen, outfile):
+                 input_files_basenames, docbook_gen, outfile):
         self.ifaces = ifaces
         self.namespace, self.ns_upper, self.ns_lower = generate_namespace(namespace)
         self.generate_objmanager = generate_objmanager
         self.header_name = header_name
+        self.input_files_basenames = input_files_basenames
         self.docbook_gen = docbook_gen
         self.outfile = outfile
 
     # ----------------------------------------------------------------------------------------------------
 
     def generate_body_preamble(self):
-        self.outfile.write(LICENSE_STR.format(config.VERSION))
+        basenames = ', '.join(self.input_files_basenames)
+        self.outfile.write(LICENSE_STR.format(config.VERSION, basenames))
         self.outfile.write('\n')
         self.outfile.write('#ifdef HAVE_CONFIG_H\n'
                            '#  include "config.h"\n'
diff --git a/gio/gdbus-2.0/codegen/codegen_main.py b/gio/gdbus-2.0/codegen/codegen_main.py
index 9d9099f72..84ee63dbe 100755
--- a/gio/gdbus-2.0/codegen/codegen_main.py
+++ b/gio/gdbus-2.0/codegen/codegen_main.py
@@ -212,11 +212,13 @@ def codegen_main():
         header_name = os.path.splitext(c_file)[0] + '.h'
 
     all_ifaces = []
+    input_files_basenames = []
     for fname in args.files + args.xml_files:
         with open(fname, 'rb') as f:
             xml_data = f.read()
         parsed_ifaces = parser.parse_dbus_xml(xml_data)
         all_ifaces.extend(parsed_ifaces)
+        input_files_basenames.append(os.path.basename(fname))
 
     if args.annotate != None:
         apply_annotations(all_ifaces, args.annotate)
@@ -236,6 +238,7 @@ def codegen_main():
                                               args.c_generate_object_manager,
                                               args.c_generate_autocleanup,
                                               header_name,
+                                              input_files_basenames,
                                               args.pragma_once,
                                               outfile)
             gen.generate()
@@ -246,6 +249,7 @@ def codegen_main():
                                         args.c_namespace,
                                         args.c_generate_object_manager,
                                         header_name,
+                                        input_files_basenames,
                                         docbook_gen,
                                         outfile)
             gen.generate()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]