Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Java 11 #686

Closed
eric-milles opened this issue Aug 18, 2018 · 17 comments
Closed

Add support for Java 11 #686

eric-milles opened this issue Aug 18, 2018 · 17 comments
Assignees
Milestone

Comments

@eric-milles
Copy link
Member

No description provided.

@eric-milles
Copy link
Member Author

java11

@eric-milles
Copy link
Member Author

eric-milles commented Oct 11, 2018

@jonnermut It is possible to set up the IDE with Java 11 and Groovy, but the provisioning process is a bit involved. There was a misalignment between the new Java release schedule and the new Eclipse release schedule. Since Eclipse did not get Java 11 support into 4.9 and did not release a 4.9a, there is no easy way to apply the Groovy patch. Eclipse 4.10 (2018-12) will have Java 11 support baked in and so the Groovy patch will work normally.

Until then, the code is available on the java11 branch in case you want to have a look at it our build it.

@jonnermut
Copy link

Thanks @eric-milles , yeah I'm using the Java 11 support out of the Eclipse marketplace, (which is a one click install) as I'm migrating my project from 8->11, and at the moment there is no way to have that installed at the same time as Groovy-eclipse - installing one demands you to uninstall the other.
So we won't be able to have both together until 2018-12 without building this branch ourselves? Is that feasible or don't bother?

@eric-milles
Copy link
Member Author

To run the IDE from your workstation, you'd need to setup Eclipse PDE. In your PDE workspace you'd build Groovy-Eclipse and its target platform would be your current IDE. Then you'd run your current IDE from within your PDE workspace. This would allow you to overlay the Groovy-Eclipse plug-ins onto your Java 11 patched IDE. This can be time consuming to setup for the first time.

I will be adding 4.10 to the java11 branch today or tomorrow. And as soon as 3.1.0 release is completed (should start building today), a build plan will be added for Eclipse 4.10 and the java11 branch will be merged to master.

@eric-milles
Copy link
Member Author

eric-milles commented Oct 16, 2018

Eclipse 4.10 M1 has been patched on the java11 branch. At the moment, the update site http://download.eclipse.org/releases/2018-12 is not populated. So, I was unable to get the Maven build working just yet. If the site gets filled, you should be able to build Groovy-Eclipse with mvn -Pe4.10 clean package and the update site archive should be found in: ./Site-org.codehaus.groovy.eclipse/target/

Otherwise, you can export the feature org.codehaus.groovy.eclipse.feature to your Eclipse 4.10 IDE's dropins directory.

@jonnermut
Copy link

Great, thanks a lot, I will give it a try.
Can I substitute http://download.eclipse.org/eclipse/updates/4.10milestones/ or http://download.eclipse.org/eclipse/updates/4.10milestones/S-4.10M1-201810101800/
as the update site somewhere?

@eric-milles
Copy link
Member Author

Those sites are already provided. They supply the newly updated plug-ins. However any stuff that is unchanged from the 2018-09 release is not yet available.

		<profile>
			<id>e4.10</id>
			<repositories>
				<repository>
					<id>2018-12</id>
					<layout>p2</layout>
					<url>http://download.eclipse.org/releases/2018-12</url>
				</repository>
				<repository>
					<id>eclipse</id>
					<layout>p2</layout>
					<url>http://download.eclipse.org/eclipse/updates/4.10milestones</url>
				</repository>
			</repositories>
			<modules>
				<module>jdt-patch/e410/org.eclipse.jdt.core</module>
				<module>jdt-patch/e410/org.eclipse.jdt.core.tests.builder</module>
				<module>jdt-patch/e410/org.eclipse.jdt.core.tests.compiler</module>
				<module>jdt-patch/e410/Feature-org.codehaus.groovy.jdt.patch</module>
			</modules>
			<properties>
				<dist.target>e4.10</dist.target>
				<greclipse.build.qualifier>'xx-'yyyyMMddHHmm'-e2018-12${dist.qualifier}'</greclipse.build.qualifier>
			</properties>
		</profile>

@jonnermut
Copy link

jonnermut commented Oct 18, 2018

I can't make head nor tail of how to build (or even import the project) in the PDE.
With a PDE package I couldnt get the repo to import or build.
Trying to use the Oomph installer instructions (I think I followed them exactly) failed with (it only works if I select Oxygen as the platform)

