microsoft / team-explorer-everywhere

Team Explorer Everywhere Plugin for Eclipse
Other
300 stars 96 forks source link

Can't insert credentials #335

Closed zbroinx closed 2 years ago

zbroinx commented 3 years ago

Hi, I'm trying to user team explorer with eclipse in ubuntu. When I click "Enter Credentials" nothing happens, regardless the eclipse version.

image

songunsw commented 3 years ago

Same for me, it gaves me this error. it is latest eclipse 4.18 and tfs plugin 14.135 on latest ubuntu 20

image

grachchr commented 3 years ago

Hello, I have the same problem on Debian Buster. EclipseVersion: Version: 2020-06 (4.16.0) Build id: 20200615-1200 team-explorer-everywhere Version: 14.135.0.202010141427

The following error message is displayed in the LOG:

java.lang.NoClassDefFoundError: Could not initialize class com.microsoft.tfs.core.credentials.internal.GnomeKeyringCredentialsManager at com.microsoft.tfs.core.credentials.CredentialsManagerFactory.getCredentialsManager(CredentialsManagerFactory.java:91) at com.microsoft.tfs.core.credentials.CredentialsManagerFactory.getCredentialsManager(CredentialsManagerFactory.java:41) at com.microsoft.tfs.client.common.credentials.internal.EclipseCredentialsManager.getPlatformCredentialsManager(EclipseCredentialsManager.java:252) at com.microsoft.tfs.client.common.credentials.internal.EclipseCredentialsManager.setCredentials(EclipseCredentialsManager.java:183) at com.microsoft.tfs.client.common.ui.wizard.common.WizardServerSelectionPage.updateCredentials(WizardServerSelectionPage.java:324) at com.microsoft.tfs.client.common.ui.wizard.common.WizardServerSelectionPage.openAccount(WizardServerSelectionPage.java:346) at com.microsoft.tfs.client.common.ui.wizard.common.WizardServerSelectionPage.onPageFinished(WizardServerSelectionPage.java:126) at com.microsoft.tfs.client.common.ui.framework.wizard.ExtendedWizardPage.getNextPage(ExtendedWizardPage.java:127) at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:910) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:468) at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619) at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5685) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4953) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4446) at org.eclipse.jface.window.Window.runEventLoop(Window.java:823) at org.eclipse.jface.window.Window.open(Window.java:799) at com.microsoft.tfs.client.common.ui.teamexplorer.helpers.ConnectHelpers.connectToServer(ConnectHelpers.java:33) at com.microsoft.tfs.client.common.ui.views.TeamExplorerView$ConnectToServerAction.run(TeamExplorerView.java:273) at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:579) at org.eclipse.jface.action.ActionContributionItem.lambda$5(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5685) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4953) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4446) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:658) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) 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:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at org.eclipse.equinox.launcher.Main.run(Main.java:1447) at org.eclipse.equinox.launcher.Main.main(Main.java:1420)

Can anyone send me a hint to solve the problem? Thanks in advance

teseosw commented 3 years ago

Same problem is impossible to enter and validate credentials for a local team foundation server, seems that "Enter Credentials..." is a fake button. Eclipse 2021.3 on Ubuntu 20.04

dzuda11 commented 3 years ago

The same problem on Ubuntu 20.04 and Majaro 21.1 both with TEE 14.135.0 and Eclipse 2021-06.

chilliger commented 2 years ago

Is there a known last working version for linux?

dzuda11 commented 2 years ago

Is there a known last working version for linux?

Yes, it's 14.134.0.

zbroinx commented 2 years ago

Is there a known last working version for linux?

Yes, it's 14.134.0.

Whats your configuration? OS and Eclipse version?

dzuda11 commented 2 years ago

Is there a known last working version for linux?

Yes, it's 14.134.0.

Whats your configuration? OS and Eclipse version?

Linux Ubuntu and Manjaro with Eclipse v4.6 (Neon), Java 8, and TEE 14.124.0.

P.S. I am sorry for unresponding

eric-milles commented 2 years ago

Looks like some slf4j jars were missed in the latest release packaging: #323

grachchr commented 2 years ago

Unfortunately, I still can't connect to the TFS server. I have tested the following Eclipse packages with TEE version 14.136.0:

OS: Debian 10 (Buster) Java: OJDK-11

With which Eclipse version is TEE-14.136.0 compatible?

eric-milles commented 2 years ago

@grachchr The compatibility of the project has not changed. It should work with at least Eclipse 3.8+

What error are you getting when trying to add credentials or connect?

grachchr commented 2 years ago

I get the following message in the log (Eclipse-cpp-2021-12):

!SESSION 2022-02-07 10:25:00.393 -----------------------------------------------
eclipse.buildId=4.22.0.I20211124-1800
java.version=11
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.cpp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.cpp.product

