Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-61768

plugin bundles slf4j-api causing no test output for plugins that depend on it.

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      the  `analysis-model-api` plugin packages slf4j version 1.8 which is incompatable with Jenkins. (org.jvnet.hudson.plugins.findbugs:library:jar:6.0.3)

      However it is packed in a uber jar that you can not exclude.

      io.jenkins.plugins:analysis-model-api:jar:8.0.1:compile (optional)
        - edu.hm.hafner:analysis-model:jar:8.0.1:compile (optional)
         +- se.bjurr.violations:violations-lib:jar:1.110:compile (optional)
         +- org.jvnet.hudson.plugins.findbugs:library:jar:6.0.3:compile (optional)

      this means if you depend on this plugin (via warnings-ng) for example you end up with no output in unit tests because the slf4j provider (jdk14) provided by jenkins is too old and is ignored

      SLF4J: No SLF4J providers were found.
      SLF4J: Defaulting to no-operation (NOP) logger implementation
      SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.
      SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.
      SLF4J: Ignoring binding found at [jar:file:/C:/Users/jnord/.m2/repository/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]
      SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation.
       
      as well as the slf4j provider there are other potential evil things packaged such as xerces (which could overwrite the stock JDK parers) multiple XML APIs jcip annotations (comes from core) commons-lang (again comes from core - but causes a different version to be picked up) 
       

        Attachments

          Activity

          teilo James Nord created issue -
          teilo James Nord made changes -
          Field Original Value New Value
          Description the  `analysis-model-api` plugin packages slf4j version 1.8 which is incompatable with Jenkins.

          However it is packed in a uber jar that you can not exclude.

          {{io.jenkins.plugins:analysis-model-api:jar:8.0.1:compile (optional)}}
          {{  \- edu.hm.hafner:analysis-model:jar:8.0.1:compile (optional)}}
          {{   +- se.bjurr.violations:violations-lib:jar:1.110:compile (optional)}}
          {{   +- org.jvnet.hudson.plugins.findbugs:library:jar:6.0.3:compile (optional)}}


          this means if you depend on this plugin (via warnings-ng) for example you end up with no output in unit tests because the slf4j provider (jdk14) provided by jenkins is too old and is ignored


          {{SLF4J: No SLF4J providers were found.}}
          {{SLF4J: Defaulting to no-operation (NOP) logger implementation}}
          {{SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.}}
          {{SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.}}
          {{SLF4J: Ignoring binding found at [jar:file:/C:/Users/jnord/.m2/repository/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]}}
          {{SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation.}}
           
          as well as the slf4j provider there are other potential evil things packaged such as xerces (which could overwrite the stock JDK parers) multiple XML APIs jcip annotations (comes from core) commons-lang (again comes from core - but causes a different version to be picked up) 
           
          the  `analysis-model-api` plugin packages slf4j version 1.8 which is incompatable with Jenkins. (org.jvnet.hudson.plugins.findbugs:library:jar:6.0.3)

          However it is packed in a uber jar that you can not exclude.

          {{io.jenkins.plugins:analysis-model-api:jar:8.0.1:compile (optional)}}
           {{  - edu.hm.hafner:analysis-model:jar:8.0.1:compile (optional)}}
           {{   +- se.bjurr.violations:violations-lib:jar:1.110:compile (optional)}}
           {{   +- org.jvnet.hudson.plugins.findbugs:library:jar:6.0.3:compile (optional)}}

          this means if you depend on this plugin (via warnings-ng) for example you end up with no output in unit tests because the slf4j provider (jdk14) provided by jenkins is too old and is ignored

          {{SLF4J: No SLF4J providers were found.}}
           {{SLF4J: Defaulting to no-operation (NOP) logger implementation}}
           {{SLF4J: See [http://www.slf4j.org/codes.html#noProviders] for further details.}}
           {{SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.}}
           {{SLF4J: Ignoring binding found at [jar:file:/C:/Users/jnord/.m2/repository/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]}}
           {{SLF4J: See [http://www.slf4j.org/codes.html#ignoredBindings] for an explanation.}}
            
           as well as the slf4j provider there are other potential evil things packaged such as xerces (which could overwrite the stock JDK parers) multiple XML APIs jcip annotations (comes from core) commons-lang (again comes from core - but causes a different version to be picked up) 
            
          drulli Ulli Hafner made changes -
          Component/s analysis-model [ 23523 ]
          Component/s analysis-model-api-plugin [ 24221 ]
          URL https://github.com/jenkinsci/analysis-model/pull/336
          drulli Ulli Hafner made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Fixed but Unreleased [ 10203 ]
          drulli Ulli Hafner made changes -
          Status Fixed but Unreleased [ 10203 ] Resolved [ 5 ]

            People

            Assignee:
            drulli Ulli Hafner
            Reporter:
            teilo James Nord
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: