Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-6420

Update forbiddenapis to 1.8


    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 5.2, 6.0
    • general/build
    • None
    • New


      Update forbidden-apis plugin to 1.8:

      • Initial support for Java 9 including JIGSAW
      • Errors are now reported sorted by line numbers and correctly grouped (synthetic methods/lambdas)
      • Package-level forbids: Deny all classes from a package: org.hatedpkg.** (also other globs work)
      • In addition to file-level excludes, forbiddenapis now supports fine granular excludes using Java annotations. You can use the one shipped, but define your own, e.g. inside Lucene and pass its name to forbidden (e.g. using a glob: **.SuppressForbidden would any annotation in any package to suppress errors). Annotation need to be on class level, no runtime annotation required.

      This will for now only update the dependency and remove the additional forbid by shalinmangar for MessageFormat (which is now shipped with forbidden). But we should review and for example suppress forbidden failures in command line tools using @SuppressForbidden (or similar annotation). The discussion is open, I can make a patch.


        1. LUCENE-6420.patch
          2 kB
          Uwe Schindler
        2. LUCENE-6420-anno.patch
          82 kB
          Uwe Schindler
        3. LUCENE-6420-anno.patch
          80 kB
          Uwe Schindler
        4. LUCENE-6420-anno.patch
          74 kB
          Uwe Schindler
        5. LUCENE-6420-anno.patch
          75 kB
          Uwe Schindler



            uschindler Uwe Schindler
            uschindler Uwe Schindler
            0 Vote for this issue
            3 Start watching this issue