ide-plugins icon indicating copy to clipboard operation
ide-plugins copied to clipboard

Eclipse plugin fails with Buildship 3.0

Open jperedadnr opened this issue 6 years ago • 15 comments

Buildship 3.0 was been released with Eclipse 2018-12 and they have move guava from [15-16) to 21.

The plugin fails to install:

Cannot complete the install because one or more required items could not 
be found. 
  Software being installed: Gluon Plug-in for Eclipse 
2.6.0.v20180424-0818 (com.gluonhq.eclipse.feature.group 
2.6.0.v20180424-0818) 
  Missing requirement: Gluon Plug-in for Eclipse 2.6.0.v20180424-0818 
(com.gluonhq.eclipse.plugin 2.6.0.v20180424-0818) requires 'osgi.bundle; 
com.google.guava [15.0.0,16.0.0)' but it could not be found 
  Cannot satisfy dependency: 
    From: Gluon Plug-in for Eclipse 2.6.0.v20180424-0818 
(com.gluonhq.eclipse.feature.group 2.6.0.v20180424-0818) 
    To: org.eclipse.equinox.p2.iu; com.gluonhq.eclipse.plugin 
[2.6.0.v20180424-0818,2.6.0.v20180424-0818]

jperedadnr avatar Jan 02 '19 11:01 jperedadnr

Submitted PR to fix this issue, waiting for review

jperedadnr avatar Feb 01 '19 19:02 jperedadnr

How to test the plugin:

  • Clone the repo https://github.com/jperedadnr/ide-plugins/tree/BS3.0
  • unzip, open a terminal, cd ide-plugins-BS3.0/eclipse/
  • Using Java 8, run ./gradlew build. It might take around 5 minutes.
  • At the end it will generate a local repo with the plugin under ide-plugins-BS3.0/eclipse/com.gluonhq.eclipse.site/build/repository.
  • Open Eclipse 2018-12, select Help->Install new software, Click Add button to add a repository, click Local to browse and select the above path.
  • Gluon Plug-In for Eclipse should show up, with Version 2.7.0.v20190201-d or alike
  • Select and install. Restart Eclipse at the end.

jperedadnr avatar Feb 01 '19 21:02 jperedadnr

Failing to build on macOS, stack trace last below, also tried to see if the referenced eclipse installed in the sdk would run on it's own, started but hung with following errors, hope that's a clue!

➜ MacOS ./eclipse WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.eclipse.osgi.storage.FrameworkExtensionInstaller (file:/Users/alanwhite/.tooling/eclipse/targetPlatforms/eclipse-sdk/eclipse/plugins/org.eclipse.osgi_3.10.2.v20150203-1939.jar) to method java.net.URLClassLoader.addURL(java.net.URL) WARNING: Please consider reporting this to the maintainers of org.eclipse.osgi.storage.FrameworkExtensionInstaller WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release

➜ eclipse git:(master) ✗ ./gradlew build --stacktrace

FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ':assembleTargetPlatform'.

Process 'command '/Users/alanwhite/.tooling/eclipse/targetPlatforms/eclipse-sdk/eclipse/Eclipse.app/Contents/MacOS/eclipse'' finished with non-zero exit value 13

  • Try: Run with --info or --debug option to get more log output.

  • Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':assembleTargetPlatform'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ResolveBuildCacheKeyExecuter.execute(ResolveBuildCacheKeyExecuter.java:61) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: org.gradle.process.internal.ExecException: Process 'command '/Users/alanwhite/.tooling/eclipse/targetPlatforms/eclipse-sdk/eclipse/Eclipse.app/Contents/MacOS/eclipse'' finished with non-zero exit value 13 at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:382) at org.gradle.process.internal.DefaultExecAction.execute(DefaultExecAction.java:31) at org.gradle.api.internal.file.DefaultFileOperations.exec(DefaultFileOperations.java:188) at org.gradle.api.internal.project.DefaultProject.exec(DefaultProject.java:1076) at org.gradle.api.internal.project.DefaultProject.exec(DefaultProject.java:1071) at org.gradle.api.Project$exec$6.call(Unknown Source) at eclipsebuild.BuildDefinitionPlugin.assembleTargetPlatformUnprotected(BuildDefinitionPlugin.groovy:225) at eclipsebuild.BuildDefinitionPlugin$assembleTargetPlatformUnprotected$6.callStatic(Unknown Source) at eclipsebuild.BuildDefinitionPlugin.assembleTargetPlatform(BuildDefinitionPlugin.groovy:200) at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:479) at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:191) at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:80) at eclipsebuild.BuildDefinitionPlugin$_addTaskAssembleTargetPlatform_closure4$_closure12.doCall(BuildDefinitionPlugin.groovy:190) at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:722) at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:695) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92) ... 30 more

alanwhite avatar Feb 01 '19 22:02 alanwhite

More debug, sorry I didn't do this before posting above, this is deffo above my paygrade now :)

!ENTRY

org.eclipse.core.net 1 0 2019-02-01 22:46:51.702

!MESSAGE System property http.nonProxyHosts has been set to local|.local|169.254/16|.169.254/16 by an external source. This value will be overwritten using the values from the preferences

The installable unit org.eclipse.m2e.feature.feature.group/1.8.0.20160921-2002 has not been found.

Application failed, log file location: /Users/alanwhite/.tooling/eclipse/targetPlatforms/eclipse-sdk/eclipse/configuration/1549061209055.log

Installation failed.

!ENTRY org.eclipse.equinox.p2.director.app 4 0 2019-02-01 22:47:25.933 !MESSAGE The installable unit org.eclipse.m2e.feature.feature.group/1.8.0.20160921-2002 has not been found.

:assembleTargetPlatform (Thread[Task worker for ':',5,main]) completed. Took 38.704 secs.

FAILURE: Build failed with an exception.

alanwhite avatar Feb 01 '19 22:02 alanwhite

I'm uploading the repository with the plugin, so you don't need to build it:

repository.zip

You can just download it and unzip it, then install it from Eclipse 2018-12 as I explained before.

You will probably need to update Eclipse to Buildship to 3.0.1 before. So go to Install new Software and add this url: http://download.eclipse.org/buildship/updates/e49/releases/3.x, and install that version. Then install the plugin.

jperedadnr avatar Feb 01 '19 23:02 jperedadnr

All up and running thanks, the generated app fails to run, I'll go figure that bit

:GluonSingleApp:compileJava UP-TO-DATE :GluonSingleApp:processResources UP-TO-DATE :GluonSingleApp:classes UP-TO-DATE :GluonSingleApp:compileDesktopJava NO-SOURCE :GluonSingleApp:processDesktopResources NO-SOURCE :GluonSingleApp:desktopClasses UP-TO-DATE :GluonSingleApp:runException in Application start method Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

alanwhite avatar Feb 01 '19 23:02 alanwhite

Cool, good to know. Be aware that the plugin still runs over Java 8.

jperedadnr avatar Feb 01 '19 23:02 jperedadnr

just figured that out! issue was I was running at 9 on this installation. All working now end to end, thanks for the assist.

alanwhite avatar Feb 02 '19 00:02 alanwhite

I'm using Eclipse 2018-09 (4.9) with Buildship 3.0.2 and Gluon Plug-in for Eclipse 2.6.0. Installation was fine, but when trying to create a new VM project with the wizard I get:

image

is this related or should I open a new issue?

nlisker avatar Feb 02 '19 21:02 nlisker

@nlisker Plugin 2.6.0 requires Buildship 2.x, I'm not sure if that could be the issue.

Can you try to upgrade the plugin from the zip I posted?

jperedadnr avatar Feb 02 '19 23:02 jperedadnr

@jperedadnr That fixes the issue! Thanks!

By the way, the default Gluon VM sample project still uses Java 8, so it will not compile after creation, in case it's something you will want to look at at some point.

nlisker avatar Feb 03 '19 03:02 nlisker

Worked for me on 2019-03. Just had to install e(fx)clipse 3.5 plus the buildship update you mentioned. Thanks!

gapustwo avatar Mar 31 '19 02:03 gapustwo

Is the Buildship 3 compatible version planned to be available in the update site?

Also, is e(fx)clipse 3.5 a dependency?

nlisker avatar Apr 02 '19 15:04 nlisker

image

Can't start a project... I have been like 5 hours trying to make this work... I want to try gluon out but idk how to fix this, can someone give me some guide lines

rmsma1-iscteiul avatar Dec 15 '19 16:12 rmsma1-iscteiul

So you have to install some "buildship" stuff, then download a repository, then install efxclipse and use an old Java 8 version? I don't wanna be ungrateful, but @jperedadnr are there actual plans for a newer plugin version release that will run out of marketplace out of the box? Regards

mortensen avatar May 25 '20 15:05 mortensen