A bit of a long shot but does compiling the class by hand (outside gradle)
make any difference?


On Mon, Apr 23, 2018 at 8:05 PM, Schalk Cronjé <ysb...@gmail.com> wrote:

> Hi all,
>
> I have build an hierarchy that effectively looks like:
>
> Abstract Base #1 (Java)
>             ^
>             |
> Abstract Base #2 (Groovy, CompileStatic)
>             ^
>             |
> Abstract Base #3 (Groovy, CompileStatic)
>             ^
>             |
> Abstract Base #4 (Groovy, CompileStatic) <- Implements methodA from
> Abstract Base #1
>     ^                ^                 ^
>     |                |                 |
> ExampleG (Groovy)    ExampleJ (Java)   ExampleK (Kotlin)
>
> Finally there are three examples - one each in  Groovy, Java and otlin
> example. They extend #4 with concrete classes. The Groovy and Kotlin
> examples compile fine, but the Java complains that methodA is not
> implemented. The real signature of methodA is actually
>
> SeekableByteChannel newByteChannel(Path path, Set<? extends OpenOption>
> options, FileAttribute<?>[] attrs) throws IOException
>
> This could be down to what the Groovy compiler (2.4.11) has done with the
> generics, but it has me me confused. I am even more surprised that only the
> Java compiler complains and not the Kotlin compiler.  In IntelliJ this is
> not flagged up as an issue either. It only occurs when compiling the
> project with Gradle.
>
> I know my example is slightly vague, but it removes all of the noise. The
> actual code of the offending class is here ->
> https://gitlab.com/ysb33rOrg/java-nio2-providers/blob/
> development/commons-compress-provider-core/src/test/java/
> org/ysb33r/nio/provider/commons_core/examples/java/
> GzFileSystemProvider.java
>
> Now I'm hoping if anyone has seen issues like this before or have an idea
> where I can start diagnosing it.
>
> --
> Schalk W. Cronjé
> Twitter / Ello / Toeter : @ysb33r
>
>

Reply via email to