Cannot complete the request.  Generating details.
ERROR: org.eclipse.equinox.p2.director code=10054 Cannot complete the install because of a conflicting dependency.
  at org.eclipse.oomph.util.OomphPlugin.coreException(OomphPlugin.java:280)
  at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.resolve(ProfileTransactionImpl.java:425)
  at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.commit(ProfileTransactionImpl.java:337)
  at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.perform(P2TaskImpl.java:733)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3334)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:3262)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:3243)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:3143)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:575)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:701)
  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
  ERROR: org.eclipse.equinox.p2.director code=0 Software being installed: artificial_root 1.0.0.v1539901277792
  ERROR: org.eclipse.equinox.p2.director code=1 Only one of the following can be installed at once: 
    ERROR: org.eclipse.equinox.p2.director code=0 Java Development Tools Core 3.15.0.v20180905-0317 (org.eclipse.jdt.core 3.15.0.v20180905-0317)
    ERROR: org.eclipse.equinox.p2.director code=0 Java Development Tools Core 3.13.102.xx-201810172224-e47 (org.eclipse.jdt.core 3.13.102.xx-201810172224-e47)
    ERROR: org.eclipse.equinox.p2.director code=0 Object Teams Development Tooling Core 3.15.0.OTDT_r271_201809081701 (org.eclipse.jdt.core 3.15.0.OTDT_r271_201809081701)
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1539901277792
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.m2eclipse.feature.feature.group 0.0.0
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1539901277792
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.jdt.feature.group 0.0.0
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Groovy-Eclipse Compilerless feature 3.1.0.xx-201810172224-e47 (org.codehaus.groovy.compilerless.feature.feature.group 3.1.0.xx-201810172224-e47)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.headless.feature.feature.group [3.1.0.xx-201810172224-e47,3.1.0.xx-201810172224-e47]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Eclipse Groovy Development Tools 3.1.0.xx-201810172224-e47 (org.codehaus.groovy.eclipse.feature.feature.group 3.1.0.xx-201810172224-e47)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.compilerless.feature.feature.group [3.1.0.xx-201810172224-e47,3.1.0.xx-201810172224-e47]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Groovy-Eclipse Headless feature 3.1.0.xx-201810172224-e47 (org.codehaus.groovy.headless.feature.feature.group 3.1.0.xx-201810172224-e47)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.jdt.patch.feature.group [3.1.0.xx-201810172224-e47,3.1.0.xx-201810172224-e47]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Groovy-Eclipse M2E integration 3.1.0.xx-201810172224-e47 (org.codehaus.groovy.m2eclipse.feature.feature.group 3.1.0.xx-201810172224-e47)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.eclipse.feature.feature.group 3.1.0
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: JDI Debug UI 3.10.0.v20180827-1040 (org.eclipse.jdt.debug.ui 3.10.0.v20180827-1040)
    ERROR: org.eclipse.equinox.p2.director code=0 To: osgi.bundle; org.eclipse.jdt.core [3.14.0,4.0.0)
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Eclipse Java Development Tools 3.15.0.v20180906-0745 (org.eclipse.jdt.feature.group 3.15.0.v20180906-0745)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.jdt.debug.ui [3.10.0.v20180827-1040,3.10.0.v20180827-1040]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From Patch: org.codehaus.groovy.jdt.patch.feature.group 3.1.0.xx-201810172224-e47 Eclipse Java Development Tools 3.15.0.v20180906-0745 (org.eclipse.jdt.feature.group 3.15.0.v20180906-0745)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.jdt.core [3.13.102.xx-201810172224-e47,3.13.102.xx-201810172224-e47]

Took 8 seconds.
There are failed tasks.
Press Back to choose different settings or Cancel to abort.

I tried to put the repository back to 2018-09 for the maven pom, but that failed with a compile problem.

I guess I will have to wait for that repo to be filled.

But if anyone is able to build the groovy update site for 2018-12 M1 and dump it somewhere I would be very grateful - I have a huge java 11 upgrade branch ready to merge for my project that is waiting for proper IDE support - which in our case depends on having both the Eclipse Java 11 support and the groovy plugin cohabiting.

@eric-milles
Copy link
Member Author

I was able to figure out why the Maven build was failing. Intel x86 32-bit architecture support has been dropped. I updated the POM to follow suit.

Build plan was created: https://build.spring.io/browse/GRECLIPSE-E410
Update site was published: http://dist.springsource.org/snapshot/GRECLIPSE/e4.10

@jonnermut
Copy link

Thanks Eric. I came back to this and was able to install from that update site on an updated eclipse.
But... I have a lot of brokeness trying to actually use my geb tests (which is why I need the eclipse integration).
Opening some but not all my files gives:

image

The full exception is

