256 Commits

Author SHA1 Message Date
Tim Schaub
c265676f67 Avoid reading css and js files twice 2015-04-06 04:21:12 -06:00
Tim Schaub
cdc4283cbf Use global metadata for ol version 2015-04-06 04:10:17 -06:00
Tim Schaub
8afb5698f1 Allow script to be run from anywhere 2015-04-06 04:09:46 -06:00
tsauerwein
8e0c21eb58 Add test-suite using SlimerJS 2015-04-04 17:30:38 +02:00
tsauerwein
921fd3ed3b Support generic ext. modules with browserify 2015-04-04 09:17:11 +02:00
Andreas Hocevar
cd266f35ab Add verbatim template and throw error on invalid front-matter 2015-04-02 20:28:32 +02:00
Andreas Hocevar
78ce9de4af Better error reporting 2015-04-02 19:10:14 +02:00
Andreas Hocevar
4cce0f4936 Move documentation to the right place 2015-04-02 19:10:13 +02:00
Bart van den Eijnden
4ebceab51a Remove extra double quote when writing resources 2015-04-02 19:10:12 +02:00
Andreas Hocevar
6cc806f164 Add documentation for build-examples.js 2015-04-02 19:10:12 +02:00
Andreas Hocevar
bc617e8135 Add support for additonal js and css resources 2015-04-02 19:10:12 +02:00
Andreas Hocevar
ff1ee78ddd Build and parse examples from examples_src/ 2015-04-02 19:10:09 +02:00
Andreas Hocevar
1d940898b5 Add Task and template for building examples 2015-04-02 19:10:02 +02:00
Marc Jansen
245aec8eba Fix typos in doc-comments. 2015-04-02 09:45:25 +02:00
Marc Jansen
17ea9ecef5 Run the istanbul code-coverage via node script. 2015-04-02 09:16:43 +02:00
Marc Jansen
6a9c8f36f7 Refactor tasks/test.js to be more modular.
This way the main functionality of the script can be reused in the
tasks/test-coverage.js script, which has to run the testsuite as well.
2015-04-02 09:13:17 +02:00
Bart van den Eijnden
7c9795ba35 Integrate istanbul for test coverage 2015-04-02 08:57:53 +02:00
Andreas Hocevar
9462c2148d Listen on localhost to avoid phantomjs browsing 0.0.0.0 2015-03-17 14:39:00 +01:00
Andreas Hocevar
1b640870b1 Add css to dist directory 2015-03-06 11:20:01 +01:00
Stefan Weil
829569c6b5 Fix typo in documentation of function getInfo
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-02-12 17:53:53 +01:00
Stefan Weil
e812f2435e Fix typos found by codespell
Most of them are in comments, some in strings.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-02-12 16:39:55 +01:00
Tim Schaub
62854f6e32 Add script to standardize changelog ceation 2014-12-22 13:02:27 -05:00
Tim Schaub
9b0349f2d5 Variable for builds directory 2014-12-20 02:55:56 -07:00
Tim Schaub
d4763a0fe7 Set CLOSURE_NO_DEPS globally 2014-12-20 02:35:05 -07:00
Tim Schaub
3582445755 Add task for publishing to npm
This task publishes an existing tag to the npm registry.  To publish a new release, create a commit that updates the version number in package.json (e.g. to "3.1.0").  Then create a tag, push to GitHub, and run the publish task.  Assuming "openlayers" is the remote for the canonical repo, this would look like the following:

    git tag -a v3.1.0 -m "3.1.0"
    git push --tags openlayers
    ./tasks/publish.sh 3.1.0

The task creates a build for each of the `PROFILES` in `publish.sh` (these correspond to `.json` files in the `config` directory).  Builds are generated in the `dist` directory.  Our `package.json` specifies `dist/ol.js` as the "main" build.  So when people use a module loader to `require('openlayers')`, they get the full build.  It is also possible to load a debug build (e.g. `require('openlayers/dist/ol-debug')`), and we can publish additional builds by adding `config` files and updating `PROFILES` in `publish.sh`.

The `.npmignore` file determines what is *not* included in the package (note that `node_modules` are always ignored).  So if additional items are added to `.gitignore` that should not be included in the npm package, they need to go in `.npmignore` as well (ideally, we don't need to generate anything else outside of the `build` directory that doesn't belong in the package).
2014-12-19 17:45:48 -07:00
Tim Schaub
a95327f18e Define goog and assign to global
When concatenating the Closure Library, base.js creates a new `goog` object if there is not already one in scope.  Later, `goog.global` is assigned the value of `this`.  Calls to `goog.provide` create "namespace" objects by assigning to `goog.global`.  To ensure that `goog` is the same as `goog.global.goog`, we need to create a new `goog` object in the scope of base.js and assign it to `this.goog`.
2014-12-19 14:41:47 -07:00
Tim Schaub
b60b0ecdb0 Add support for wrapping the build in UMD syntax. 2014-12-13 13:23:10 -08:00
Tim Schaub
4c504ede74 Doc fix regarding externs 2014-12-07 16:35:58 -08:00
Tim Schaub
32a67801e5 Include correct path in error message 2014-12-07 16:27:31 -08:00
Tim Schaub
c6b172aef2 Work with modules that assign to exports
CommonJS style modules will either assign `exports` to `module` or will assign properties to `exports`.  This allows us to work with either style:

    module.exports = Foo;

or

    exports.Foo = Foo;

Support for additional properties that are assigned to `exports` (or non-function values assigned to `module.exports`) will likely take additional typedef work in the wrapper.
2014-10-24 08:45:59 -06:00
Tim Schaub
120ace5cef Minimal typedef 2014-10-24 08:45:31 -06:00
tsauerwein
47d17342ca Set type for ol.ext.* 2014-10-24 08:39:03 -06:00
Tim Schaub
4785001548 Parse examples and build external modules on install 2014-10-23 15:57:10 -06:00
Tim Schaub
01b64bc655 General purpose task for building external modules 2014-10-23 13:40:31 -06:00
Frederic Junod
f277b5c9a5 Use ADVANCED instead of ADVANCED_OPTIMIZATIONS
ADVANCED_OPTIMIZATIONS is deprecated (but still accepted)
2014-10-14 14:01:31 +02:00
Andreas Hocevar
66234a73ba Use goog.* types in externs
To have an externs file as accurate as possible, we also need to use
types that are provided by the Closure library.
2014-10-06 14:20:59 +02:00
Éric Lemoine
4643c71e75 Treat unknown opt types as Object in ol externs 2014-09-29 17:58:04 +02:00
Éric Lemoine
ff6da7ed79 New domain in the build header 2014-08-29 17:27:52 +02:00
Andreas Hocevar
f724cb65bc Add base classes to info.json and generated externs
This ensures that the inheritance chain is intact, even if the base
class is not exportable.
2014-08-28 19:02:49 +02:00
Andreas Hocevar
a0c76aa5ee Do not extend goog.* types 2014-08-28 15:11:09 +02:00
Andreas Hocevar
80ea1772e2 Add @extends annotations to generated externs 2014-08-28 15:11:09 +02:00
Andreas Hocevar
d2eceab25e Merge pull request #2643 from ahocevar/interface-externs
Handle interfaces in the generate-externs task
2014-08-28 13:22:15 +02:00
Andreas Hocevar
663fef3dfd Support nullable params and returns in generated externs 2014-08-27 18:18:49 +02:00
Andreas Hocevar
e560f529c6 Handle interfaces in the generate-externs task 2014-08-27 16:13:12 +02:00
Andreas Hocevar
e9457461af Process typedefs last
Becasue typedefs sometimes use namespaces that are actually
constructors, we need to process typedefs after symbols to avoid
duplicate entries for such namespace types.
2014-08-26 22:21:25 +02:00
Bart van den Eijnden
ddb4d9ae83 Merge pull request #2151 from bartvde/license
Builds should include license
2014-08-25 08:27:23 +02:00
Peter Robins
8dab12f0d4 Fix typo in generate-exports 2014-08-22 15:42:24 +01:00
Tim Schaub
f17c33f631 Rename buildcfg to config 2014-08-22 07:28:05 -06:00
Bart van den Eijnden
a5dd13c5f1 Add a reference to the license to the build 2014-08-22 10:10:21 +02:00
Tim Schaub
c7f45819ae Merge pull request #2482 from tschaub/lint-tasks
Lint tasks.
2014-08-19 12:30:26 -06:00