Open yyoncho opened 5 years ago
(cc @amosbird @madper )
scrcpy is an android/gradle project, which is not supported by Buildship, the Gradle integration project in Eclipse. That means the project classpath is not set properly.
@yyoncho can you attach a stacktrace for thingsboard, which is a maven project?
[Trace - 7:01:41 PM] Received notification 'window/logMessage'.
Params: {
"type": 1,
"message": "Nov 30, 2018 7:01:41 PM Initialization failed \nCould not fetch model of type 'EclipseProject' using Gradle installation '/home/kyoncho/.sdkman/candidates/gradle/current'.\norg.gradle.tooling.BuildException: Could not fetch model of type 'EclipseProject' using Gradle installation '/home/kyoncho/.sdkman/candidates/gradle/current'.\n\tat org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:51)\n\tat org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)\n\tat org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:41)\n\tat org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)\n\tat org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)\n\tat org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)\n\tat java.lang.Thread.run(Thread.java:748)\n\tat org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)\n\tat org.gradle.tooling.internal.consumer.DefaultModelBuilder.get(DefaultModelBuilder.java:50)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.eclipse.buildship.core.workspace.internal.ConnectionAwareLauncherProxy.invokeRun(ConnectionAwareLauncherProxy.java:170)\n\tat org.eclipse.buildship.core.workspace.internal.ConnectionAwareLauncherProxy.invoke(ConnectionAwareLauncherProxy.java:160)\n\tat com.sun.proxy.$Proxy41.get(Unknown Source)\n\tat org.eclipse.buildship.core.workspace.internal.DefaultModelProvider$2.get(DefaultModelProvider.java:122)\n\tat org.eclipse.buildship.core.workspace.internal.DefaultModelProvider$3.call(DefaultModelProvider.java:142)\n\tat com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4724)\n\tat com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522)\n\tat com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315)\n\tat com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278)\n\tat com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193)\n\tat com.google.common.cache.LocalCache.get(LocalCache.java:3932)\n\tat com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4721)\n\tat org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.getFromCache(DefaultModelProvider.java:153)\n\tat org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.executeOperation(DefaultModelProvider.java:138)\n\tat org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.executeModelBuilder(DefaultModelProvider.java:118)\n\tat org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.fetchModels(DefaultModelProvider.java:81)\n\tat org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.fetchEclipseGradleProjects(DefaultModelProvider.java:99)\n\tat org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.startSynchronization(GradleProjectImporter.java:152)\n\tat org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.importDir(GradleProjectImporter.java:99)\n\tat org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.lambda$0(GradleProjectImporter.java:91)\n\tat java.util.ArrayList.forEach(ArrayList.java:1257)\n\tat java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)\n\tat org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.importToWorkspace(GradleProjectImporter.java:91)\n\tat org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:134)\n\tat org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.access$1(ProjectsManager.java:128)\n\tat org.eclipse.jdt.ls.core.internal.managers.ProjectsManager$2.run(ProjectsManager.java:122)\n\tat org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:41)\n\tat org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)\n\tat org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2295)\n\tat org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2322)\n\tat org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5795)\n\tat org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5752)\n\tat org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:114)\n\tat org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:229)\n\tat org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)\n\tat org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)\nCaused by: org.gradle.internal.exceptions.LocationAwareException: Build file '/home/kyoncho/Sources/thingsboard/transport/mqtt/build.gradle' line: 32\nA problem occurred evaluating root project 'mqtt'.\n\tat org.gradle.initialization.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:74)\n\tat org.gradle.initialization.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:47)\n\tat org.gradle.initialization.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:30)\n\tat org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:114)\n\tat org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:106)\n\tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)\n\tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)\n\tat org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)\n\tat org.gradle.initialization.DefaultGradleLauncher.getBuildAnalysis(DefaultGradleLauncher.java:97)\n\tat org.gradle.launcher.exec.GradleBuildController.configure(GradleBuildController.java:74)\n\tat org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:48)\n\tat org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)\n\tat org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)\n\tat org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)\n\tat org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)\n\tat org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)\n\tat org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:79)\n\tat org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:51)\n\tat org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:59)\n\tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:47)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)\n\tat org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)\n\tat org.gradle.util.Swapper.swap(Swapper.java:38)\n\tat org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)\n\tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)\n\tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.HintGCAfterBuild.execute(HintGCAfterBuild.java:44)\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n\tat org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)\n\tat org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:293)\n\tat org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)\n\tat org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)\nCaused by: org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'mqtt'.\n\tat org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:92)\n\tat org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:176)\n\tat org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)\n\tat org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:181)\n\tat org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)\n\tat org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)\n\tat org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)\n\tat org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)\n\tat org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:573)\n\tat org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:125)\n\tat org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)\n\tat org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)\n\tat org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:151)\n\tat org.gradle.internal.Factories$1.create(Factories.java:22)\n\tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)\n\tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)\n\tat org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:148)\n\tat org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:33)\n\tat org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:112)\n\t... 42 more\nCaused by: groovy.lang.MissingPropertyException: Could not get unknown property 'projectBuildDir' for root project 'mqtt' of type org.gradle.api.Project.\n\tat org.gradle.internal.metaobject.AbstractDynamicObject.getMissingProperty(AbstractDynamicObject.java:85)\n\tat org.gradle.internal.metaobject.AbstractDynamicObject.getProperty(AbstractDynamicObject.java:62)\n\tat org.gradle.groovy.scripts.BasicScript.propertyMissing(BasicScript.java:70)\n\tat org.gradle.groovy.scripts.Script.getProperty(Script.java:56)\n\tat build_1czsdxfhcrd2ti7muupwwzaun.run(/home/kyoncho/Sources/thingsboard/transport/mqtt/build.gradle:32)\n\tat org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:90)\n\t... 60 more\n"
}
ok so actually, since the sources contain gradle projects and gradle import has priority over maven (currently you can't mix'n match gradle and maven projects in the same root uri in jdt.ls), which explains why we're seeing gradle exceptions in the stacktrace. Now we'll have to investigate deeper to understand why non-android gradle projects are failing.
@yyoncho can you try the following:
"java.import.gradle.enabled": false,
The issue was originally logged in lsp-java but it is reproducible with vscode-java as well. The projects are: https://github.com/Genymobile/scrcpy and https://github.com/thingsboard/thingsboard
This is the callstack from the first project -
Original issues: https://github.com/emacs-lsp/lsp-java/issues/79