I had also thought about this. In JCE, the API and implementation (aka provider) might even be in different modules, if some system properties only apply a specific provider, we can put them into module-info.java of that module.
We do support the new tag in module-info.java, right? Thanks Max > On Nov 16, 2018, at 12:31 AM, Roger Riggs <roger.ri...@oracle.com> wrote: > > Hi, > > If a system property is defined and specified as supported then it needs a > public declaration and specification as part of the public class or package > documentation. > Checking for and adding the tag will be a good way to reconfirm property > definitions are in the right place. > > Would it be reasonable to use only core-libs-dev for any remaining discussion? > Seeing it on 5 aliases doesn't seem productive. > > $.02, Roger > > > On 11/15/2018 11:17 AM, Xuelei Fan wrote: >> In JCE and JSSE, the public APIs definition (javax.net.ssl) and the internal >> implementation (sun.security.ssl) are separated. The system property can be >> defined in the internal implementation classes. I think we should add the >> @systemProperty on the public APIs, right? >> >> The public API class and the implementation class may be not a one-to-one >> map. Multiple public APIs may be impacted by the system property. How to >> handle such cases? >> >> Thanks, >> Xuelei >> >> On 11/14/2018 2:27 PM, Jonathan Gibbons wrote: >>> This is an FYI to announce some initial, long-overdue support in javadoc >>> for documenting system properties (JDK-5076751). >>> >>> Currently, system properties are just documented using ad-hoc narrative >>> text, which is fine if you know where to look for any given property. >>> >>> JDK 12 introduces a new inline javadoc tag, {@systemProperty >>> /property-name/} which can be used to "declare" the name of a system >>> property. You can use this tag as a drop-in replacement for the plain-text >>> property name; it will have no overt effect on the narrative text, but it >>> will cause the property name to be put into the search index and the A-Z >>> index. Thus, property names will become searchable, to allow users to >>> easily find the definition of any such system property. >>> >>> Adding support into javadoc is only part of the story. Now that the support >>> is in javadoc, we want to update the API documentation, so that the >>> documentation is updated for all Java SE and JDK system properties. >>> >>> Where should the tag be used? The tag should be used in the text of the >>> defining instance of the property. This is where the characteristics of >>> the system property are described, which may include information like: >>> "what is the property for", "how and when is it set", "can it be modified", >>> and so on. For example, it could be used in the docs for >>> System.getProperties [1] or Networking Properties [2] In general, it should >>> -not- be used in situations that merely refer to the system property by >>> name. For example, the docs for Path.toAbsolutePath [3] make a reference >>> to the system property user.dir, but that is not a definition of the >>> property. >>> >>> Going forward, in future releases, we expect to explore some enhancements >>> to this feature. Here are some of the ideas that have been suggested: >>> >>> * Create a "summary page" that lists all the system properties. This >>> would be somewhat similar to the current top-level "Constant Values" >>> page. >>> * Add information regarding the "scope" of the definition: is it >>> defined by the Java SE specification, or JDK, or JavaFX, etc. This >>> information could be used to organize the content on the summary page. >>> * Update @see and {@link} to be able to refer to system properties. >>> * Allow a short description to be included in the {@systemProperty} >>> tag. This text could be included in the search index, the A-Z index, >>> and the summary page. >>> >>> -- Jon >>> >>> >>> [1]: >>> https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/System.html#getProperties() >>> >>> [2]: >>> https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/doc-files/net-properties.html >>> >>> [3]: >>> https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/Path.html#toAbsolutePath() >>> >>> >>> >