diff options
author | Aravinda VK <avishwan@redhat.com> | 2016-07-28 15:49:59 +0530 |
---|---|---|
committer | Aravinda VK <avishwan@redhat.com> | 2016-08-01 22:49:59 -0700 |
commit | 4429e842236015b51be37f3351d8f8df640744f5 (patch) | |
tree | d26116d2331dd35823d3527a956a5be2506cc4b5 /events | |
parent | 07b95cf8104da42d783d053d0fbb8497399f7d00 (diff) |
eventsapi: Auto generate header files during make
$SRC/libglusterfs/src/eventtypes.h and $SRC/events/src/eventtypes.py are
generated by running `python $SRC/events/eventskeygen.py`
Header files generation step is added to make file itself, Now All new
events should be added to only to $SRC/events/eventskeygen.py file.
BUG: 1361094
Change-Id: I384961ef2978ca2d0be37f288b39ac0d834bdf06
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/15035
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Diffstat (limited to 'events')
-rw-r--r-- | events/eventskeygen.py | 49 | ||||
-rw-r--r-- | events/src/Makefile.am | 9 | ||||
-rw-r--r-- | events/src/eventtypes.py | 11 |
3 files changed, 35 insertions, 34 deletions
diff --git a/events/eventskeygen.py b/events/eventskeygen.py index f9bdb9fed52..5bb03191135 100644 --- a/events/eventskeygen.py +++ b/events/eventskeygen.py @@ -11,11 +11,14 @@ # import os +import sys GLUSTER_SRC_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) eventtypes_h = os.path.join(GLUSTER_SRC_ROOT, "libglusterfs/src/eventtypes.h") eventtypes_py = os.path.join(GLUSTER_SRC_ROOT, "events/src/eventtypes.py") +gen_header_type = sys.argv[1] + # When adding new keys add it to the END keys = ( "EVENT_PEER_ATTACH", @@ -39,29 +42,31 @@ ERRORS = ( "EVENT_ERROR_SEND" ) -# Generate eventtypes.h -with open(eventtypes_h, "w") as f: - f.write("#ifndef __EVENTTYPES_H__\n") - f.write("#define __EVENTTYPES_H__\n\n") - f.write("typedef enum {\n") - for k in ERRORS: - f.write(" {0},\n".format(k)) - f.write("} event_errors_t;\n") +if gen_header_type == "C_HEADER": + # Generate eventtypes.h + with open(eventtypes_h, "w") as f: + f.write("#ifndef __EVENTTYPES_H__\n") + f.write("#define __EVENTTYPES_H__\n\n") + f.write("typedef enum {\n") + for k in ERRORS: + f.write(" {0},\n".format(k)) + f.write("} event_errors_t;\n") - f.write("\n") + f.write("\n") - f.write("typedef enum {\n") - for k in keys: - f.write(" {0},\n".format(k)) + f.write("typedef enum {\n") + for k in keys: + f.write(" {0},\n".format(k)) - f.write(" {0}\n".format(LAST_EVENT)) - f.write("} eventtypes_t;\n") - f.write("\n#endif /* __EVENTTYPES_H__ */\n") + f.write(" {0}\n".format(LAST_EVENT)) + f.write("} eventtypes_t;\n") + f.write("\n#endif /* __EVENTTYPES_H__ */\n") -# Generate eventtypes.py -with open(eventtypes_py, "w") as f: - f.write("# -*- coding: utf-8 -*-\n") - f.write("all_events = [\n") - for ev in keys: - f.write(' "{0}",\n'.format(ev)) - f.write("]\n") +if gen_header_type == "PY_HEADER": + # Generate eventtypes.py + with open(eventtypes_py, "w") as f: + f.write("# -*- coding: utf-8 -*-\n") + f.write("all_events = [\n") + for ev in keys: + f.write(' "{0}",\n'.format(ev)) + f.write("]\n") diff --git a/events/src/Makefile.am b/events/src/Makefile.am index 50317d45191..8b2150e3aa9 100644 --- a/events/src/Makefile.am +++ b/events/src/Makefile.am @@ -1,6 +1,10 @@ -EXTRA_DIST = glustereventsd.py __init__.py eventsapiconf.py.in eventtypes.py \ +noinst_PYTHON = $(top_srcdir)/events/eventskeygen.py +EXTRA_DIST = glustereventsd.py __init__.py eventsapiconf.py.in \ handlers.py utils.py peer_eventsapi.py eventsconfig.json +BUILT_SOURCES = eventtypes.py +CLEANFILES = eventtypes.py + eventsdir = $(libexecdir)/glusterfs/events eventspeerscriptdir = $(libexecdir)/glusterfs eventsconfdir = $(sysconfdir)/glusterfs @@ -10,6 +14,9 @@ events_PYTHON = __init__.py eventsapiconf.py eventtypes.py handlers.py utils.py events_SCRIPTS = glustereventsd.py eventspeerscript_SCRIPTS = peer_eventsapi.py +eventtypes.py: $(top_srcdir)/events/eventskeygen.py + $(PYTHON) $(top_srcdir)/events/eventskeygen.py PY_HEADER + install-exec-hook: $(mkdir_p) $(DESTDIR)$(sbindir) rm -f $(DESTDIR)$(sbindir)/glustereventsd diff --git a/events/src/eventtypes.py b/events/src/eventtypes.py deleted file mode 100644 index b09e5bcff9a..00000000000 --- a/events/src/eventtypes.py +++ /dev/null @@ -1,11 +0,0 @@ -# -*- coding: utf-8 -*- -all_events = [ - "EVENT_PEER_ATTACH", - "EVENT_PEER_DETACH", - "EVENT_VOLUME_CREATE", - "EVENT_VOLUME_START", - "EVENT_VOLUME_STOP", - "EVENT_VOLUME_DELETE", - "EVENT_VOLUME_SET", - "EVENT_VOLUME_RESET", -] |