loleaflet/Makefile.am | 134 +++++++++++- loleaflet/build/build.js | 43 --- loleaflet/build/deps.js | 519 ----------------------------------------------- 3 files changed, 131 insertions(+), 565 deletions(-)
New commits: commit 133dee2980538ded58dfe82b16b14ba80fe35a85 Author: Henry Castro <hcas...@collabora.com> AuthorDate: Fri Feb 21 13:09:26 2020 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Fri Feb 28 13:46:18 2020 +0100 loleaflet: makefile: avoid to execute javascript to get a list file We are in state to bundle Javacript files for different platforms: Android, IOS, desktop. And each platform could add specific chunk Javascript code according its specific requirements. Change-Id: Ib52ae816cb9443c8605fdf70aaa4c5e4c81b962d Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89557 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Tested-by: Henry Castro <hcas...@collabora.com> Reviewed-by: Henry Castro <hcas...@collabora.com> diff --git a/loleaflet/Makefile.am b/loleaflet/Makefile.am index 182e39768..618bbd093 100644 --- a/loleaflet/Makefile.am +++ b/loleaflet/Makefile.am @@ -147,7 +147,135 @@ NODE_MODULES_JS_DST = $(patsubst %.js,$(builddir)/dist/%.js,$(NODE_MODULES_JS)) LOLEAFLET_LIBS_JS_SRC = $(patsubst %.js,$(srcdir)/js/%.js,$(LOLEAFLET_LIBS_JS)) LOLEAFLET_LIBS_JS_DST = $(patsubst %.js,$(builddir)/dist/%.js,$(LOLEAFLET_LIBS_JS)) -LOLEAFLET_JS = $(strip $(shell NODE_PATH=$(abs_builddir)/node_modules $(NODE) -e "try {console.log(require('$(1)').getFiles().join(' '))} catch(e) {}")) +GET_FILES_JS = $(strip $(shell NODE_PATH=$(abs_builddir)/node_modules $(NODE) -e "try {console.log(require('$(1)').getFiles().join(' '))} catch(e) {}")) + +LOLEAFLET_JS =\ + src/Leaflet.js \ + src/errormessages.js \ + src/unocommands.js \ + src/viamapi-client.js \ + src/core/Log.js \ + src/core/Util.js \ + src/core/LOUtil.js \ + src/core/Class.js \ + src/core/Events.js \ + src/core/Socket.js \ + src/core/Matrix.js \ + src/geometry/Point.js \ + src/geometry/Bounds.js \ + src/geometry/Transformation.js \ + src/dom/DomUtil.js src/geo/LatLng.js \ + src/geo/LatLngBounds.js \ + src/geo/projection/Projection.LonLat.js \ + src/geo/crs/CRS.js \ + src/geo/crs/CRS.Simple.js \ + src/map/Map.js \ + src/map/Clipboard.js \ + src/layer/Layer.js \ + src/layer/tile/GridLayer.js \ + src/layer/tile/TileLayer.js \ + src/layer/tile/TileLayer.TableOverlay.js \ + src/layer/ObjectFocusDarkOverlay.js \ + src/layer/tile/WriterTileLayer.js \ + src/layer/tile/ImpressTileLayer.js \ + src/layer/tile/CalcTileLayer.js \ + src/layer/BackgroundColor.js \ + src/layer/ImageOverlay.js \ + src/layer/marker/ProgressOverlay.js \ + src/layer/marker/TextInput.js \ + src/layer/marker/Icon.js \ + src/layer/marker/Icon.Default.js \ + src/layer/marker/Marker.js \ + src/layer/marker/Cursor.js \ + src/layer/marker/DivIcon.js \ + src/layer/Popup.js \ + src/layer/Layer.Popup.js \ + src/layer/marker/Marker.Popup.js \ + src/layer/LayerGroup.js \ + src/layer/FeatureGroup.js \ + src/layer/CalcGridLines.js \ + src/layer/vector/Renderer.js \ + src/layer/vector/Path.js \ + src/layer/vector/Path.Popup.js \ + src/geometry/LineUtil.js \ + src/layer/vector/Polyline.js \ + src/geometry/PolyUtil.js \ + src/layer/vector/Polygon.js \ + src/layer/vector/Rectangle.js \ + src/layer/vector/CircleMarker.js \ + src/layer/vector/Circle.js \ + src/layer/vector/SVG.js \ + src/layer/vector/Path.Transform.SVG.js \ + src/core/Handler.js \ + src/layer/vector/SVGGroup.js \ + src/layer/vector/Path.Drag.Transform.js \ + src/layer/vector/Path.Drag.js \ + src/layer/vector/Path.Transform.Util.js \ + src/layer/vector/Path.Transform.js \ + src/layer/vector/SVG.VML.js \ + src/layer/vector/Path.Transform.SVG.VML.js \ + src/layer/vector/Canvas.js \ + src/layer/vector/Path.Transform.Canvas.js \ + src/dom/DomEvent.js \ + src/dom/Draggable.js \ + src/map/handler/Map.Drag.js \ + src/map/handler/Map.Scroll.js \ + src/map/handler/Map.DoubleClickZoom.js \ + src/dom/DomEvent.Pointer.js \ + src/map/handler/Map.TouchGesture.js \ + src/map/handler/Map.BoxZoom.js \ + src/map/handler/Map.Keyboard.js \ + src/dom/DomEvent.MultiClick.js \ + src/map/handler/Map.Mouse.js \ + src/map/handler/Map.Print.js \ + src/map/handler/Map.SlideShow.js \ + src/map/handler/Map.FileInserter.js \ + src/map/handler/Map.StateChanges.js \ + src/map/handler/Map.WOPI.js \ + src/layer/marker/Marker.Drag.js \ + src/control/Control.Toolbar.js \ + src/control/Control.js \ + src/control/Control.PartsPreview.js \ + src/control/Control.Header.js \ + src/control/Control.ColumnHeader.js \ + src/control/Control.ContextToolbar.js \ + src/control/Control.RowHeader.js \ + src/control/Control.DocumentRepair.js \ + src/control/Control.DownloadProgress.js \ + src/control/Control.ContextMenu.js \ + src/control/Control.Menubar.js \ + src/control/Control.Tabs.js \ + src/control/Control.Permission.js \ + src/control/Control.Selection.js \ + src/control/Control.Scroll.js \ + src/control/Control.LokDialog.js \ + src/control/Control.AlertDialog.js \ + src/control/Control.Infobar.js src/control/ColorPicker.js \ + src/control/Control.JSDialogBuilder.js \ + src/control/Control.MobileWizard.js \ + src/control/Control.LanguageDialog.js \ + src/control/Control.Attribution.js \ + src/control/Control.MobileSlide.js \ + src/control/Control.Scale.js \ + src/control/Control.Layers.js \ + src/control/Search.js \ + src/control/Permission.js \ + src/control/Toolbar.js \ + src/control/Signing.js \ + src/control/Parts.js \ + src/control/Scroll.js \ + src/control/Styles.js \ + src/control/Ruler.js \ + src/dom/PosAnimation.js \ + src/map/anim/Map.PanAnimation.js \ + src/dom/PosAnimation.Timer.js \ + src/map/anim/Map.ZoomAnimation.js \ + src/map/anim/Map.FlyTo.js \ + src/layer/AnnotationManager.js \ + src/control/Control.Scroll.Annotation.js \ + src/layer/marker/Annotation.js \ + src/layer/marker/DivOverlay.js \ + src/main.js LOLEAFLET_JS_SRC = $(shell find $(srcdir)/src -name '*.js') LOLEAFLET_JS_DST = $(patsubst $(srcdir)/src/%.js,$(builddir)/dist/src/%.js,$(LOLEAFLET_JS_SRC)) @@ -207,7 +335,7 @@ $(builddir)/dist/admin-bundle.js: $(LOLEAFLET_ADMIN_DST) \ $(LOLEAFLET_PREFIX)/dist/admin-src.js: $(LOLEAFLET_ADMIN_ALL) @echo "Checking for admin JS errors..." @NODE_PATH=$(abs_builddir)/node_modules $(NODE) node_modules/eslint/bin/eslint.js $(srcdir)/admin/src --ignore-path $(srcdir)/.eslintignore --config $(srcdir)/.eslintrc - @awk 'FNR == 1 {print ""} 1' $(patsubst %.js,$(srcdir)/%.js,$(call LOLEAFLET_JS,$(srcdir)/admin/build/build.js)) > $@ + @awk 'FNR == 1 {print ""} 1' $(patsubst %.js,$(srcdir)/%.js,$(call GET_FILES_JS,$(srcdir)/admin/build/build.js)) > $@ if ENABLE_DEBUG $(LOLEAFLET_PREFIX)/dist/loleaflet-src.js: $(LOLEAFLET_JS_DST) @@ -232,7 +360,7 @@ $(LOLEAFLET_PREFIX)/dist/loleaflet-src.js: $(LOLEAFLET_JS_SRC) @(cat $(srcdir)/src/copyright.js | sed 's/{VERSION}/$(LOLEAFLET_VERSION)/' - \ && echo "(function (window, document, undefined) {" \ && awk 'FNR == 1 {print ""} 1' \ - $(patsubst %.js,$(srcdir)/%.js,$(call LOLEAFLET_JS,$(srcdir)/build/build.js)) \ + $(patsubst %.js,$(srcdir)/%.js,$(LOLEAFLET_JS)) \ && echo "}(window, document));") > $@ $(builddir)/dist/bundle.css: $(LOLEAFLET_CSS) diff --git a/loleaflet/build/build.js b/loleaflet/build/build.js deleted file mode 100644 index 549eb6930..000000000 --- a/loleaflet/build/build.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- js-indent-level: 8 -*- */ -var deps = require('./deps.js').deps; - -function getFiles(compsBase32) { - var memo = {}, - comps; - - if (compsBase32) { - comps = parseInt(compsBase32, 32).toString(2).split(''); - console.log('Managing dependencies...'); - } - - function addFiles(srcs) { - for (var j = 0, len = srcs.length; j < len; j++) { - memo[srcs[j]] = true; - } - } - - for (var i in deps) { - if (comps) { - if (parseInt(comps.pop(), 2) === 1) { - console.log(' * ' + i); - addFiles(deps[i].src); - } else { - console.log(' ' + i); - } - } else { - addFiles(deps[i].src); - } - } - - console.log(''); - - var files = []; - - for (var src in memo) { - files.push('src/' + src); - } - - return files; -} - -exports.getFiles = getFiles; diff --git a/loleaflet/build/deps.js b/loleaflet/build/deps.js deleted file mode 100644 index c80d9a17d..000000000 --- a/loleaflet/build/deps.js +++ /dev/null @@ -1,519 +0,0 @@ -/* -*- js-indent-level: 8 -*- */ -var deps = { - Core: { - src: ['Leaflet.js', - 'errormessages.js', - 'unocommands.js', - 'viamapi-client.js', - 'core/Log.js', - 'core/Util.js', - 'core/LOUtil.js', - 'core/Class.js', - 'core/Events.js', - 'core/Socket.js', - 'core/Matrix.js', - 'geometry/Point.js', - 'geometry/Bounds.js', - 'geometry/Transformation.js', - 'dom/DomUtil.js', - 'geo/LatLng.js', - 'geo/LatLngBounds.js', - 'geo/projection/Projection.LonLat.js', - 'geo/crs/CRS.js', - 'geo/crs/CRS.Simple.js', - 'map/Map.js', - 'map/Clipboard.js', - 'layer/Layer.js' - ], - desc: 'The core of the library, including OOP, events, DOM facilities, basic units, projections (EPSG:3857 and EPSG:4326) and the base Map class.' - }, - - GridLayer: { - src: ['layer/tile/GridLayer.js'], - desc: 'Used as base class for grid-like layers like TileLayer.', - heading: 'Layers' - }, - - TileLayer: { - src: ['layer/tile/TileLayer.js', - 'layer/tile/TileLayer.TableOverlay.js', - 'layer/ObjectFocusDarkOverlay.js' - ], - desc: 'The base class for displaying tile layers on the map.', - deps: ['GridLayer'] - }, - - WriterTileLayer: { - src: ['layer/tile/WriterTileLayer.js'], - desc: 'Writer tile layer.', - deps: ['TileLayer'] - }, - - ImpressTileLayer: { - src: ['layer/tile/ImpressTileLayer.js'], - desc: 'Impress tile layer.', - deps: ['TileLayer'] - }, - - CalcTileLayer: { - src: [ - 'layer/tile/CalcTileLayer.js', - 'layer/BackgroundColor.js', - ], - desc: 'Calc tile layer.', - deps: ['TileLayer', 'CalcGridLines'] - }, - - ImageOverlay: { - src: ['layer/ImageOverlay.js'], - desc: 'Used to display an image over a particular rectangular area of the map.' - }, - - ProgressOverlay: { - src: ['layer/marker/ProgressOverlay.js'], - desc: 'Used to display a progress image over rectangular are of the map.' - }, - - TextInput: { - src: ['layer/marker/TextInput.js'], - desc: 'Hidden input field.' - }, - - Marker: { - src: ['layer/marker/Icon.js', - 'layer/marker/Icon.Default.js', - 'layer/marker/Marker.js', - 'layer/marker/Cursor.js'], - desc: 'Markers to put on the map.' - }, - - DivIcon: { - src: ['layer/marker/DivIcon.js'], - deps: ['Marker'], - desc: 'Lightweight div-based icon for markers.' - }, - - Popup: { - src: [ - 'layer/Popup.js', - 'layer/Layer.Popup.js', - 'layer/marker/Marker.Popup.js' - ], - deps: ['Marker'], - desc: 'Used to display the map popup (used mostly for binding HTML data to markers and paths on click).' - }, - - LayerGroup: { - src: ['layer/LayerGroup.js'], - desc: 'Allows grouping several layers to handle them as one.' - }, - - FeatureGroup: { - src: ['layer/FeatureGroup.js'], - deps: ['LayerGroup', 'Popup'], - desc: 'Extends LayerGroup with mouse events and bindPopup method shared between layers.' - }, - - CalcGridLines: { - src: ['layer/CalcGridLines.js'], - desc: 'Calc background grid lines', - deps: ['ControlHeader', 'LayerGroup'] - }, - - Path: { - src: [ - 'layer/vector/Renderer.js', - 'layer/vector/Path.js', - 'layer/vector/Path.Popup.js' - ], - desc: 'Vector rendering core.', - heading: 'Vector layers' - }, - - Polyline: { - src: ['geometry/LineUtil.js', - 'layer/vector/Polyline.js'], - deps: ['Path'], - desc: 'Polyline overlays.' - }, - - Polygon: { - src: ['geometry/PolyUtil.js', - 'layer/vector/Polygon.js'], - deps: ['Polyline'], - desc: 'Polygon overlays.' - }, - - Rectangle: { - src: ['layer/vector/Rectangle.js'], - deps: ['Polygon'], - desc: ['Rectangle overlays.'] - }, - - CircleMarker: { - src: ['layer/vector/CircleMarker.js'], - deps: ['Path'], - desc: 'Circle overlays with a constant pixel radius.' - }, - - Circle: { - src: ['layer/vector/Circle.js'], - deps: ['CircleMarker'], - desc: 'Circle overlays (with radius in meters).' - }, - - SVG: { - src: [ - 'layer/vector/SVG.js', - 'layer/vector/Path.Transform.SVG.js' - ], - deps: ['Path'], - desc: 'SVG backend for vector layers.' - }, - - SVGGroup: { - src: [ - 'core/Handler.js', - 'layer/vector/SVGGroup.js' - ], - deps: ['Path'], - desc: 'SVG group element.' - }, - - PathTransform: { - src: [ - 'layer/vector/Path.Drag.Transform.js', - 'layer/vector/Path.Drag.js', - 'layer/vector/Path.Transform.Util.js', - 'layer/vector/Path.Transform.js' - ], - deps: ['Path'], - desc: 'Path Transform extension.' - }, - - VML: { - src: [ - 'layer/vector/SVG.VML.js', - 'layer/vector/Path.Transform.SVG.VML.js' - ], - deps: ['SVG'], - desc: 'VML fallback for vector layers in IE7-8.' - }, - - Canvas: { - src: [ - 'layer/vector/Canvas.js', - 'layer/vector/Path.Transform.Canvas.js' - ], - deps: ['Path'], - desc: 'Canvas backend for vector layers.' - }, - - MapDrag: { - src: ['dom/DomEvent.js', - 'dom/Draggable.js', - 'core/Handler.js', - 'map/handler/Map.Drag.js'], - desc: 'Makes the map draggable (by mouse or touch).', - heading: 'Interaction' - }, - - MapScroll: { - src: ['dom/DomEvent.js', - 'core/Handler.js', - 'map/handler/Map.Scroll.js'], - desc: 'Handles the mouse wheel scroll', - }, - - MouseZoom: { - src: ['dom/DomEvent.js', - 'core/Handler.js', - 'map/handler/Map.DoubleClickZoom.js'], - desc: 'Scroll wheel zoom and double click zoom on the map.' - }, - - TouchZoom: { - src: ['dom/DomEvent.js', - 'dom/DomEvent.Pointer.js', - 'core/Handler.js', - 'map/handler/Map.TouchGesture.js'], - deps: ['AnimationZoom'], - desc: 'Enables smooth touch zoom / tap / longhold / doubletap on iOS, IE10, Android.' - }, - - BoxZoom: { - src: ['map/handler/Map.BoxZoom.js'], - desc: 'Enables zooming to bounding box by shift-dragging the map.' - }, - - Keyboard: { - src: ['map/handler/Map.Keyboard.js'], - desc: 'Handles keyboard interaction with the document.' - }, - - Mouse: { - src: ['dom/DomEvent.MultiClick.js', - 'map/handler/Map.Mouse.js'], - desc: 'Handles mouse interaction with the document.' - }, - - Print: { - src: ['map/handler/Map.Print.js'], - desc: 'Handles the print action (ctrl + P).' - }, - - SlideShow: { - src: ['map/handler/Map.SlideShow.js'], - desc: 'Creates a presentation slide show.' - }, - - FileInserter: { - src: ['map/handler/Map.FileInserter.js'], - desc: 'Handles inserting a file (image) in the document.' - }, - - StateChanges: { - src: ['map/handler/Map.StateChanges.js'], - desc: 'Handles state changes for the opened document' - }, - - WOPI: { - src: ['map/handler/Map.WOPI.js'], - desc: 'Handles WOPI related logic.' - }, - - MarkerDrag: { - src: ['layer/marker/Marker.Drag.js'], - deps: ['Marker'], - desc: 'Makes markers draggable (by mouse or touch).' - }, - - ControlToolbar: { - src: ['control/Control.Toolbar.js'], - heading: 'Controls', - desc: 'LibreOffice Online toolbar' - }, - - ControlPartsPreview: { - src: ['control/Control.js', - 'control/Control.PartsPreview.js'], - heading: 'Controls', - desc: 'Parts preview sidebar' - }, - - ControlHeader: { - src: ['control/Control.js', - 'control/Control.Header.js'], - heading: 'Controls', - desc: 'Header Item' - }, - - ControlColumnHeader: { - src: ['control/Control.js', - 'control/Control.ColumnHeader.js'], - heading: 'Controls', - desc: 'Column Header bar' - }, - - ControlContextToolbar: { - src: ['control/Control.js', - 'control/Control.ContextToolbar.js'], - heading: 'Controls', - desc: 'Context Toolbar' - }, - - ControlRowHeader: { - src: ['control/Control.js', - 'control/Control.RowHeader.js'], - heading: 'Controls', - desc: 'Row Header bar' - }, - - ControlDocumentRepair: { - src: ['control/Control.js', - 'control/Control.DocumentRepair.js'], - heading: 'Controls', - desc: 'Document Repair' - }, - - ControlDownloadProgress: { - src: ['control/Control.js', - 'control/Control.DownloadProgress.js'], - heading: 'Controls', - desc: 'Download Progress' - }, - - ControlContextmenu: { - src: ['control/Control.js', - 'control/Control.ContextMenu.js'], - heading: 'Controls', - desc: 'Context Menu' - }, - - ControlMenubar: { - src: ['control/Control.js', - 'control/Control.Menubar.js'], - heading: 'Controls', - desc: 'Menu bar' - }, - - ControlTabs: { - src: ['control/Control.js', - 'dom/DomEvent.js', - 'control/Control.Tabs.js'], - heading: 'Controls', - desc: 'Tabs for switching sheets' - }, - - ControlPermissionSwitch: { - src: ['control/Control.js', - 'control/Control.Permission.js'], - heading: 'Controls', - desc: 'Switches edit, view and readOnly modes' - }, - - ControlSelection: { - src: ['control/Control.js', - 'control/Control.Selection.js'], - heading: 'Controls', - desc: 'Enables selection in view mode' - }, - - ControlScroll: { - src: ['control/Control.js', - 'control/Control.Scroll.js'], - heading: 'Controls', - desc: 'Creates and handles the scrollbar' - }, - - ControlDialog: { - src: ['control/Control.js', - 'control/Control.LokDialog.js', - 'control/Control.AlertDialog.js', - 'control/Control.Infobar.js', - 'control/ColorPicker.js', - 'control/Control.JSDialogBuilder.js', - 'control/Control.MobileWizard.js', - 'control/Control.LanguageDialog.js'], - heading: 'Controls', - desc: 'Handles vex dialogs for displaying alerts' - }, - - ControlAttrib: { - src: ['control/Control.js', - 'control/Control.Attribution.js'], - desc: 'Attribution control.' - }, - - ControlMobileSlide: { - src: ['control/Control.js', - 'control/Control.MobileSlide.js'], - desc: 'Mobile control to add new slide.' - }, - - ControlScale: { - src: ['control/Control.js', - 'control/Control.Scale.js'], - desc: 'Scale control.' - }, - - ControlLayers: { - src: ['control/Control.js', - 'control/Control.Layers.js'], - desc: 'Layer Switcher control.' - }, - - Search: { - src: ['control/Search.js'], - desc: 'Search command handler.' - }, - - Permission: { - src: ['control/Permission.js'], - desc: 'Permission change handler (edit, view, readonly).' - }, - - Toolbar: { - src: ['control/Toolbar.js'], - desc: 'Toolbar handler.' - }, - - Signing: { - src: ['control/Signing.js'], - desc: 'Document signing.' - }, - - Parts: { - src: ['control/Parts.js'], - desc: 'Parts change handler.' - }, - - Scroll: { - src: ['control/Scroll.js'], - desc: 'Scroll handler.' - }, - - Styles: { - src: ['control/Styles.js'], - desc: 'Contains LibreOffice programmatic to UI name style mappings' - }, - - Ruler: { - src: ['control/Ruler.js'], - desc: 'Ruler to be displayed on the map.' - }, - - AnimationPan: { - src: [ - 'dom/DomEvent.js', - 'dom/PosAnimation.js', - 'map/anim/Map.PanAnimation.js' - ], - heading: 'Animation', - desc: 'Core panning animation support.' - }, - - AnimationTimer: { - src: ['dom/PosAnimation.Timer.js'], - deps: ['AnimationPan'], - desc: 'Timer-based pan animation fallback for browsers that don\'t support CSS3 transitions.' - }, - - AnimationZoom: { - src: [ - 'map/anim/Map.ZoomAnimation.js', - 'map/anim/Map.FlyTo.js' - ], - deps: ['AnimationPan'], - desc: 'Smooth zooming animation. Works only on browsers that support CSS3 Transitions.' - }, - - AnnotationManager: { - src: ['layer/AnnotationManager.js'], - desc: 'Group Annotations to put on the map.' - }, - - AnnotationScroll: { - src: ['control/Control.js', - 'control/Control.Scroll.Annotation.js'], - desc: 'Basic scroll control' - }, - - Annotation: { - src: ['layer/marker/Annotation.js'], - desc: 'Annotation to put on the map.' - }, - - DivOverlay: { - src: ['layer/marker/DivOverlay.js'], - desc: 'Div overlay to put on the map.' - }, - - Main: { - src: ['main.js'] - } -}; - -if (typeof exports !== 'undefined') { - exports.deps = deps; -} _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits