anb0s / eclox

Eclox is a simple doxygen frontend plug-in for eclipse. It aims to provide a slim and sleek integration of the code documentation process into Eclipse.
http://anb0s.github.io/eclox
Eclipse Public License 2.0
34 stars 2 forks source link

On startup of the plugin check for bundled binaries #227

Closed lordyavin closed 4 years ago

lordyavin commented 5 years ago

Expected Behavior

If the Doxygen binary plugin/feature is installed and no Doxygen installation is configured the default should be to use the bundled binaries.

Actual Behavior

Installed eclox and doxygen binaries via update site and eclox crashed without any error message (UI) while creating a new Doxyfile with the wizard. Log entry:

!ENTRY org.gna.eclox.core 4 0 2019-02-14 20:12:35.446
!MESSAGE Exception caught. eclox.core.doxygen.InvokeException: java.io.IOException: Cannot run program "doxygen" (in directory "..."): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
!STACK 0
eclox.core.doxygen.InvokeException: java.io.IOException: Cannot run program "doxygen" (in directory "..."): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
    at eclox.core.doxygen.Doxygen.run(Doxygen.java:249)
    at eclox.core.doxygen.Doxygen.run_local(Doxygen.java:329)
    at eclox.core.doxygen.Doxygen.generate(Doxygen.java:318)
    at eclox.core.doxygen.Doxygen.generate(Doxygen.java:303)
    at eclox.ui.wizard.NewDoxyfileWizard.performFinish(NewDoxyfileWizard.java:76)
    at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:775)
    at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:414)
    at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:622)
    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:4131)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:822)
    at org.eclipse.jface.window.Window.open(Window.java:798)
    at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:272)
    at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:293)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:96)
    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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:320)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:254)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:164)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:497)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:490)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
    at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:403)
    at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:154)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568)
    at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
    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:636)
    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: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 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:595)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
Caused by: java.io.IOException: Cannot run program "doxygen" (in directory "..."): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
    at eclox.core.doxygen.Doxygen.run(Doxygen.java:247)
    ... 62 more
Caused by: java.io.IOException: CreateProcess error=2, Das System kann die angegebene Datei nicht finden
    at java.base/java.lang.ProcessImpl.create(Native Method)
    at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:420)
    at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:151)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
    ... 64 more

Steps to Reproduce the Problem

{steps}

Your Environment

anb0s commented 5 years ago

should be fixed with #231

anb0s commented 4 years ago

fixed, see testing build, please verify and give feedback, thanks!