Commit Graph

57 Commits

Author SHA1 Message Date
Peter Robins
ddfe11042b Update buildcfg/readme 2014-07-22 10:00:56 +01:00
Tim Schaub
e9c6e58663 Removing the build-all target
The ol-all.json and ol.json build configurations differ only in their use of the manage_closure_dependencies Compiler option.  I don't think there is value in running both (there are plenty of other compiler options that we don't exercise in this same way).
2014-07-17 21:48:53 -06:00
Tim Schaub
4dc601f30d Generate a ol-debug.js script useful for debugging
Instead of running everything through the Compiler just to remove whitespace, we provide a build that is a simple concatenation of all scripts in dependency order.  This build (ol-debug.js) should never be used in production (the same applies to the old ol-whitespace.js build).  Instead, the intention is that it be used to aid in debugging during development.
2014-07-17 21:33:02 -06:00
Tim Schaub
28a23a11b5 Remove ol-simple.js build
We've proven that we can, but that doesn't mean we should be building with `SIMPLE_OPTIMIZATIONS`.
2014-07-17 21:31:58 -06:00
Tim Schaub
aecaa52cb1 Make our build configs more portable by using the default src config
If a `src` config is not provided, by default, all of the library sources are included.  There is some special handling in the build task to make sure all library sources are included regardless of the path to the build config.  When someone includes a `src` config, path patterns are assumed to be relative to the current working directory (unless overriden with the `cwd` config).  So, when you use the `src` config, your config is no longer portable.
2014-07-14 17:52:10 -06:00
Tim Schaub
c93e80a14a Always regenerate info using all sources if any have changed
Because we don't know if a new or modified file includes changes to the class hierarchy, we regenerate info for all sources any time any one has changed.  An alternative would be to generate info first for the new or modified file and then (potentially) regenerate info for more source files in the class hierarchy, but this makes the generate-info.js task far more complicated.
2014-07-12 14:39:18 -06:00
Tim Schaub
d99a61545c Use @observable annotation instead of @todo observable 2014-07-05 16:16:44 -04:00
Tim Schaub
4cf5ab4620 Use @api annotation instead of @todo api 2014-07-05 15:41:14 -04:00
Éric Lemoine
c6138edbcb Remove the test.json Plovr config file 2014-07-04 10:51:18 +02:00
Éric Lemoine
52294519bc Remove the base.json Plovr config file 2014-07-04 10:51:18 +02:00
Éric Lemoine
07b02c2a55 Add a buildcfg/readme.md 2014-07-04 10:51:18 +02:00
Frederic Junod
2064d08602 Refresh the compiler error list
Based on https://github.com/openlayers/closure-util/blob/master/compiler-options.txt
2014-07-04 10:51:17 +02:00
Éric Lemoine
f54398eda3 compilation_level is now just ADVANCED and SIMPLE 2014-07-04 10:51:17 +02:00
Éric Lemoine
8c4a55cc65 Use build.js for compiling the examples all at once 2014-07-04 09:15:23 +02:00
Éric Lemoine
f89abb53a9 Use build.js for ol-all.js 2014-07-04 09:15:23 +02:00
Éric Lemoine
4e8c9c5470 Use build.js for ol-whitespace.js 2014-07-04 09:15:23 +02:00
Éric Lemoine
3ea304f5bf Use build.js for ol-simple.js 2014-07-04 09:15:23 +02:00
Éric Lemoine
04e60a9d37 Use build.js for ol.js 2014-07-04 09:15:22 +02:00
Tim Schaub
2f5a92c2c9 Treat classdesc as description 2014-06-28 10:46:36 -04:00
Tim Schaub
d5de99bcf7 Add symbol kind to info 2014-06-25 11:11:22 -04:00
Tim Schaub
070f81aa7d Add description to symbols and defines 2014-05-05 07:41:53 -07:00
Tim Schaub
f9157a6123 Rename generate-symbols.js to generate-info.js
This task generates build related metadata for the library based on doc annotations.  Since it is about more than writing out exportable symbols, it makes sense to have a more general name.
2014-05-05 07:41:47 -07:00
Tim Schaub
48828a238a Generate metadata for boolean defines in addition to exportable symbols 2014-05-05 07:14:23 -07:00
Tim Schaub
a083c6149a No more generated internal source
With this change, the only two remaining generated scripts are build/exports.js and build/test/requireall.js.  Both are only required by Plovr.  With the Node based build task, a temporary exports.js file is created.  The Node based server can be used to run the tests without build/test/requireall.js.
2014-04-29 09:57:25 -06:00
Tim Schaub
9b4f61be3e No need for requireall.js when including exports.js 2014-04-29 09:57:25 -06:00
Tim Schaub
d087fdbefd Add list of provides to symbol metadata 2014-04-29 09:57:25 -06:00
Andreas Hocevar
fbdbbfb7a7 Get rid of stability annotations and document stability with api
This change adds a stability value to the api annotation, with
'experimental' as default value.

