I could confirm it is definitely the bridge method injector which is
causing the issue.

In Queue.Item, there is the following getter annotated

@WithBridgeMethods(Future.class)
public QueueTaskFuture<Executable> getFuture() { return future; }

Removing the annotation then recompiling core fixes the issue for this
class.

Also, depending on a jenkins-core that is in the workspace workarounds the
issue (because then the bridge method injector isn't called by JDT)

Given the fix you mentioned in 1.9, I doubt it will change anything.

Vincent


2013/11/16 Christoph Kutzinski <[email protected]>

> Makes sense.
> Maybe we're missing this bug fix which comes with bridge-method-annotation
> 1.9
>
> https://github.com/infradna/bridge-method-injector/commit/
> ea528faf1f92724cc5db036116bae80a234de20d
>
> Am 16.11.2013 10:09, schrieb Vincent Latombe:
>
>> Problem appeared in core 1.520. Looking at the changes that happened for
>> this release,
>> I see an update of com.infradna.tool:bridge-method-annotation from 1.4
>> to 1.8
>>
>> Maybe this is generating some bytecode that is not understood correctly
>> by the JDT, so it fails to index the corresponding class.
>>
>> Vincent
>>
>>
>> 2013/11/16 Vincent Latombe <[email protected]
>> <mailto:[email protected]>>
>>
>>
>>     Hi,
>>
>>     I have exactly the same issue. Compiling in command line works,
>>     however in Eclipse, some inner classes cannot be resolved (despite
>>     being able to browse them in the classpath of the eclipse project).
>>
>>     Eclipse is unable to resolve these 3 classes :
>>     - hudson.model.AbstractProject.AbstractProjectDescriptor
>>     - hudson.model.Queue.Task
>>     - hudson.model.Queue.Item
>>
>>     I'm trying to isolate the problem, so far I found it depends on the
>>     core version, and the problem appeared between 1.517 and 1.524.
>>
>>     Vincent
>>
>>     Vincent
>>
>>
>>     2013/11/16 Christoph Kutzinski <[email protected] <mailto:[email protected]>>
>>
>>
>>         No Maven Problems, only Java problems:
>>
>>
>>         Description    Resource    Path    Location    Type
>>         Cannot make a static reference to the non-static method save()
>>         from the type
>>         AbstractProject<MavenModuleSet,MavenModuleSetBuild>
>>         MavenModuleSet.java    /maven-plugin/src/main/java/hudson/maven
>>         line 1320    Java Problem
>>         AbstractProjectDescriptor cannot be resolved to a type
>>         MavenModuleSet.java    /maven-plugin/src/main/java/hudson/maven
>>         line 1259    Java Problem
>>         Cannot make a static reference to the non-static method save()
>>         from the type
>>         AbstractProject<MavenModuleSet,MavenModuleSetBuild>
>>         MavenModuleSet.java    /maven-plugin/src/main/java/hudson/maven
>>         line 1278    Java Problem
>>         The method alignToBaseDirectory(File) of type new
>>         ExpressionEvaluator(){} must override a superclass method
>>         MojoInfoBuilder.java /maven-plugin/src/test/java/hudson/maven
>>         line 81    Java Problem
>>         Cannot make a static reference to the non-static method save()
>>         from the type
>>         AbstractProject<MavenModuleSet,MavenModuleSetBuild>
>>         MavenModuleSet.java    /maven-plugin/src/main/java/hudson/maven
>>         line 1290    Java Problem
>>         Bound mismatch: The generic method getDescriptorByType(Class<T>)
>>         of type Jenkins is not applicable for the arguments
>>         (Class<MavenModuleSet.DescriptorImpl>). The inferred type
>>         MavenModuleSet.DescriptorImpl is not a valid substitute for the
>>         bounded parameter <T extends Descriptor> MavenOptsTest.java
>>         /maven-plugin/src/test/java/hudson/maven line 20    Java Problem
>>         The method annotate(ConsoleNote) of type
>>         SurefireArchiverUnitTest.NullBuildListener must override a
>>         superclass method    SurefireArchiverUnitTest.java
>>         /maven-plugin/src/test/java/hudson/maven/reporters    line 303
>>         Java Problem
>>         The method apply(String) of type new Function<String,File>(){}
>>         must override a superclass method    TestMojo.java
>>         /maven-plugin/src/main/java/hudson/maven/reporters    line 165
>>         Java Problem
>>         Queue.Item cannot be resolved to a type    MavenModuleSet.java
>>         /maven-plugin/src/main/java/hudson/maven    line 1104    Java
>>         Problem
>>         Queue.Item cannot be resolved to a type    MavenModuleSet.java
>>         /maven-plugin/src/main/java/hudson/maven    line 1108    Java
>>         Problem
>>         Queue.Item cannot be resolved to a type    MavenModuleSet.java
>>         /maven-plugin/src/main/java/hudson/maven    line 1097    Java
>>         Problem
>>         Cannot cast from Descriptor to MavenModuleSet.DescriptorImpl
>>         MavenModuleSet.java    /maven-plugin/src/main/java/hudson/maven
>>         line 1219    Java Problem
>>         The method apply(File) of type new Predicate<File>(){} must
>>         override a superclass method    SurefireArchiver.java
>>         /maven-plugin/src/main/java/hudson/maven/reporters    line 140
>>         Java Problem
>>         AbstractProjectDescriptor cannot be resolved to a type
>>         MavenModuleSet.java    /maven-plugin/src/main/java/hudson/maven
>>         line 1230    Java Problem
>>         The method apply(File) of type new Predicate<File>(){} must
>>         override a superclass method    SurefireArchiver.java
>>         /maven-plugin/src/main/java/hudson/maven/reporters    line 268
>>         Java Problem
>>         Queue.Item cannot be resolved to a type    MavenModuleSet.java
>>         /maven-plugin/src/main/java/hudson/maven    line 1109    Java
>>         Problem
>>         Queue.Item cannot be resolved to a type    MavenModuleSet.java
>>         /maven-plugin/src/main/java/hudson/maven    line 1109    Java
>>         Problem
>>         The method apply(String) of type new Function<String,File>(){}
>>         must override a superclass method    SurefireArchiver.java
>>         /maven-plugin/src/main/java/hudson/maven/reporters    line 282
>>         Java Problem
>>         Queue.Item cannot be resolved to a type    MavenModuleSet.java
>>         /maven-plugin/src/main/java/hudson/maven    line 1110    Java
>>         Problem
>>
>>         ...
>>
>>
>>         Am 15.11.2013 22:15, schrieb Marcelo:
>>
>>>         Kutzi, in the category "Maven Problems" of the view "Markers"
>>>         inside eclipse, you see any error?
>>>
>>>
>>>         On Fri, Nov 15, 2013 at 5:55 PM, Baptiste Mathus
>>>         <[email protected] <mailto:[email protected]>> wrote:
>>>
>>>             Hi, First thing I would ask is: does it build on the CLI
>>>             outside Eclipse? That'll be a first step to see if this is
>>>             likely a Maven issue or more an Eclipse or even a jenkins
>>>             code one.
>>>             My 2 cents
>>>
>>>
>>>             2013/11/15 Christoph Kutzinski <[email protected]
>>>             <mailto:[email protected]>>
>>>
>>>
>>>                 Hi,
>>>
>>>                 I had several problems with building
>>>                 Jenkins/maven-plugin in the past, but the errors I'm
>>>                 getting now are especial nasty:
>>>                 Eclipse e.g. complains that it cannot find
>>>                 hudson.model.Queue.Item (in MavenModuleSet) and
>>>                 several other compile errors.
>>>                 I checked the the Jenkins core jar is intact (building
>>>                 with mvn works) and no amount of refreshing in Eclipse
>>>                 and the usual other tricks to get it working again got
>>>                 me anywhere.
>>>
>>>                 Did anyone have similar problems and maybe a solution?
>>>                 Eclipse Kepler 4.3.1, M2e 1.4.0
>>>
>>>                 -
>>>                 Kutzi
>>>
>>>                 --
>>>                 You received this message because you are subscribed
>>>                 to the Google Groups "Jenkins Developers" group.
>>>                 To unsubscribe from this group and stop receiving
>>>                 emails from it, send an email to
>>>                 [email protected]
>>>                 <mailto:jenkinsci-dev%[email protected]>.
>>>
>>>                 For more options, visit
>>>                 https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>>
>>>             --
>>>             Baptiste <Batmat> MATHUS - http://batmat.net
>>>             Sauvez un arbre,
>>>             Mangez un castor !
>>>             --
>>>             You received this message because you are subscribed to
>>>             the Google Groups "Jenkins Developers" group.
>>>             To unsubscribe from this group and stop receiving emails
>>>             from it, send an email to
>>>             [email protected]
>>>             <mailto:jenkinsci-dev%[email protected]>.
>>>
>>>             For more options, visit
>>>             https://groups.google.com/groups/opt_out.
>>>
>>>
>>>         --
>>>         You received this message because you are subscribed to the
>>>         Google Groups "Jenkins Developers" group.
>>>         To unsubscribe from this group and stop receiving emails from
>>>         it, send an email to
>>>         [email protected]
>>>         <mailto:[email protected]>.
>>>
>>>         For more options, visit https://groups.google.com/groups/opt_out
>>> .
>>>
>>
>>         --
>>         You received this message because you are subscribed to the
>>         Google Groups "Jenkins Developers" group.
>>         To unsubscribe from this group and stop receiving emails from
>>         it, send an email to [email protected]
>>         <mailto:jenkinsci-dev%[email protected]>.
>>
>>         For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Jenkins Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send
>> an email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to