java.lang.RuntimeException: Failed to initialize members for type geb.Page
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initializeMembers(JDTClassNode.java:302)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initialize(JDTClassNode.java:198)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.lazyClassInit(JDTClassNode.java:165)
	at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1149)
	at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1138)
	at org.codehaus.groovy.ast.ClassNode.getSuperClass(ClassNode.java:1132)
	at org.codehaus.groovy.ast.ClassNode.isDerivedFrom(ClassNode.java:1070)
	at org.codehaus.groovy.ast.ClassNode.isScript(ClassNode.java:1300)
	at org.eclipse.jdt.groovy.core.util.DepthFirstVisitor.visitModule(DepthFirstVisitor.java:131)
	at org.codehaus.groovy.eclipse.editor.GroovyAwareFoldingStructureProvider.computeClosureFoldingStructure(GroovyAwareFoldingStructureProvider.java:113)
	at org.codehaus.groovy.eclipse.editor.GroovyAwareFoldingStructureProvider.computeFoldingStructure(GroovyAwareFoldingStructureProvider.java:76)
	at org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider.computeFoldingStructure(DefaultJavaFoldingStructureProvider.java:992)
	at org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider.computeFoldingStructure(DefaultJavaFoldingStructureProvider.java:983)
	at org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider.update(DefaultJavaFoldingStructureProvider.java:900)
	at org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider.initialize(DefaultJavaFoldingStructureProvider.java:845)
	at org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider.handleProjectionEnabled(DefaultJavaFoldingStructureProvider.java:815)
	at org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider$ProjectionListener.projectionEnabled(DefaultJavaFoldingStructureProvider.java:693)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.fireProjectionEnabled(ProjectionViewer.java:475)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.enableProjection(ProjectionViewer.java:523)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.setVisibleDocument(JavaSourceViewer.java:688)
	at org.eclipse.jface.text.TextViewer.setDocument(TextViewer.java:2780)
	at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:663)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.setDocument(ProjectionViewer.java:368)
	at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:613)
	at org.eclipse.ui.texteditor.AbstractTextEditor.initializeSourceViewer(AbstractTextEditor.java:3970)
	at org.eclipse.ui.texteditor.AbstractTextEditor.createPartControl(AbstractTextEditor.java:3440)
	at org.eclipse.ui.texteditor.StatusTextEditor.createPartControl(StatusTextEditor.java:64)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createPartControl(AbstractDecoratedTextEditor.java:451)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.createPartControl(JavaEditor.java:3121)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.createPartControl(CompilationUnitEditor.java:1533)
	at org.codehaus.groovy.eclipse.editor.GroovyEditor.createPartControl(GroovyEditor.java:787)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:156)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:102)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:367)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1001)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:966)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:411)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:333)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:193)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:108)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:77)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:59)
	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:1015)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:675)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:781)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:752)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:746)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:730)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1296)
	at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.lambda$0(LazyStackRenderer.java:75)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:147)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4905)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:215)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:204)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:199)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:233)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:138)
	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:81)
	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:42)
	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
	at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:177)
	at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:637)
	at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:601)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:791)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:404)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1241)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3298)
	at org.eclipse.ui.internal.WorkbenchPage.lambda$9(WorkbenchPage.java:3197)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3194)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3158)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3148)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:376)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:182)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:287)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:252)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:252)
	at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(OpenAndExpand.java:53)
	at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:219)
	at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183)
	at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:49)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:853)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:47)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:176)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:850)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1165)
	at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:454)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:276)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:271)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:311)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4292)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4116)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3733)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:628)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
Caused by: java.lang.IllegalStateException: Failed to resolve method node for geb.Page.$
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.methodBindingToMethodNode(JDTClassNode.java:345)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initializeMembers(JDTClassNode.java:243)
	... 135 more
Caused by: java.lang.IllegalStateException: nyi class org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.toRawType(JDTClassNodeBuilder.java:166)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeParameter(JDTClassNode.java:374)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeParameters(JDTClassNode.java:363)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.methodBindingToMethodNode(JDTClassNode.java:318)
	... 136 more

And there is a groovy compile error in the error log:

BUG! exception in phase 'semantic analysis' in source unit '/git/refactor/Server/src/test/groovy/geb/AdminHomeTest.groovy' Failed to initialize members for type geb.Page
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:999)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:660)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:609)
	at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.processToPhase(GroovyCompilationUnitDeclaration.java:211)
	at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.resolve(GroovyCompilationUnitDeclaration.java:605)
	at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:1071)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:290)
	at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.buildStructure(GroovyCompilationUnit.java:312)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:268)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:602)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:325)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:311)
	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:266)
	at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getChildren(StandardJavaElementContentProvider.java:199)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getChildren(PackageExplorerContentProvider.java:314)
	at org.eclipse.jdt.internal.ui.navigator.JavaNavigatorContentProvider.getChildren(JavaNavigatorContentProvider.java:183)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:98)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:244)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:96)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:160)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:146)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:132)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1415)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:350)
	at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:903)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:621)
	at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2663)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1953)
	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:677)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1959)
	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:677)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1959)
	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:677)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1959)
	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:677)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1929)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1886)
	at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:532)
	at org.eclipse.jface.viewers.StructuredViewer.lambda$3(StructuredViewer.java:1533)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1449)
	at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:363)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1410)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1533)
	at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:538)
	at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:349)
	at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:495)
	at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.lambda$2(ResourceExtensionContentProvider.java:305)
	at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.runUpdates(ResourceExtensionContentProvider.java:314)
	at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.lambda$0(ResourceExtensionContentProvider.java:142)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4068)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3735)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:628)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
Caused by: java.lang.RuntimeException: Failed to initialize members for type geb.Page
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initializeMembers(JDTClassNode.java:302)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initialize(JDTClassNode.java:198)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.lazyClassInit(JDTClassNode.java:165)
	at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1149)
	at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1138)
	at org.codehaus.groovy.control.ResolveVisitor.checkCyclicInheritance(ResolveVisitor.java:1624)
	at org.codehaus.groovy.control.ResolveVisitor.checkCyclicInheritance(ResolveVisitor.java:1624)
	at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1573)
	at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:238)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTResolver.startResolving(JDTResolver.java:190)
	at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:720)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:990)
	... 74 more
Caused by: java.lang.IllegalStateException: Failed to resolve method node for geb.Page.$
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.methodBindingToMethodNode(JDTClassNode.java:345)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initializeMembers(JDTClassNode.java:243)
	... 85 more
Caused by: java.lang.IllegalStateException: nyi class org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.toRawType(JDTClassNodeBuilder.java:166)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeParameter(JDTClassNode.java:374)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeParameters(JDTClassNode.java:363)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.methodBindingToMethodNode(JDTClassNode.java:318)
	... 86 more
eclipse.buildId=4.9.0.I20180906-0745
java.version=1.8.0_181
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_AU
Framework arguments:  -product org.eclipse.epp.package.java.product  -Declipse.refreshBundles=true -Dosgi.clean=true -product org.eclipse.epp.package.java.product -keyring /Users/jon/.eclipse_keyring
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product  -Declipse.refreshBundles=true -Dosgi.clean=true -product org.eclipse.epp.package.java.product -keyring /Users/jon/.eclipse_keyring

I tried changing the groovy compiler from 2.4,2.5 & 2.6 but no difference.

I also note that some of the files show the editor, but have spurious classpath errors (these imports are in the classpath, and work fine under 4.9 & Java 8):

image
I am using the import gradle project option to manage the classpath.
The other thing is if I right click on the entire source folder and say Run as JUnit, only a small subset of the tests are picked up.

Unfortunately the project is way too complex and proprietary to share.

@jonnermut
Copy link

This was another stack with a slightly different bottom bit:

