RFR: docs/build: JDK-8224166: Create a taglet to better handle @jls and @jvms tags

Jonathan Gibbons jonathan.gibbons at oracle.com
Tue May 21 01:16:43 UTC 2019


Joe,

Thanks. Suggestions noted; will address them and push.

-- Jon


On 5/20/19 5:38 PM, Joe Darcy wrote:
>
> Hi Jon,
>
> Minor suggestions for the javadoc, but otherwise good to push: in
>
>>    45  * The tags can be used as follows:
>>    46  * @jls section-number description, for example
>>    47  * <p>
> I suggest having "* @jls section-number description" on its own 
> line to emphasize this is a block tag rather than an inline tag. and for
>
>>    50  * will produce the following html
>>    51  * <p>
>>    52  * {@code
>>    53  * <dt>See <i>Java Language Specification</i>:
>>    54  * <dd><a href="https://docs.oracle.com/javase/specs/jls/se12/html/jls-3.html#jls-3.4">3.4 Line terminators</a>
>>    55  * }
>
> change line 50 to state "will produce the following html for a docs 
> build configured for Java SE 12."
>
> Thanks,
>
> -Joe
>
> On 5/20/2019 4:51 PM, Jonathan Gibbons wrote:
>> Here is the updated webrev with the comment changes.
>>
>> Webrev: http://cr.openjdk.java.net/~jjg/8224166-jls-jvms/webrev.01/
>>
>> -- Jon
>>
>>
>> On 05/20/2019 01:43 PM, Jonathan Gibbons wrote:
>>> Joe notes some unbalanced parentheses in the doc-comment for the new 
>>> JSpec taglet:
>>>
>>> I will change the doc comment to read:
>>>
>>> /**
>>>  * A base class for block tags to insert a link to an external copy 
>>> of JLS or JVMS.
>>>  * The tags can be used as follows:
>>>  * @jls section-number description, for example
>>>  * <p>
>>>  * @jls 3.4 Line Terminators
>>>  * <p>
>>>  * will produce the following html
>>>  * <p>
>>>  * {@code
>>>  * <dt>See <i>Java Language Specification</i>:
>>>  * <dd><a 
>>> href="https://docs.oracle.com/javase/specs/jls/se12/html/jls-3.html#jls-3.4">3.4 
>>> Line terminators</a>
>>>  * }
>>>  *
>>>  * The version of the spec must be set in the jspec.version system 
>>> property.
>>>  */
>>>
>>> This removes a couple of excess '}' characters, and replaces the 
>>> unmemorable @ with the equivalent and slightly more readable 
>>> named entity, @
>>>
>>> -- Jon
>>>
>>> On 05/20/2019 12:45 PM, Jonathan Gibbons wrote:
>>>> Please review a small change to add support for new taglets to 
>>>> handle the @jls and @jvms tags found in our API docs.
>>>>
>>>> Previously, these tags were just handled with simple javadoc 
>>>> command-line options to echo their contents.  Now, the section 
>>>> number is found in the contents, and a link to the standard 
>>>> location for the full appropriate online spec is generated.
>>>>
>>>> Note that the links anticipate the publication of the updated 
>>>> versions of these specs in the standard location, and will be 404 
>>>> until the versions are available, at GA time.  If you want to 
>>>> preview/play with the links, you can tweak the version number use 
>>>> in Docs.gmk, line 278. It defaults to the current 
>>>> $$(VERSION_SPECIFICATION), meaning that it will be updated 
>>>> automatically as we move forward to new versions.
>>>>
>>>> The code for handling @jls and @jvms is sufficiently similar that 
>>>> they are implemented as nested classes within a single common 
>>>> supertype.   Of note is that the taglets do support the use of 
>>>> {@code} within the text.
>>>>
>>>> ...
>>>>
>>>> Separately, you may have noticed some cleanup changesets to 
>>>> standardize the use of these tags. Although those changes are 
>>>> related to this work, it is _not_ a requirement that the standard 
>>>> form is used.  The section number is extracted in the taglet with a 
>>>> fairly tolerant regex.
>>>>
>>>> -- Jon
>>>>
>>>>
>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8224166
>>>> Webrev: http://cr.openjdk.java.net/~jjg/8224166-jls-jvms/webrev.00/
>>>> API: 
>>>> http://cr.openjdk.java.net/~jjg/8224166-jls-jvms/docs/api/index.html
>>>>
>>>>
>>>>
>>>
>>



More information about the build-dev mailing list