History log of /external/doclava/src/com/google/doclava/NavTree.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2985b3765bbce142467cff158e962e43de7df31d 07-Mar-2018 Scott Main <smain@google.com> Add quotes and don't include 'version_added' if there's no 'since' info
am: 9be062c129

Change-Id: Id00ce773ebe77cb775f5719b48a0f8483f7b0722
9be062c129fe782bf22c761769e805acb160446a 06-Mar-2018 Scott Main <smain@google.com> Add quotes and don't include 'version_added' if there's no 'since' info

Also remove now-unecessary 'no-toggle' class from left nav items.

bug: b/70844489

test: make ds-docs

Change-Id: I88cc7cde9de1871fd5abdf2fae94dfb5e47912b7
/external/doclava/src/com/google/doclava/NavTree.java
8999bdc8171eb632858feeab69023c0cebcc3d07 01-Mar-2018 Scott Main <smain@google.com> Add support to build a full _book.yaml file for DAC reference. This creates a new version of writeYamlTree() to reproduce the nav structure used on d.android.com with all API links.
am: 5880fe8bc7

Change-Id: Ie3b6095f1888e7cfe63bd42932891164ac8d340d
5880fe8bc7736d15dd4d2d98293bdaf330ca115d 18-Dec-2017 Scott Main <smain@google.com> Add support to build a full _book.yaml file for DAC reference.
This creates a new version of writeYamlTree() to reproduce the nav
structure used on d.android.com with all API links.

Previously, we generated a book.yaml for dac that included only the
package names. All classes/interfaces were added to the nav with JS.

Although Doclava already included an option to generate the complete
book.yaml file (used by other javadoc projects for DevSite), this
book.yaml file did not organize pages by type (classes, interfaces, etc)
and it put nested classes behind a zippy, below the parent class.
Whereas we prefer to show all classes within a package as siblings.

So this new writeYamlTree2() method uses the same Node list used by the
original JS implementation, but with new rendering methods to create
a yaml structure instead of a JS array for all API links.

To use this new book.yaml format, the doclava command must include the
`yamlV2` option.

Then, you'll actually receive 2 yaml files: the traditional "v1" yaml
file and the new v2 yaml file prefixed with "NEW" in the filename. This
is particularly important for DAC right now so that we can submit this
change to Git without affecting the expected yaml file for the site.
To support the "Irina" version of DAC, we simply rename the "NEW" file
to replace the legacy version.

This also uses the new book.yaml property "version_added" to specify
the "since" API level for each API (instead of the "status_text"
property that applied as a CSS class).

Once we migrate fully to Irina, we can disable this dual output.

Example output is shown in http://cl/187393231

bug: b/69845924, b/70844489

test: make ds-docs

Change-Id: I6e98ee05bb406863a7c60e6bfe56ca745ac83f10
/external/doclava/src/com/google/doclava/NavTree.java
1563953aafcb66623de97fbc802e602f9c8be877 18-Nov-2017 Jeff Sharkey <jsharkey@android.com> Emit all APIs using Predicates.

Awhile back we wrote a mechanism to emit API based on a customizable
Predicate<MemberInfo> which would "filter" exactly what should be
included or excluded.

This change extends this mechanism to be used for all API emission,
specifically "current.txt" files. To accomplish this, we now have
two predicates: one for deciding if a member should be emitted
directly into the API being generated, and another to decide if a
member can be referenced indirectly as part of emitting another API.

For example, generating removed.txt, we only want to emit members
tagged with "@removed", but of course it's okay for those members to
reference a non-removed class like String, etc.

Rewrite ApiPredicate to be general enough to support various matching
requirements. Also search package hierarchy when deciding if a
member matches or not, since "@hide" is often defined at the package
level.

Only emit superclasses and interfaces that match our predicate. If
a superclass/interface doesn't match the predicate, walk further
up the family tree to look for any and all superclasses/interfaces
that do actually match our predicate. Consider this example:

public class StringBuilder extends AbstractStringBuilder {}
class AbstractStringBuilder implements Appendable {}

In this case, we want to say "StringBuilder implements Appendable",
because AbstractStringBuilder won't be emitted by our predicate.

For fields inherited from ancestors, if a field would have matched had
it been defined directly on the class being inspected, then clone that
field to make it match. For methods inherited from ancestors, don't
allow the class being inspected to pretend that their override is
hidden.

Split out eliding logic into a separate predicate that is applied
as one final step. Fix bug where we weren't emitting generics.

Test: manual inspection of API text files
Bug: 69505783
Change-Id: Ic7f349c6cb80853967308d2f871a0b029ead0096
Merged-In: Ic7f349c6cb80853967308d2f871a0b029ead0096
/external/doclava/src/com/google/doclava/NavTree.java
4a6deba05ccce0415cb155ed4a9fb054f7258f52 09-Aug-2017 Alan Viverette <alanv@google.com> Optionally tag classes with Maven artifact spec

Change-Id: I9c6ab35f31c6ca886c601e34571613840752dc0b
Fixes: 62873049
Test: ./gradlew generateDocs from SL directory
/external/doclava/src/com/google/doclava/NavTree.java
b0c520847a53a2cb3fe6fa5a7beb50ee5a254210 13-Apr-2017 Scott Main <smain@google.com> remove hard-coded behavior for Android libraries,
replacing them with support for a new doclava option, "dac_libraryroot",
which specifies the path to this API's root URL (after accounting for
DAC's reference/ path). For example, the wearable doclava build must
specify libraryroot as "android/support/constraint/". Also required
is a unique name for array created inside lists.js, specified with the
"dac_dataname" option. For wearable, it is "SUPPORT_WEARABLE_DATA"

NOTES:
I would have used the -hdf flag to instead pass "dac_dataname" because
that's needed only in the clearsilver template, but I discovered that
you can't pass the same javadoc option more than once, and we already
use the -hdf option.
I also discovered some weird bug as a result of the way Gradle's javadoc
alphabetizes the options given, which resulted in javadoc errors when
either of these options were presented immediately before the -quiet
flag. So to avoid those errors, I prefixed each new option with "dac"
so as to make them appear much earlier in the javadoc command.

bug: 37319063
Change-Id: Ia33fca33b8597f6909c3142803525e729c81020c
/external/doclava/src/com/google/doclava/NavTree.java
936d3f06ee54e97fd313a022a91c9a592a8480c4 27-Mar-2017 Scott Main <smain@google.com> add custom handling for support lib as a separate library

Change-Id: I2262b08b53b89822fead3fdd23b2bb60540f11d5
/external/doclava/src/com/google/doclava/NavTree.java
23cc6470c6a6a2fcb264539d6761ed1cd7046442 10-Feb-2017 Scott Main <smain@google.com> add Package Index and Class Index files to each library's root path
(instead of at the reference/ root location), and add links to
these files in the left nav.

stage:
http://smain.mtv.corp.google.com:8080/reference/android/support/constraint/classes.html

Note: This depends on some style changes to enable highlighting these
new pages in the left nav: https://critique.corp.google.com/#review/147165269

TODO: Cleanupa all these 'wearableSupportPath' style hard-coded paths
and instead pass those paths as a doclava argument.

Change-Id: I13b4b441b46055551d36f0729de9b91ec98a0496
/external/doclava/src/com/google/doclava/NavTree.java
87e8b92f70621216d26a820276bc1f3fadc60c1d 12-Oct-2016 Scott Main <smain@google.com> A few fixes to the constraint lib's output directories; and
add another argument for the resources dir target output path; and
add option to include no assets at all in the doc build then
use that with all devsite builds because all the website assets
are now controlled in the DevSite sources.

Change-Id: Iba29d831025140b5c0626369d76ef7b4d40fd4fd
/external/doclava/src/com/google/doclava/NavTree.java
9af82c2937fa7652dab0a34dc111b43447c41351 10-Sep-2016 smain@google.com <smain@google.com> add support for constraint layout lib's reference
also adds a new doclava option to copy over a resources directory with -resourcesDir

Change-Id: I819fc03f6c2e28dbe509faa8825b8fee618cc07d
/external/doclava/src/com/google/doclava/NavTree.java
a9e53572d4d4ee08e84f27aefcc88f63f601974b 30-Aug-2016 Qianxi Zhang <qianxiz@google.com> Fix bug that hidden inner classes were exposed in yaml file.

Change-Id: I3b276d13ef0c3d398913d07a6be2b056414bad46
/external/doclava/src/com/google/doclava/NavTree.java
2ff7fa8c7db1a397c4634ddb96fb8e5f840f0dd6 01-Jul-2016 Alan Viverette <alanv@google.com> Add doclava option for Android support library

Also adds gradle intermediate output directory to gitignore.

Bug: 28124434
Change-Id: I6eb576e14cc3573b3d2a1075d9b55863d179be62
/external/doclava/src/com/google/doclava/NavTree.java
796181bb343335cab4005fb06e2d7af04f35322b 11-May-2016 Dirk Dougherty <ddougherty@google.com> Enable navtree for devsite builds. Custom hdf vars for reference extensions lists files.

Change-Id: I0bffcf9fe3bce747d5d1f33768f1d28087d01da0
/external/doclava/src/com/google/doclava/NavTree.java
03fdd1f95e8785c57eeabcec94e5f91ddf4a6ad4 07-May-2016 Dirk Dougherty <ddougherty@google.com> For -testSupportRef and -wearableSupportRef builds, generate yaml toc file to library root dir.

Change-Id: I66472b603300dbbc785a12d27e4f185b527ebb12
/external/doclava/src/com/google/doclava/NavTree.java
ddb59a1d1d35ee900bd5b98bc7808046fdb7dd7f 03-May-2016 Dirk Dougherty <ddougherty@google.com> Retrieve API level for _book.yaml reference TOC file.

Change-Id: I495fa72f10f2571aba1f733796b49d4c014b885f
/external/doclava/src/com/google/doclava/NavTree.java
5400437364666d0a7d3bfd6ea721fe15e813d657 02-Jul-2015 Dirk Dougherty <ddougherty@google.com> Fix handling of double-byte chars for tags, keywords.

Change-Id: I03adc405d087eee5a8735f67525a79357ba6c3d5
/external/doclava/src/com/google/doclava/NavTree.java
5118ffe3bf77ec4efa070f36a7a62fd5d1bf16bf 18-Feb-2014 Hui Shu <hush@google.com> Add support for @removed tag.

@removed tags can be applied to packages, classes, methods, fields
that were once public API, but later removed. Things annotated by
@removed cannot be used by outside developers. But applications compiled
against the old API where the @removed API were still public should
continue to work and we must not delete the @removed APIs from the
source. This fix makes sure of that.

BUG: b/11293324

Change-Id: Iab3a8bdcaa0cb0742501c33e29b8121bc169bf1b
/external/doclava/src/com/google/doclava/NavTree.java
700b9f275638190f24e83a91b5105255df7f7c11 05-Oct-2013 Brett Chabot <brettchabot@google.com> Output annotations in package-summary docs.

Bug 10749552
Bug 6333357

Change-Id: Iffdd04c911bafc8f2c368fc0d24af926f155928a
/external/doclava/src/com/google/doclava/NavTree.java
5ab9cb535d77c7d83fabac028bbf13b2d27e0e63 30-Nov-2012 Robert Ly <robertly@google.com> add support for gms and gcm javadocs

Change-Id: Ibf1465f8f8b3f8a419c8f2b36b3bff96826ba89f
/external/doclava/src/com/google/doclava/NavTree.java
18b25554072c36d4d9652523ec15e0c5306101ce 09-Aug-2012 Chirag Shah <chirags@google.com> Patch in Brett Johnson's changes from DocLava to support yaml.

http://code.google.com/p/doclava/source/detail?r=335
http://code.google.com/p/doclava/source/detail?r=336

Change-Id: I624f9ac1a8166e5590a845a55c2a6e51d2a078b4
/external/doclava/src/com/google/doclava/NavTree.java
3c1a6b2a6d80f02fa5460d9d8de356be5508de29 16-Oct-2010 Scott Main <smain@google.com> show full package description in the package summary and remove the separate description page

Change-Id: Ib443473f54d768765041be0c969fa8b2f9637c57
/external/doclava/src/com/google/doclava/NavTree.java
920dbbbaca6aa578f3b26d89e99d12754c26ed60 05-Aug-2010 Ben Dodson <bjdodson@google.com> Initial import of Doclava project

Change-Id: Ia5ae56f1700fce98e0ae6954fa2df617ec0537bb
/external/doclava/src/com/google/doclava/NavTree.java