Groovy-Eclipse Type Inferencing: Error visiting method ensureServerFunctionEnabled in class BaseGebTest
java.lang.RuntimeException: Failed to initialize members for type geb.Page
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initializeMembers(JDTClassNode.java:302)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initialize(JDTClassNode.java:198)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.lazyClassInit(JDTClassNode.java:165)
	at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1136)
	at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1126)
	at org.codehaus.groovy.ast.ClassNode.getSuperClass(ClassNode.java:1120)
	at org.codehaus.groovy.ast.ClassNode.isDerivedFrom(ClassNode.java:1058)
	at org.codehaus.groovy.ast.ClassNode.isScript(ClassNode.java:1286)
	at org.codehaus.groovy.eclipse.core.search.FindAllReferencesRequestor.acceptASTNode(FindAllReferencesRequestor.java:76)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.notifyRequestor(TypeInferencingVisitorWithRequestor.java:2408)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitClassReference(TypeInferencingVisitorWithRequestor.java:592)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitClassExpression(TypeInferencingVisitorWithRequestor.java:871)
	at org.codehaus.groovy.ast.expr.ClassExpression.visit(ClassExpression.java:38)
	at org.codehaus.groovy.ast.CodeVisitorSupport.visitListOfExpressions(CodeVisitorSupport.java:327)
	at org.codehaus.groovy.ast.CodeVisitorSupport.visitTupleExpression(CodeVisitorSupport.java:231)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitTupleExpression(TypeInferencingVisitorWithRequestor.java:1675)
	at org.codehaus.groovy.ast.CodeVisitorSupport.visitArgumentlistExpression(CodeVisitorSupport.java:338)
	at org.codehaus.groovy.ast.expr.ArgumentListExpression.visit(ArgumentListExpression.java:76)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitMethodCallExpression(TypeInferencingVisitorWithRequestor.java:1397)
	at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:70)
	at org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:266)
	at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42)
	at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:236)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitBlockStatement(TypeInferencingVisitorWithRequestor.java:823)
	at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:145)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitConstructorOrMethod(TypeInferencingVisitorWithRequestor.java:1058)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitMethodInternal(TypeInferencingVisitorWithRequestor.java:622)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitJDT(TypeInferencingVisitorWithRequestor.java:460)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitJDT(TypeInferencingVisitorWithRequestor.java:351)
	at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitCompilationUnit(TypeInferencingVisitorWithRequestor.java:257)
	at org.codehaus.groovy.eclipse.search.GroovyOccurrencesFinder.internalFindOccurences(GroovyOccurrencesFinder.java:141)
	at org.codehaus.groovy.eclipse.search.GroovyOccurrencesFinder.getOccurrences(GroovyOccurrencesFinder.java:86)
	at org.codehaus.groovy.eclipse.search.GroovyOccurrencesFinder.findOccurrences(GroovyOccurrencesFinder.java:197)
	at org.codehaus.groovy.eclipse.editor.GroovyEditor.updateOccurrenceAnnotations(GroovyEditor.java:1309)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor$6.selectionChanged(JavaEditor.java:3395)
	at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:185)
	at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:161)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.IllegalStateException: Failed to resolve method node for geb.Page.$
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.methodBindingToMethodNode(JDTClassNode.java:345)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.initializeMembers(JDTClassNode.java:243)
	... 40 more
Caused by: java.lang.IllegalStateException: 'type' was null or an unhandled type: org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.configureType(JDTClassNodeBuilder.java:86)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTResolver.createJDTClassNode(JDTResolver.java:485)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTResolver.convertToClassNode(JDTResolver.java:454)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.configureGenericArray(JDTClassNodeBuilder.java:174)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNodeBuilder.configureType(JDTClassNodeBuilder.java:78)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTResolver.createJDTClassNode(JDTResolver.java:485)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTResolver.convertToClassNode(JDTResolver.java:454)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeClassNode(JDTClassNode.java:384)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeParameter(JDTClassNode.java:376)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.makeParameters(JDTClassNode.java:363)
	at org.codehaus.jdt.groovy.internal.compiler.ast.JDTClassNode.methodBindingToMethodNode(JDTClassNode.java:318)
	... 41 more

@eric-milles
Copy link
Member Author

For best results, you will need to run Eclipse with Java 11 as well. Until the modulepath is supported, there is a workaround to use the classloader of your running VM and this may result in conflicts if there are large differences between JRE types.

@eric-milles
Copy link
Member Author

Could you attach a small sample project so I can see what is going on under the covers?

@jonnermut
Copy link

Running eclipse with Java 11 was identical except I got some extra glitchiness in eclipse...
As the laws of software would dictate I'm annoyingly unable to reproduce the problem in a sample project - I will keep trying to add stuff to make it happen

@eric-milles
Copy link
Member Author

Is your project publicly available?

@eric-milles
Copy link
Member Author

Is geb.Page a type in your project or that you reference? When trying to resolve the method "$", it is getting tripped up on a parameter type that is an array. I am adding a check for ProblemReferenceBinding so we might get a bit more information from JDTClassNodeBuilder.

What version of Groovy are you using? And are you using Java 9+ versions of any libraries?

@groovy groovy deleted a comment from jonnermut Nov 13, 2018
@groovy groovy deleted a comment from jonnermut Nov 13, 2018
eric-milles added a commit that referenced this issue Nov 13, 2018
- also check for ProblemReferenceBinding

#686
@eric-milles
Copy link
Member Author

@jonnermut Just checking to see if you had a chance to try again with the last commit.

Also, I wanted to mention that there have been several fixes to JDT Core since milestone 1. I have been waiting for milestone 2 to be released, but it is now 2 weeks overdue. Milestone 3 appears to be scheduled for next friday. Once it is available, I will update Groovy-Eclipse to match.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants