Add initial exports and externs
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,6 +2,7 @@
|
||||
/build/ol.js
|
||||
/build/ol-all.js
|
||||
/build/proj4js-combined.js
|
||||
/build/require-all.js
|
||||
/build/apidoc
|
||||
/demos/*/advanced-optimizations.*
|
||||
/demos/*/build.html
|
||||
|
||||
20
Makefile
20
Makefile
@@ -8,21 +8,26 @@ empty :=
|
||||
space := $(empty) $(empty)
|
||||
|
||||
.PHONY: all
|
||||
all: build demos
|
||||
all: build-all build demos
|
||||
|
||||
.PHONY: precommit
|
||||
precommit: lint test build
|
||||
precommit: lint build-all test build
|
||||
|
||||
.PHONY: build
|
||||
build: build/ol.js
|
||||
|
||||
build/ol.js: $(PLOVR_JAR) $(SRC) base.json \
|
||||
build/ol.json build/ol-all.js
|
||||
build/ol.js: $(PLOVR_JAR) $(SRC) base.json build/ol.json
|
||||
java -jar $(PLOVR_JAR) build build/ol.json >$@
|
||||
@echo $@ "uncompressed:" $$(wc -c <$@) bytes
|
||||
@echo $@ " compressed:" $$(gzip -9 -c <$@ | wc -c) bytes
|
||||
|
||||
build/ol-all.js: $(SRC)
|
||||
.PHONY: build-all
|
||||
build-all: build/ol-all.js
|
||||
|
||||
build/ol-all.js: $(PLOVR_JAR) $(SRC) base.json build/ol-all.json build/require-all.js
|
||||
java -jar $(PLOVR_JAR) build build/ol-all.json >$@ || ( rm -f $@ ; false )
|
||||
|
||||
build/require-all.js: $(SRC)
|
||||
( echo "goog.require('goog.dom');" ; find src/ol -name \*.js | xargs grep -rh ^goog.provide | sort | uniq | sed -e 's/provide/require/g' ) >$@
|
||||
|
||||
.PHONY: demos
|
||||
@@ -95,8 +100,8 @@ demos/two-layers/index.html: demos/two-layers/template.html.in
|
||||
sed -e 's|@SRC@|../loader.js?id=demo-two-layers|' $< >$@
|
||||
|
||||
.PHONY: serve
|
||||
serve: $(PLOVR_JAR) build/ol-all.js
|
||||
java -jar $(PLOVR_JAR) serve build/ol.json demos/*/*.json
|
||||
serve: $(PLOVR_JAR) build/require-all.js
|
||||
java -jar $(PLOVR_JAR) serve build/*.json demos/*/*.json
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
@@ -120,6 +125,7 @@ test:
|
||||
clean:
|
||||
rm -f build/ol.js
|
||||
rm -f build/ol-all.js
|
||||
rm -f build/require-all.js
|
||||
rm -f demos/*/*.html
|
||||
rm -f demos/*/advanced-optimizations.*
|
||||
rm -rf build/apidoc
|
||||
|
||||
11
build/ol-all.json
Normal file
11
build/ol-all.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
|
||||
"id": "ol-all",
|
||||
|
||||
"inherits": "../base.json",
|
||||
|
||||
"inputs": [
|
||||
"build/require-all.js"
|
||||
]
|
||||
|
||||
}
|
||||
@@ -2,13 +2,26 @@
|
||||
|
||||
"id": "ol",
|
||||
|
||||
"externs": [
|
||||
"externs/bingmaps.js",
|
||||
"externs/ol.js",
|
||||
"externs/proj4js.js",
|
||||
"externs/tilejson.js"
|
||||
],
|
||||
|
||||
"inherits": "../base.json",
|
||||
|
||||
"inputs": [
|
||||
"build/ol-all.js",
|
||||
"src/ol/mapoptions.js",
|
||||
"exports/ol/collection.js",
|
||||
"exports/ol/coordinate.js",
|
||||
"exports/ol/extent.js",
|
||||
"exports/ol/layer/bingmaps.js",
|
||||
"exports/ol/layer/mapquest.js",
|
||||
"exports/ol/layer/openstreetmap.js",
|
||||
"exports/ol/layer/tilejson.js",
|
||||
"exports/ol/layer/stamen.js",
|
||||
"exports/ol/map.js",
|
||||
"exports/ol/object.js",
|
||||
"exports/ol/projection.js"
|
||||
],
|
||||
|
||||
3
exports/ol/layer/bingmaps.js
Normal file
3
exports/ol/layer/bingmaps.js
Normal file
@@ -0,0 +1,3 @@
|
||||
goog.require('ol.layer.BingMaps');
|
||||
|
||||
goog.exportSymbol('ol.layer.BingMaps', ol.layer.BingMaps);
|
||||
5
exports/ol/layer/mapquest.js
Normal file
5
exports/ol/layer/mapquest.js
Normal file
@@ -0,0 +1,5 @@
|
||||
goog.require('ol.layer.MapQuestOSM');
|
||||
goog.require('ol.layer.MapQuestOpenAerial');
|
||||
|
||||
goog.exportSymbol('ol.layer.MapQuestOSM', ol.layer.MapQuestOSM);
|
||||
goog.exportSymbol('ol.layer.MapQuestOpenAerial', ol.layer.MapQuestOpenAerial);
|
||||
3
exports/ol/layer/openstreetmap.js
Normal file
3
exports/ol/layer/openstreetmap.js
Normal file
@@ -0,0 +1,3 @@
|
||||
goog.require('ol.layer.OpenStreetMap');
|
||||
|
||||
goog.exportSymbol('ol.layer.OpenStreetMap', ol.layer.OpenStreetMap);
|
||||
3
exports/ol/layer/stamen.js
Normal file
3
exports/ol/layer/stamen.js
Normal file
@@ -0,0 +1,3 @@
|
||||
goog.require('ol.layer.Stamen');
|
||||
|
||||
goog.exportSymbol('ol.layer.Stamen', ol.layer.Stamen);
|
||||
3
exports/ol/layer/tilejson.js
Normal file
3
exports/ol/layer/tilejson.js
Normal file
@@ -0,0 +1,3 @@
|
||||
goog.require('ol.layer.TileJSON');
|
||||
|
||||
goog.exportSymbol('ol.layer.TileJSON', ol.layer.TileJSON);
|
||||
37
exports/ol/map.js
Normal file
37
exports/ol/map.js
Normal file
@@ -0,0 +1,37 @@
|
||||
goog.require('ol.Map');
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends {ol.Map}
|
||||
* @param {Element} container Container.
|
||||
* @param {olx.MapOptionsExtern} mapOptionsExtern Map options literal.
|
||||
* @param {goog.dom.ViewportSizeMonitor=} opt_viewportSizeMonitor
|
||||
* Viewport size monitor.
|
||||
*/
|
||||
ol.MapExport = function(container, mapOptionsExtern, opt_viewportSizeMonitor) {
|
||||
|
||||
goog.base(this, container, {
|
||||
center: mapOptionsExtern.center,
|
||||
doubleClickZoom: mapOptionsExtern.doubleClickZoom,
|
||||
dragPan: mapOptionsExtern.dragPan,
|
||||
interactions: mapOptionsExtern.interactions,
|
||||
keyboard: mapOptionsExtern.keyboard,
|
||||
keyboardPanOffset: mapOptionsExtern.keyboardPanOffset,
|
||||
layers: mapOptionsExtern.layers,
|
||||
mouseWheelZoom: mapOptionsExtern.mouseWheelZoom,
|
||||
projection: mapOptionsExtern.projection,
|
||||
renderer: mapOptionsExtern.renderer,
|
||||
renderers: mapOptionsExtern.renderers,
|
||||
resolution: mapOptionsExtern.resolution,
|
||||
rotate: mapOptionsExtern.rotate,
|
||||
shiftDragZoom: mapOptionsExtern.shiftDragZoom,
|
||||
userProjection: mapOptionsExtern.userProjection,
|
||||
zoom: mapOptionsExtern.zoom
|
||||
}, opt_viewportSizeMonitor);
|
||||
|
||||
};
|
||||
goog.inherits(ol.MapExport, ol.Map);
|
||||
|
||||
goog.exportSymbol('ol.Map', ol.MapExport);
|
||||
112
externs/ol.js
Normal file
112
externs/ol.js
Normal file
@@ -0,0 +1,112 @@
|
||||
/**
|
||||
* @externs
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
var olx;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @interface
|
||||
*/
|
||||
olx.MapOptionsExtern = function() {};
|
||||
|
||||
|
||||
/**
|
||||
* @type {ol.Coordinate|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.center;
|
||||
|
||||
|
||||
/**
|
||||
* @type {boolean|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.doubleClickZoom;
|
||||
|
||||
|
||||
/**
|
||||
* @type {boolean|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.dragPan;
|
||||
|
||||
|
||||
/**
|
||||
* @type {ol.Collection|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.interactions;
|
||||
|
||||
|
||||
/**
|
||||
* @type {boolean|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.keyboard;
|
||||
|
||||
|
||||
/**
|
||||
* @type {number|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.keyboardPanOffset;
|
||||
|
||||
|
||||
/**
|
||||
* @type {ol.Collection|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.layers;
|
||||
|
||||
|
||||
/**
|
||||
* @type {boolean|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.mouseWheelZoom;
|
||||
|
||||
|
||||
/**
|
||||
* @type {ol.Projection|string|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.projection;
|
||||
|
||||
|
||||
/**
|
||||
* @type {ol.RendererHint|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.renderer;
|
||||
|
||||
|
||||
/**
|
||||
* @type {Array.<ol.RendererHint>|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.renderers;
|
||||
|
||||
|
||||
/**
|
||||
* @type {number|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.resolution;
|
||||
|
||||
|
||||
/**
|
||||
* @type {boolean|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.rotate;
|
||||
|
||||
|
||||
/**
|
||||
* @type {boolean|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.shiftDragZoom;
|
||||
|
||||
|
||||
/**
|
||||
* @type {ol.Projection|string|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.userProjection;
|
||||
|
||||
|
||||
/**
|
||||
* @type {number|undefined}
|
||||
*/
|
||||
olx.MapOptionsExtern.prototype.zoom;
|
||||
Reference in New Issue
Block a user