diffplug / goomph

IDE as build artifact
Apache License 2.0
130 stars 30 forks source link

goomph on mac with jdk17 not working #201

Closed moley closed 2 years ago

moley commented 2 years ago

Hi all,

I have added following to my gradle build: classpath "com.diffplug.gradle:goomph:3.39.0" With jdk17 on mac (intel) I recieve the following errors:

org.osgi.framework.BundleException: Cannot support framework extension bundles without a public addURL(URL) method on the framework class loader: org.eclipse.osgi.compatibility.state_1.1.600.v20190814-1451 [1]
        at org.eclipse.osgi.storage.FrameworkExtensionInstaller.addExtensionContent0(FrameworkExtensionInstaller.java:119)
        at org.eclipse.osgi.storage.FrameworkExtensionInstaller.addExtensionContent(FrameworkExtensionInstaller.java:94)
        at org.eclipse.osgi.internal.loader.SystemBundleLoader$SystemModuleClassLoader.loadFragments(SystemBundleLoader.java:140)
        at org.eclipse.osgi.internal.loader.SystemBundleLoader.loadClassLoaderFragments(SystemBundleLoader.java:122)
        at org.eclipse.osgi.internal.loader.BundleLoader.loadFragments(BundleLoader.java:312)
        at org.eclipse.osgi.container.ModuleWiring.loadFragments(ModuleWiring.java:276)
        at org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:842)
        at org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:558)
        at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:501)
        at org.eclipse.osgi.container.ModuleContainer.refresh(ModuleContainer.java:1136)
        at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1517)
        at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
java.lang.IllegalStateException: Could not acquire the framework manipulator service.
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.loadDelegate(LazyManipulator.java:50)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.getConfigData(LazyManipulator.java:117)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.installBundle(InstallBundleAction.java:82)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.execute(InstallBundleAction.java:38)
        at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:42)
        at org.eclipse.equinox.internal.p2.engine.Phase.mainPerform(Phase.java:187)
        at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:99)
        at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:50)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:80)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:48)
        at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:46)
        at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:27)
        at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.executePlan(DirectorApplication.java:772)
        at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.planAndExecute(DirectorApplication.java:762)
        at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.performProvisioningActions(DirectorApplication.java:743)
        at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.run(DirectorApplication.java:1066)
        at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.start(DirectorApplication.java:1204)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        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:400)
        at com.diffplug.gradle.eclipserunner.EquinoxLauncher$Running.run(EquinoxLauncher.java:207)
        at com.diffplug.gradle.eclipserunner.EquinoxLauncher$Running.access$100(EquinoxLauncher.java:189)
        at com.diffplug.gradle.eclipserunner.EquinoxLauncher.run(EquinoxLauncher.java:180)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at com.diffplug.gradle.eclipserunner.JarFolderRunner.run(JarFolderRunner.java:51)
        at com.diffplug.gradle.eclipserunner.JarFolderRunnerExternalJvm$RunOutside.run(JarFolderRunnerExternalJvm.java:126)
        at com.diffplug.gradle.JavaExecable.main(JavaExecable.java:171)
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=de_DE
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:50)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.diffplug.gradle.eclipserunner.JarFolderRunner.run(JarFolderRunner.java:51)
        at com.diffplug.gradle.eclipserunner.JarFolderRunnerExternalJvm$RunOutside.run(JarFolderRunnerExternalJvm.java:126)
        at com.diffplug.gradle.JavaExecable.main(JavaExecable.java:171)
Caused by: java.lang.IllegalStateException: Unexpected return=0, was: 13
        at com.diffplug.common.base.Preconditions.checkState(Preconditions.java:201)
        at com.diffplug.gradle.eclipserunner.EquinoxLauncher$Running.run(EquinoxLauncher.java:219)
        at com.diffplug.gradle.eclipserunner.EquinoxLauncher$Running.access$100(EquinoxLauncher.java:189)
        at com.diffplug.gradle.eclipserunner.EquinoxLauncher.run(EquinoxLauncher.java:180)

which is failing the build. Can you please give me a hint what's the problem? Thanks in advance

nedtwigg commented 2 years ago

What task are you running? Parts of this project have not been adapted for Java 17, it looks unlikely that it will happen

moley commented 2 years ago

I am using the plugin com.diffplug.oomph.ide and this happens while configuration phase. Some more context:

` Installing org.eclipse.swtbot.feature.group 4.0.0.202206011610. Installing org.eclipse.swtbot.eclipse.feature.group 4.0.0.202206011610. Installing org.eclipse.swtbot.eclipse.test.junit.feature.group 4.0.0.202206011610. Installing org.eclipse.swtbot.ide.feature.group 4.0.0.202206011610. Installing org.eclipse.pde.feature.group 3.14.1300.v20220831-1800. Installing org.eclipse.platform.ide 4.25.0.I20220831-1800. Installing org.eclipse.jdt.feature.group 3.18.1300.v20220831-1800. Installing org.eclipse.ui.views.log 1.3.300.v20220717-1456.

!ENTRY org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.553 !MESSAGE Overall install request is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for Xtext Complete SDK 2.28.0.v20220829-0555 (org.eclipse.xtext.sdk.feature.group 2.28.0.v20220829-0555) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for SWTBot IDE Features 4.0.0.202206011610 (org.eclipse.swtbot.ide.feature.group 4.0.0.202206011610) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for Eclipse Java Development Tools 3.18.1300.v20220831-1800 (org.eclipse.jdt.feature.group 3.18.1300.v20220831-1800) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for MWE2 Launcher 2.13.0.v20220519-1115 (org.eclipse.emf.mwe2.launcher.feature.group 2.13.0.v20220519-1115) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for SWTBot for SWT Testing 4.0.0.202206011610 (org.eclipse.swtbot.feature.group 4.0.0.202206011610) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for Xpand SDK 2.2.0.v201605260315 (org.eclipse.xpand.sdk.feature.group 2.2.0.v201605260315) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for EMF - Eclipse Modeling Framework SDK 2.31.0.v20220817-1401 (org.eclipse.emf.sdk.feature.group 2.31.0.v20220817-1401) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for Eclipse Platform 4.25.0.I20220831-1800 (org.eclipse.platform.ide 4.25.0.I20220831-1800) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for EPP Eclipse IDE for Eclipse Committers Feature 4.25.0.20220908-1200 (org.eclipse.epp.package.committers.feature.feature.group 4.25.0.20220908-1200) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for Git integration for Eclipse 6.3.0.202209071007-r (org.eclipse.egit.feature.group 6.3.0.202209071007-r) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for XSD - XML Schema Definition SDK 2.31.0.v20220616-1149 (org.eclipse.xsd.sdk.feature.group 2.31.0.v20220616-1149) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for Log View 1.3.300.v20220717-1456 (org.eclipse.ui.views.log 1.3.300.v20220717-1456) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for Buildship: Eclipse Plug-ins for Gradle 3.1.6.v20220511-1359 (org.eclipse.buildship.feature.group 3.1.6.v20220511-1359) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for Eclipse Plug-in Development Environment 3.14.1300.v20220831-1800 (org.eclipse.pde.feature.group 3.14.1300.v20220831-1800) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.554 !MESSAGE Add request for SWTBot JUnit Headless launchers for Eclipse 4.0.0.202206011610 (org.eclipse.swtbot.eclipse.test.junit.feature.group 4.0.0.202206011610) is satisfiable !SUBENTRY 1 org.eclipse.equinox.p2.director 0 0 2022-10-20 07:56:53.555 !MESSAGE Add request for SWTBot for Eclipse Testing 4.0.0.202206011610 (org.eclipse.swtbot.eclipse.feature.group 4.0.0.202206011610) is satisfiable Installation failed. An error occurred while installing the items session context was:(profile=OomphIde, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.google.gson 2.9.1, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction).

    Could not acquire the framework manipulator service.

!ENTRY org.eclipse.equinox.p2.engine 4 4 2022-10-20 07:56:55.948 There were errors. See log file: /Users/user/.goomph/p2-bootstrap/4.13.0.fix185/configuration/1666245400655.log !MESSAGE An error occurred while installing the items !SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2022-10-20 07:56:55.948 !MESSAGE session context was:(profile=OomphIde, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.google.gson 2.9.1, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction). !SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2022-10-20 07:56:55.948 !MESSAGE Could not acquire the framework manipulator service. !STACK 0 `

and in the logfile occurs the error with addURL and the "Could not acquire the framework manipulator service"

nedtwigg commented 2 years ago

Yeah, I think com.diffplug.oomph.ide is probably broken for good. A lot of it broke in Java 11 and it was a lot of work to fix it, and I don't think it's going to get fixed for Java 17. Sorry for this. I'm going to go ahead and merge #192 now.

moley commented 2 years ago

OK, thanks for the infos, then we have to migrate from goomph to another approach. All the best, Cheers

nedtwigg commented 1 year ago

There's a new project EquoIDE which is the same idea as Goomph but it works waaaay better. Faster, more stable, easier to maintain. Worth checking out: https://github.com/equodev/equo-ide/tree/main/plugin-gradle