Commit Graph

92 Commits

Author SHA1 Message Date
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
Tim Schaub
30bfa1bf19 Remove additional lint from new tasks 2014-08-19 12:15:11 -06:00
Éric Lemoine
2c9e822808 Merge pull request #2410 from probins/taskreadme
Additional clarifications for tasks/readme
2014-08-19 12:27:25 +02:00
Tim Schaub
33b68123ac Add jshint config for tasks and remove lint 2014-08-18 17:22:57 -06:00
Andreas Hocevar
286db65d34 Use {*} instead of {goog.*} types in externs file 2014-08-09 09:05:54 +02:00
Andreas Hocevar
e294ca1868 Keep track of all symbols
This avoids that we add parent namespaces of symbols that were already
added because they have their own definition in the externs.
2014-08-09 08:53:25 +02:00
Andreas Hocevar
63abbe2597 Prepend 'var ' for root symbols 2014-08-09 08:53:24 +02:00
Andreas Hocevar
e8eebd8846 Allow to provide externs for inclusion in info.json 2014-08-09 08:53:24 +02:00
Andreas Hocevar
53e12e7e47 Add typedefs for externs/olx.js contents 2014-08-04 20:37:46 +02:00
Andreas Hocevar
58f857bbb6 Test whether externs/olx.js is newer than build/info.json 2014-08-04 20:37:45 +02:00
Andreas Hocevar
33a627b7ce Include externs/olx.js in the info generation 2014-08-04 20:37:45 +02:00
Andreas Hocevar
a40170feb7 Include typedefs in externs 2014-08-04 20:37:45 +02:00
Andreas Hocevar
46b74cedf8 Only add object type definition when there is no constructor 2014-08-04 20:37:44 +02:00
Andreas Hocevar
66bde546c0 Avoid duplicate constructors 2014-08-04 20:37:44 +02:00
Andreas Hocevar
1e79acac20 Build externs file from info.json
This change adds all information that is needed to generate the externs
file to build/info.json, so tasks/generate-externs.js no longer needs
to spawn JSDoc.
2014-08-04 20:37:44 +02:00