Since this issue will affect all Scala users for the foreseeable future, I'll cut a new release without JSR 305 annotations.

On 12/16/2014 19:17, Elliot Huntington wrote:
I understand now. Thank you Robert.

On Tue, Dec 16, 2014 at 10:46 AM, Robert Elliot <r...@lidalia.org.uk
<mailto:r...@lidalia.org.uk>> wrote:

    It’s a scalac bug, not an SLF4J bug. See here:
    https://issues.scala-lang.org/browse/SI-5420




    On 16 Dec 2014, at 17:30, Elliot Huntington
    <elliot.hunting...@gmail.com <mailto:elliot.hunting...@gmail.com>>
    wrote:

    Please see the attached sscce and the bundled build.gradle file.
    It contains notes on how to reproduce the problem. It is
    configured by default to produce the problem. If you comment out
    the dependency for slf4j-api version 1.7.8 and add the line for
    the dependency to version 1.7.7, everything works fine.

    Please be sure to run the sscce with the following to make sure
    you're not caching any dependencies:

    $ gradle clean run

    ------ Here is my environment configuration ------

    $ uname -a
    Linux machinename 3.13.0-24-generic #47-Ubuntu SMP Fri May 2
    23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
    (This is Linux Mint 17 with Cinnamon)

    export JAVA_HOME=/home/username/apps/java_home
    export GRADLE_HOME=/home/username/apps/gradle_home
    export SCALA_HOME=/home/username/apps/scala-2.10.3

    $ java -version
    java version "1.7.0_55"
    Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

    $ scala -version
    Scala code runner version 2.10.3 -- Copyright 2002-2013, LAMP/EPFL

    $ gradle --version

    ------------------------------------------------------------
    Gradle 1.12
    ------------------------------------------------------------

    Build time:   2014-04-29 09:24:31 UTC
    Build number: none
    Revision:     a831fa866d46cbee94e61a09af15f9dd95987421

    Groovy:       1.8.6
    Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23
    2013
    Ivy:          2.2.0
    JVM:          1.7.0_55 (Oracle Corporation 24.55-b03)
    OS:           Linux 3.13.0-24-generic amd64



    On Mon, Dec 15, 2014 at 11:55 PM, Robert Elliot
    <r...@lidalia.org.uk <mailto:r...@lidalia.org.uk>> wrote:

        He's writing Scala - the Scala compiler needs all annotation
        classes on the compile time class path, unlike javac which
        doesn't mind them.

        > On 16 Dec 2014, at 06:24, Ceki Gülcü <c...@qos.ch
        <mailto:c...@qos.ch>> wrote:
        >
        >
        > I am assuming it's a build time error (not runtime) and you
        are using gradle. Can you clean gradle cache?
        >
        >> On 12/16/2014 7:22, Ceki Gülcü wrote:
        >> Hi Elliot,
        >>
        >> We added the JSR 305 @Nonnull into ILoggerFactory interface and
        >> LoggerFactory class in version 1.7.8.
        >>
        >> I have just verified that client code builds just fine without
        >> com.google.code.findbugs:jsr305 being present on the class
        path.
        >>
        >> Can you tell use more about your build environment. JDK
        version. Build
        >> tool etc.
        >>
        >> Are you doing a clean build?
        >>
        >> Cheers,
        >>
        >> --
        >> Ceki
        >>
        >>> On 12/15/2014 23:58, Elliot Huntington wrote:
        >>> slf4j-api version 1.7.8 was released to the maven central
        repository on
        >>> 2014-12-14, which was yesterday. Today one of my builds
        that depended on
        >>> slf4j-api with a version range from 1.7.5 -> 1.7.8 started
        to break. I'm
        >>> getting error messages like this:
        >>>
        >>> Class javax.annotation.Nonnull not found - continuing with
        a stub.
        >>> Caught: java.lang.NullPointerException while parsing
        annotations in
        >>>
        
/home/username/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.8/40d4abec9e853fd9f17fb144f1e7c2c5bab52af9/slf4j-api-1.7.8.jar(org/slf4j/LoggerFactory.class)
        >>>
        >>> error while loading LoggerFactory, class file
        >>>
        
'/home/username/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.8/40d4abec9e853fd9f17fb144f1e7c2c5bab52af9/slf4j-api-1.7.8.jar(org/slf4j/LoggerFactory.class)'
        >>>
        >>> is broken
        >>> (class java.lang.RuntimeException/bad constant pool index:
        0 at pos:
        >>> 9496)
        >>>
        
/home/username/projects/1.0.5-gradle/common/src/main/scala/company/product/common/LogHelper.scala:14:
        >>>
        >>> value getLogger is not a member of object
        org.slf4j.LoggerFactory
        >>>   lazy val logger = LoggerFactory.getLogger(this.getClass)
        >>>                                                      ^
        >>>
        >>> Has getLogger purposefully been removed from the slf4j-api
        version 1.7.8
        >>> or is it possible that the artifact uploaded to the maven
        central
        >>> repository is corrupted? This is a breaking change.
        >>>
        >>> After excluding all transitive dependencies to slf4j-api
        from my project
        >>> and explicitly using version 1.7.7, my project builds fine
        again. What
        >>> happened in version 1.7.8 that was released to the maven
        central
        >>> repository yesterday?
        >>>
        >>>
        >>> _______________________________________________
        >>> slf4j-user mailing list
        >>> slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
        >>> http://mailman.qos.ch/mailman/listinfo/slf4j-user
        >> _______________________________________________
        >> slf4j-user mailing list
        >> slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
        >> http://mailman.qos.ch/mailman/listinfo/slf4j-user
        > _______________________________________________
        > slf4j-user mailing list
        > slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
        > http://mailman.qos.ch/mailman/listinfo/slf4j-user
        _______________________________________________
        slf4j-user mailing list
        slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
        http://mailman.qos.ch/mailman/listinfo/slf4j-user

    <sscce.tgz>_______________________________________________
    slf4j-user mailing list
    slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
    http://mailman.qos.ch/mailman/listinfo/slf4j-user


    _______________________________________________
    slf4j-user mailing list
    slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
    http://mailman.qos.ch/mailman/listinfo/slf4j-user



_______________________________________________
slf4j-user mailing list
slf4j-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/slf4j-user

_______________________________________________
slf4j-user mailing list
slf4j-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/slf4j-user

Reply via email to