[Libreoffice-commits] online.git: loleaflet/bundle.js.m4 loleaflet/Makefile.am
Henry Castro (via logerrit)
logerrit at kemper.freedesktop.org
Tue Mar 3 17:21:31 UTC 2020
loleaflet/Makefile.am | 10 ++++++----
loleaflet/bundle.js.m4 | 22 ++++++++++++++++++++++
2 files changed, 28 insertions(+), 4 deletions(-)
New commits:
commit 175cbdb3f436981acac46bb6748545890712cb44
Author: Henry Castro <hcastro at collabora.com>
AuthorDate: Fri Feb 21 15:59:23 2020 -0400
Commit: Henry Castro <hcastro at collabora.com>
CommitDate: Tue Mar 3 18:21:10 2020 +0100
loleaflet: makefile: use m4 to bundle all js files
It is a flexible bundling of all javascript libraries and
each platform (ANDROID, IOS, Desktop) can remove or add
from node_modules or imported according to its requirements.
Maybe in a near future some external libraries could be loaded
on demand or lazy loading that are not necessary when the page
is loading.
Change-Id: Ief5d4973ab29a4fb3c4848c3e1653a24fff0da69
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89860
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Tested-by: Henry Castro <hcastro at collabora.com>
Reviewed-by: Henry Castro <hcastro at collabora.com>
diff --git a/loleaflet/Makefile.am b/loleaflet/Makefile.am
index 2710f180e..968cfabbc 100644
--- a/loleaflet/Makefile.am
+++ b/loleaflet/Makefile.am
@@ -378,11 +378,13 @@ $(builddir)/dist/bundle.js: $(NODE_MODULES_JS_SRC) \
$(LOLEAFLET_PREFIX)/dist/loleaflet-src.js \
$(LOLEAFLET_LIBS_JS_SRC)
@echo "Uglify loleaflet js files..."
+ @m4 -PE -DL10N_IOS_ALL_JS=$(L10N_IOS_ALL_JS) \
+ -DNODE_MODULES_JS=$(subst $(SPACE),$(COMMA),$(NODE_MODULES_JS)) \
+ -DLOLEAFLET_LIBS_JS=$(subst $(SPACE),$(COMMA),$(LOLEAFLET_LIBS_JS_SRC)) \
+ -DLOLEAFLET_JS=$(builddir)/build/dist/loleaflet-src.js \
+ $(srcdir)/bundle.js.m4 > $(LOLEAFLET_PREFIX)/dist/bundle.js
NODE_PATH=$(abs_builddir)/node_modules $(NODE) node_modules/uglify-js/bin/uglifyjs \
- $(L10N_IOS_ALL_JS) \
- $(NODE_MODULES_JS) \
- $(LOLEAFLET_LIBS_JS_SRC) \
- $(builddir)/build/dist/loleaflet-src.js \
+ $(LOLEAFLET_PREFIX)/dist/bundle.js \
--output $@
endif
diff --git a/loleaflet/bundle.js.m4 b/loleaflet/bundle.js.m4
new file mode 100644
index 000000000..b43b74589
--- /dev/null
+++ b/loleaflet/bundle.js.m4
@@ -0,0 +1,22 @@
+m4_changequote([,])m4_dnl
+m4_dnl# foreachq(x, `item_1, item_2, ..., item_n', stmt)
+m4_dnl# quoted list, alternate improved version
+m4_define([m4_foreachq],[m4_ifelse([$2],[],[],[m4_pushdef([$1])_$0([$1],[$3],[],$2)m4_popdef([$1])])])m4_dnl
+m4_define([_m4_foreachq],[m4_ifelse([$#],[3],[],[m4_define([$1],[$4])$2[]$0([$1],[$2],m4_shift(m4_shift(m4_shift($@))))])])m4_dnl
+m4_define([m4_trim],[m4_patsubst([$1],[^. ?\(.*\) .$])])m4_dnl
+m4_dnl
+m4_dnl files for IOS
+m4_ifelse(m4_trim(L10N_IOS_ALL_JS),[],[],[m4_syscmd([cat ]L10N_IOS_ALL_JS)])
+
+m4_dnl node_modules
+m4_foreachq([fileNode],[NODE_MODULES_JS],[
+m4_syscmd([cat ]fileNode)
+])
+
+m4_dnl imported libraries
+m4_foreachq([fileLib],[LOLEAFLET_LIBS_JS],[
+m4_syscmd([cat ]fileLib)
+])
+
+m4_dnl bundled loleaflet
+m4_syscmd([cat ]LOLEAFLET_JS)
More information about the Libreoffice-commits
mailing list