JDK-8066618 : Fix deprecation warnings in jdk libraries
  • Type: Enhancement
  • Component: client-libs
  • Affected Version: 9
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2014-12-03
  • Updated: 2018-09-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Sub Tasks
JDK-8066619 :  
JDK-8066622 :  
JDK-8066633 :  
JDK-8066635 :  
JDK-8066637 :  
JDK-8066639 :  
JDK-8066642 :  
JDK-8066644 :  
JDK-8067087 :  
JDK-8067089 :  
JDK-8067090 :  
JDK-8067093 :  
JDK-8067095 :  
JDK-8067289 :  
JDK-8069128 :  
JDK-8069143 :  
JDK-8071911 :  
JDK-8180132 :  
JDK-8180134 :  
Description
JDK-8066616 enabled deprecation warnings in the build and suppressed deprecation warnings at specific locations in source files. This issue is an umbrella issue containing a set of tasks that follow up on the above-mentioned issue.

The fix for the previous issue added warnings suppression to source file locations as a quick fix to get the build to be warnings-free. These locations need to be revisited to understand whether the deprecation warnings that were suppressed are actionable.

The subtasks were initially created on a module by module basis and contain lists of deprecation warnings from that module. The subtasks can be split up, rearranged, etc. as necessary to facilitate better handling of the workload.

The warnings contain information about what deprecated API is used and the file and line number of the use site. However, the warnings were generated a few years ago, so it might be difficult to trace the use site mentioned in each warning in the subtask to current location of that use site. A suggested procedure dealing with this situation is as follows:

1) For each source file listed in the subtask, comment out the @SuppressWarnings("deprecation") annotation.

2) Compile with a command like

        make JAVAC_WARNINGS="-Xlint:all -Xmaxwarns 10000"

and capture the output in a log file. (This exact command might not work. To adjust the javac flags used in the build, look in the file $ROOT/make/common/SetupJavaCompilers.gmk)

3) For each warning issued, assess the deprecated API being warned about, and determine a plan for handling it. In some cases, code should be migrated to use a different API. In other cases, there may be no choice but to leave the warning suppressed.

4) If there are code changes, follow the usual JDK procedure for building, testing, reviewing, etc. and push the changeset using the subtask's issue ID. If there are no code changes (meaning it's proper to suppress the deprecation warnings) then close the subtask as Not an Issue and add a note to document the results of the analysis.
Comments
It is expected that some of the subtasks of this issue will be closed as "will not fix." The subtasks are being filed so that the use of deprecated API elements can be explicitly reviewed by those with area expertise separately from clearing the build of deprecation warnings (JDK-8066616). Owners of the various areas should feel free to combine or split the subtasks here to better logical match units of work.
03-12-2014