XMLWordPrintable

    Details

    • Subcomponent:
    • Compatibility Kind:
      source, binary
    • Compatibility Risk:
      low
    • Compatibility Risk Description:
      Hide
      The compatibility risk is low to minimal. We have not found any usages of this annotation outside of the JDK.

      In the JDK then jdeps has been changed to use modules.xml (JEP 200) as an interim solution. It will change to use the module definitions once the module system is pushed to JDK 9.

      If someone wants to develop a tool that explores or compares the JDK-specific APIs in JDK 8 vs. JDK 9 then it requires the tool to have code that is specific to JDK 8 and code specific to Java SE 9+. The multi-release JAR feature proposed in JEP 238 provides a way to distribute such as tool in a single JAR file.

      If @jdk.Exported is removed in advance of the module system then there may be a few weeks where it's not clear which com.sun.* or jdk.* APIs are exported/supported. This is not a major concern.
      Show
      The compatibility risk is low to minimal. We have not found any usages of this annotation outside of the JDK. In the JDK then jdeps has been changed to use modules.xml (JEP 200) as an interim solution. It will change to use the module definitions once the module system is pushed to JDK 9. If someone wants to develop a tool that explores or compares the JDK-specific APIs in JDK 8 vs. JDK 9 then it requires the tool to have code that is specific to JDK 8 and code specific to Java SE 9+. The multi-release JAR feature proposed in JEP 238 provides a way to distribute such as tool in a single JAR file. If @jdk.Exported is removed in advance of the module system then there may be a few weeks where it's not clear which com.sun.* or jdk.* APIs are exported/supported. This is not a major concern.
    • Interface Kind:
      Java API
    • Scope:
      JDK

      Description

      Summary

      Remove @jdk.Exported.

      Problem

      As proposed in JEP 261:

      "The JDK-specific annotation @jdk.Exported, introduced by JEP 179, will be removed since the information it conveys is now recorded in the exports declarations of module descriptors. We have seen no evidence of this annotation being used by tools outside of the JDK."

      This CCC proposes to remove the annotation and usages in advance of the module system going into JDK 9. We are trying hard to keep the changes for the module system to a minimum and anything that can be pushed to JDK 9 in advance is taking this route.

      Solution

      Remove @jdk.Exported and usages.

      The jigsaw/jake forest has module declarations for each of the JDK-specific modules. These modules clearly export the JDK-specific API packages.

      Specification

      Remove @jdk.Exported and usages.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              alanb Alan Bateman
              Reporter:
              alanb Alan Bateman
              Reviewed By:
              Mandy Chung
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: