Commit Graph

13709 Commits

Author SHA1 Message Date
Andreas Hocevar
5f54b45fa2 Add readme note about observable properties 2014-05-05 09:52:32 -05:00
Andreas Hocevar
61b732b8f7 Make sure that parent classes are not marked undocumented 2014-05-05 09:40:28 -05:00
Andreas Hocevar
b1126c9373 Inline events and also list method events with the class 2014-05-05 09:35:33 -05:00
Andreas Hocevar
52444b1366 Inherit events 2014-05-04 18:29:18 -05:00
Andreas Hocevar
b444714c55 No longer need to remove dead links
There should be no dead links any more, now that we include
doclets for the whole inheritance chain of a class.
2014-05-04 18:28:19 -05:00
Andreas Hocevar
ea5df18c72 Remove unused require 2014-05-04 14:51:06 -05:00
Andreas Hocevar
8ee9f7cb6a Simplify the way we annotate observable properties
We no longer add observable annotations to the constructor.
Instead, we just mark getters (and for read/write properties
also setters) with an observable annotation.
2014-05-03 16:04:25 -04:00
Andreas Hocevar
0f072c0ec1 List subclasses for each class
With this change, we no longer need to link to implementations
or subclasses manually.
2014-05-03 15:32:39 -04:00
Andreas Hocevar
db5b2e284a Do not remove classes that other classes inherit from 2014-05-03 12:41:52 +02:00
Andreas Hocevar
6cea9a9d9a Avoid dead links
Because we remove doclets that are not part of the API, there
are cases where linkto will create a link to an undocumented
doclet. We now replace such links with the longname of the
doclet.
2014-05-03 12:41:52 +02:00
Andreas Hocevar
5a13488b11 Stop adding ObjectEvent links manually
Now that the links are removed from event annotations, we no
longer need to do this, because inheritance works.
2014-05-02 12:06:48 +02:00
Andreas Hocevar
b7f6e2d9b9 Fix quotes 2014-05-02 12:06:48 +02:00
Andreas Hocevar
d6722ddc6f Mark undocumented doclets as undocumented
To give other plugins access to doclets that are not part of
the API, we have to mark them undocumented instead of removing
them. They will be removed by JSDoc before publishing anyway.
2014-05-02 12:06:48 +02:00
Andreas Hocevar
8e387f385a Add missing namespace annotation 2014-05-01 22:17:57 +02:00
Andreas Hocevar
e7e1ef7534 Show inherited observable properties 2014-05-01 22:17:57 +02:00
Andreas Hocevar
25dd0127e9 Recursively document subparams and span table columns 2014-05-01 22:17:57 +02:00
Andreas Hocevar
7271b50d5a Simplify fires annotations 2014-05-01 22:17:56 +02:00
Andreas Hocevar
f22aac1e22 Only use the inheritdoc plugin once 2014-05-01 22:17:56 +02:00
Frédéric Junod
2e9cad730d Merge pull request #2032 from fredj/require
Remove unneeded goog.require
2014-05-01 17:10:30 +02:00
Frederic Junod
c0d8fe4126 Remove unneeded goog.require 2014-05-01 13:41:16 +02:00
Tim Schaub
0c8f29c432 Merge pull request #2031 from tschaub/dependencies
Move modules used in post-install task to dependencies.
2014-04-30 18:07:49 -06:00
Tim Schaub
f8e6fac90e Modules used in postinstall are dependencies
Since async and htmlparser2 are used by the postinstall task, they need to be listed as dependencies.  These will get installed when ol3 is a dependency of another project.
2014-04-30 17:54:39 -06:00
Tim Schaub
0d8c11394d Merge pull request #2030 from tschaub/defines
Move defines to ol namespace.
2014-04-30 17:13:10 -06:00
Tim Schaub
24498fa9d0 Defines in a namespace that can be required
For consistency, all defines are in the ol namespace.  If they are to be moved to another namespace, they need to be requireable.
2014-04-30 09:14:10 -06:00
Tim Schaub
e4e3b2229a Defines in ol namespace defined in ol.js 2014-04-30 08:54:30 -06:00
Tim Schaub
cec41c4b0a Add missing requires
Without explicit requires, it is possible that a build would exclude ol.js.
2014-04-30 08:37:52 -06:00
Tim Schaub
3f0da11008 Move ol defines from browserfeature.js to ol.js 2014-04-30 08:24:00 -06:00
Tim Schaub
12d4cb5752 Merge pull request #1979 from tschaub/custom-build
Annotation for exportable methods.  Node based tasks for generating exports and a custom build.

Fixes #613.
v3.0.0-beta.5
2014-04-29 13:01:52 -06:00
Tim Schaub
193d5c9ac1 Rename EXTERNAL_SRC to EXPORTS
The build/exports.js file passes gjslint and jshint, so the separate linting task is not needed.
2014-04-29 09:57:25 -06: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
d552dfd96d Making ol.proj.Projection subclasses exportable
Because ol.proj.EPSG4326 et al. extend ol.proj.Projection which has exportable methods, these constructors need to be exportable as well (e.g. so ol.proj.EPSG4326.prototype is defined in exports.js when calling goog.exportProperty on getCode etc.).  If we really don't want these to be exportable, they should be removed or made private (and named like ol.proj.EPSG4326_) for internal use only.
2014-04-29 09:57:25 -06:00
Tim Schaub
ec6aa21912 Include goog.require calls in exports file 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
Tim Schaub
fd170eb295 Accept a path for exports file 2014-04-29 09:57:19 -06:00
Tim Schaub
3dd5fb88e5 Allow configuration of JVM arguments in build 2014-04-29 09:53:07 -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
Andreas Hocevar
29b643c7b0 Inline object literals from olx.js 2014-04-29 09:53:07 -06:00
Andreas Hocevar
cdd1922350 Document purpose and use of oli.js and olx.js 2014-04-29 09:53:06 -06:00
Andreas Hocevar
c17ac0cae3 Greatly simplify and document the usage of JSDoc
This commit simplifies the exports.js plugin so it only relies
on the stability notes to generate the documentation, which
completely decouples it from the exportable API.

As a rule of thumb, whenever something has an 'api' annotation,
it should also have a 'stability' annotation. A more verbose
documentation of ol3 specific annotation usage is available in
the new 'apidoc/readme.md' file.

This commit also modifies all source files to implement these
usage suggestions.
2014-04-29 09:53:06 -06:00
Andreas Hocevar
aaf6101d0f Include symbols from oli.js using interface and implements tags
Instead of regex parsing, we define tags for interface and
implements.
2014-04-29 09:53:06 -06:00
Andreas Hocevar
b758d92790 Use symbols.json for determining the API
Also to get rid of regular expression parsing, instead of
collecting exports for observables from the source files, we use
the 'observable' annotations.
2014-04-29 09:53:06 -06:00
Tim Schaub
758eed357e Accept a src config, add docs 2014-04-29 09:53:06 -06:00
Tim Schaub
a28db38eef Parse options and add docs 2014-04-29 09:53:06 -06:00
Tim Schaub
b6277e0a01 Build task for driving the compiler 2014-04-29 09:53:06 -06:00
Tim Schaub
88e41f25ea Generate symbols before exports 2014-04-29 09:53:06 -06:00
Tim Schaub
fe5d8712f2 Unused script 2014-04-29 09:53:06 -06:00
Tim Schaub
7c68107b17 Call generate-symbols.js from build.py 2014-04-29 09:53:06 -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