!ENTRY org.eclipse.ui 4 0 2022-02-07 10:25:29.868
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at com.microsoft.alm.storage.posix.internal.GnomeKeyringBackedSecureStore.<clinit>(GnomeKeyringBackedSecureStore.java:15)
    at com.microsoft.tfs.core.credentials.internal.GnomeKeyringCredentialsManager.<clinit>(GnomeKeyringCredentialsManager.java:23)
    at com.microsoft.tfs.core.credentials.CredentialsManagerFactory.getCredentialsManager(CredentialsManagerFactory.java:89)
    at com.microsoft.tfs.core.credentials.CredentialsManagerFactory.getCredentialsManager(CredentialsManagerFactory.java:41)
    at com.microsoft.tfs.client.common.credentials.internal.EclipseCredentialsManager.getPlatformCredentialsManager(EclipseCredentialsManager.java:252)
    at com.microsoft.tfs.client.common.credentials.internal.EclipseCredentialsManager.setCredentials(EclipseCredentialsManager.java:183)
    at com.microsoft.tfs.client.common.ui.wizard.common.WizardServerSelectionPage.updateCredentials(WizardServerSelectionPage.java:324)
    at com.microsoft.tfs.client.common.ui.wizard.common.WizardServerSelectionPage.openAccount(WizardServerSelectionPage.java:346)
    at com.microsoft.tfs.client.common.ui.wizard.common.WizardServerSelectionPage.onPageFinished(WizardServerSelectionPage.java:126)
    at com.microsoft.tfs.client.common.ui.framework.wizard.ExtendedWizardPage.getNextPage(ExtendedWizardPage.java:127)
    at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:910)
    at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:468)
    at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619)
    at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5895)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1515)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5126)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4581)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
    at org.eclipse.jface.window.Window.open(Window.java:799)
    at com.microsoft.tfs.client.common.ui.teamexplorer.helpers.ConnectHelpers.connectToServer(ConnectHelpers.java:33)
    at com.microsoft.tfs.client.common.ui.views.TeamExplorerView$ConnectToServerAction.run(TeamExplorerView.java:273)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
    at org.eclipse.jface.action.ActionContributionItem.lambda$5(ActionContributionItem.java:453)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5895)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1515)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5126)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4581)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1154)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1045)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1440)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory cannot be found by com.microsoft.tfs.core_14.136.0.202112101255
    at org.eclipse.osgi.internal.loader.BundleLoader.generateException(BundleLoader.java:516)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:511)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:403)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 54 more

Thank you for the quick response to my request.

eric-milles commented 2 years ago

I missed a couple references to the restored slf4j libs. You can add the jars (from https://github.com/microsoft/team-explorer-everywhere/tree/master/source/com.microsoft.tfs.core/libs/slf4j) to plugins/com.microsoft.tfs.core_14.136.0.202112101255/libs

You may also need to edit plugins/com.microsoft.tfs.core_14.136.0.202112101255/META-INF/MANIFEST.MF to add this to the end of Bundle-Classpath:

,
 libs/slf4j/slf4j-api-1.7.19.jar,
 libs/slf4j/slf4j-log4j12-1.7.19.jar
grachchr commented 2 years ago

@ dzuda11: Thank you. I know, but there is no other way at the moment.

@ eric-milles: I copied the JAR files (to plugins/com.microsoft.tfs.core_14.136.0.202112101255/libs/slf4j/...) and edited the .MF file. After that I got an error message that plugins/com.microsoft.tfs.core_14.136.0.202112101255/com/microsoft/... does not exist. So I unzipped plugins/com.microsoft.tfs.core_14.136.0.202112101255/com.microsoft.tfs.core.jar. I don't know why the .JAR file was not unpacked automatically during TEE installation (I use the Eclipse-PACKAGE-cpp-2021-12 --not the Eclipse-Installer-- and TEE-14.136.0). Then I get the following error message: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at com.microsoft.alm.storage.posix.internal.GnomeKeyringBackedSecureStore.<clinit>(GnomeKeyringBackedSecureStore.java:15) at com.microsoft.tfs.core.credentials.internal.GnomeKeyringCredentialsManager.<clinit>(GnomeKeyringCredentialsManager.java:23) ...

After that I uninstalled and reinstalled the TEE plugin. Now the TEE plugin works. A diff of the eclipse directories before and after installation shows changes only in eclipse/configuration/ and in eclipse/p2/. Why does the fix only work with a re-installation?

eric-milles commented 2 years ago

Not sure how you applied. It may have been possible to add the two jars to your eclipse dropins directory. But I can't really test any of these solutions. Next release should have the reference properly restored.

grachchr commented 2 years ago

Thanks and best regards.