enum, typedef and event annotations are never exportable, but
api annotations are needed there to make them appear in the
docs.

Nested typedefs are no longer inlined recursively, because the
resulting tables get too wide with the current template.
2014-04-29 09:53:07 -06:00
Tim Schaub
88d67b7370 Regenerate symbols if parents have changed
The generate-symbols.js task runs JSDoc on source files.  Because this takes a long time (13s) to run on the whole library, the resulting symbols file includes additional metadata to make it possible to do incremental symbol generation on subsequent runs.  The 'path' and 'extends' metadata for a symbol are used to determine what needs to be regenerated.
2014-04-29 09:53:06 -06:00
Tim Schaub
1273c26f7a Use new generate-exports.js task 2014-04-29 09:53:05 -06:00
Tim Schaub
e53fde402b Write out sorted symbols, excluding inherited ones on private classes
There are cases where a private class may inherit an exportable member (e.g. ol.DebugTile_#getTileCoord comes from ol.Tile#getTileCoord).  We want to avoid making these exportable.
2014-04-29 09:53:05 -06:00
Tim Schaub
9800b38250 Adding a JSDoc configuration for generating metadata on exported symbols
This generates info for all symbols annotated with "@todo api" (when Plovr is replaced, this will become "@api").  Generated metadata is written to stdout.  A separate process will handle the output.
2014-04-29 09:53:05 -06:00
Tim Schaub
acb0fd8f06 Use externs/olx.js instead of objectliterals.jsdoc
The single externs/olx.js file describes all of the "options" objects we accept in our constructors.  The @typedef annotations are used by the compiler for type checking.  The @type annotations include documentation for individual options and serve as externs when compiling a profile of the library.  When compiling an application together with the library, the externs/olx.js file is included as one of the sources to provide the @typedef's without generating externs.

If we want to maintain multiple src/*.externs.js files instead of one large externs/olx.js file, we can.  But while we are still using Plovr, it makes for easier build configurations to have one file.

This removes the build tasks that generated the build/src/external/src/externs/types.js and build/src/internal/src/types.js files as those are both replaced by the single externs/olx.js file.
2014-04-08 11:41:24 -06:00
Frederic Junod
f60854e63f Remove unneeded json.js extern 2014-03-27 11:21:20 +01:00
Tom Payne
c5f7d08694 Remove stray comma 2014-02-26 17:56:22 +01:00
Tom Payne
21a5052da6 Include VBArray externs in build 2014-02-17 17:37:25 +01:00
Antoine Abt
21bfdb1d1e Add example extern for exampleNS 2014-02-14 09:32:14 +01:00
Tom Payne
6da95e49d2 Sort externs files alphabetically 2014-01-03 14:55:02 +01:00
Éric Lemoine
875b5e1c0e File types.js no longer an input for ol.js 2013-12-12 15:02:02 +01:00
Éric Lemoine
a1b7d512eb File types.js no longer an input for ol-whitespace.js 2013-12-12 15:02:02 +01:00
Éric Lemoine
f5481ac2f5 File types.js no longer an input for ol-simple.js 2013-12-12 15:02:02 +01:00
Éric Lemoine
ff49b89f62 File types.js no longer an input for ol-all.js 2013-12-12 15:02:02 +01:00
Tom Payne
c78754abba Activate more compiler checks 2013-11-19 21:19:22 +01:00
Frederic Junod
26ed0f3f12 Add project name and link to the compiled output 2013-11-07 09:03:43 +01:00
Tom Payne
3eded60938 Merge pull request #1118 from twpayne/build-examples-together
Build examples together
2013-10-15 03:48:34 -07:00
Tom Payne
e2df5ceacb Add target to concatenate and build all examples 2013-10-10 16:45:05 +02:00
Tim Schaub
ca3dcb0e14 Stop base.js from trying to load deps.js 2013-10-09 15:47:30 -06:00
Frederic Junod
4bae5e755a Rename externs/html5.js to externs/closure-compiler.js
Add add a fix for issues:
  * https://code.google.com/p/closure-compiler/issues/detail?id=1084
  * https://code.google.com/p/closure-compiler/issues/detail?id=1088
2013-09-08 16:53:28 +02:00
Bruno Binet
dddea56c2c Add a temporary html5 externs file
This is needed because the current version of closure compiler we use does not
include externs for valueAsNumber which we now use in ol.dom.Input.
So this backports patch from issue:
https://code.google.com/p/closure-compiler/issues/detail?id=1060

This patch should be reverted when the next closure compiler release is out
with valueAsNumber externs.
2013-08-13 11:31:58 +02:00
Tim Schaub
38172c4f20 Adding TopoJSON parser 2013-07-26 15:05:52 -06:00
Tom Payne
45c0e27c36 Use goog.log instead of goog.debug.Logger 2013-07-23 13:06:06 +02:00