Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8196479

jdeprscan test TestRelease.java is broken by JDK 11 changes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P3 P3
    • 11
    • 11
    • tools
    • None

      Changes to the set of public classes in the JDK seems to break the TestRelease.java test:

      {open/test/langtools} / tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java

      If a public class is added to the JDK, say java.util.HitMe:

      ==========
      package java.util;

      /**
       * Hit me with your rhythm stick
       */
      public class HitMe {
         HitMe hitMeSlowlyHitMeQuick;
      }
      ==========

      Then TestRelease.java will fail with messages like the following:

      ==========
      STDERR:
      Usage: jdeprscan [options] {dir|jar|class} ...

      options:
              --class-path PATH
              --for-removal
              --full-version
        -? -h --help
        -l --list
              --release 6|7|8|9|10
        -v --verbose
              --version
      warning: unknown enum constant javax.jws.soap.SOAPBinding.Use.LITERAL
      warning: unknown enum constant javax.annotation.Resource.AuthenticationType.CONTAINER
      warning: unknown enum constant javax.jws.soap.SOAPBinding.Use.LITERAL
      warning: unknown enum constant javax.annotation.Resource.AuthenticationType.CONTAINER
      warning: unknown enum constant javax.jws.soap.SOAPBinding.Use.LITERAL
      warning: Supported source version 'RELEASE_10' from annotation processor 'com.sun.tools.jdeprscan.TraverseProc' less than -source '11'
      error: Could not find class file for 'java.util.HitMe'.
      java.lang.Exception: failures: 1
      at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:96)
      at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:564)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
      at java.base/java.lang.Thread.run(Thread.java:844)
      ==========

      This probably has something to do with versioning updating and modifications to the compiler's symbol files.

            smarks Stuart Marks
            smarks Stuart Marks
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: