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 by providing a high-level graphical user interface over doxygen.
Features:
- graphical edition of doxyfile settings
- integrated doxygen invocation
- doxygen outputs logging and
- optional packaged doxygen binaries (for windows and linux)
Eclox is a free software distributed under the term of the:
- Eclipse Public Licence v2.0 for version 0.13.x and newer
- Eclipse Public Licence v1.0 for version 0.10.x - 0.12.x
- GNU General Public Licence (GPL) for version 0.8.x and older
Project page and update site: http://anb0s.github.io/eclox
eclox-0.12.1: Bug fixes for the second minor release @github
Fixed issues (https://github.com/anb0s/eclox/milestone/6?closed=1):
- [x] #220: Cannot get eclox doxygen to run in the code composer studio
eclipse package
- [x] #222: bundled doxygen cannot be used
- [x] #223: create bundled doxygen with all needed files
eclox-0.12.0: Second minor release @github
Fixed issues (https://github.com/anb0s/eclox/milestone/3?closed=1):
- [x] #18 Support doxygen upgrade feature
- [x] #83 context menu entry shown unnecessarily
- [x] #91 Implement saveas feature
- [x] #108 improve detection of warnings concerning undocumented
parameters
- [x] #195 java.lang.IllegalArgumentException in
createMarkersForResource
- [x] #196 terminate build is not working like expected
- [x] #197 doxygen history menu shows multiple entries for same file
- [x] #198 doxyfile selection dialog does not show nested elements
- [x] #199 add "clear history" to history menu
- [x] #200 invalid custom doxygen identifier found
- [x] #201 Doxygen Build Console: stderr and stdin are not synchronized
- [x] #203 remove from history if "eclox.core.doxygen.RunException:
Missing or bad doxyfile"
- [x] #206 [v0.12] console icons are not shown
- [x] #207 [v0.12] exception if new file created
- [x] #208 [v0.12] java.lang.NullPointerException in Advanced tab
- [x] #211 add support for the += operator
- [x] #212 add support for multiple lines (lists) concatenated by
backslash (\)
- [x] #214 add support for TAG and VALUE format #214
- [x] #215 add support for line separator
v0.11.2: Bug fixes for the first minor release @GitHub
Fixed issues (https://github.com/anb0s/eclox/milestone/5?closed=1):
- #191 exception after build if OUTPUT_DIRECTORY is an absolute path
- #192 add Eclipse 4.2 target platform
- #193 fix feature and plugin provider-name
v0.11.1: Bug fixes for the first release @GitHub!
Fixed issues (https://github.com/anb0s/eclox/milestone/4?closed=1):
- #175 java.lang.IllegalArgumentException: endRule without matching beginRule
- #186 NPE when trying to create new Doxyfile
- #187 obsolete settings are not marked
- #189 Doxygen binaries 1.8.13.v20170413-1543
v0.11.0: First official release at GitHub!
Main changes:
- migrate to GitHub #161
- support configurable working directory #87
- support relative or project-based path to doxygen.exe #75
- open a file that is not a resource in eclipse #15, #68
- support resources in linked folders #176 **Thanks to Corderbollie**
- scrollbar for input directories in graphical editor #167
- sorting column in advanced tab #171
- add update site with bundled Doxygen executables #182
- updated project structure and build process
- added composite site to support testing and release update streams Fixed execution of bundled linux x86_64 binary.
All fixed issues (https://github.com/anb0s/eclox/milestone/1?closed=1):
- #11 muliple Doxyfiles - editing
- #12 Import of existing configuration files
- #15 Add ability to use Doxyfile not in project scope
- #68 open a file that is not a resource in eclipse
- #75 relative or project-based path to doxygen.exe
- #86 environment variables needed for some doxyfiles
- #87 working directory not configurable
- #114 Improvement static declaration of plugin relative identifier
- #144 Tell more about the directory where eclox is stared
- #161 migrate to GitHub
- #162 prepare release 0.11.0
- #163 Unable to use GraphViz
- #164 Unable to create the selected preference page. eclox/core/ui/PreferencePage : Unsupported major.minor version 52.0
- #165 new GitHub update site shows only one version "Eclox 0.10.2.201508272130"
- #167 Scrollbar missing for Input Directories in Graphical Editor
- #170 Graphviz and PlantUML on Windows
- #171 Sorting column in Advanced tab
- #173 [v0.11] invalid custom doxygen identifier found
- #174 [v0.11] endRule without matching beginRule
- #175 java.lang.IllegalArgumentException: endRule without matching beginRule
- #178 No groups on advanced tab
- #176 Support resources in linked folders
- #182 [v0.11] add update site with bundled Doxygen executables
- #184 [v0.11] bundled Doxygen binaries are not working (not executable) at Linux Known issues:
- #166 freeze of build with Grep Console installed --> **related to other plugin, please apply the described workaround**
Reviews Sign in to post reviews
Eclipse 2018-12 (4.10)
Submitted by José Ignacio Gómez on Sat, 2019-02-02 13:30
Is this plugin going to be available for Eclise 2018-12 version?
Thanks!!
Re: Eclipse 2018-12 (4.10)
Submitted by Andre Bossert on Mon, 2019-02-04 17:04
I've activated eclox for 2018-12 and 2019-03, it should work.
NPE when trying to create new Doxyfile
Submitted by Max Hohenegger on Thu, 2017-04-06 09:15
eclox asks me to configure the doxygen binaries. After selecting "Bundle" and accepting the dialog, I see a dialog mentioning a RuntimeException. The error log shows the following stack trace:
java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Unknown Source)
at java.util.regex.Matcher.reset(Unknown Source)
at java.util.regex.Matcher.(Unknown Source)
at java.util.regex.Pattern.matcher(Unknown Source)
at eclox.core.doxygen.Doxygen.getVersion(Doxygen.java:123)
at eclox.core.ui.DefaultDoxygenFieldEditor.updateItem(DefaultDoxygenFieldEditor.java:152)
at eclox.core.ui.DefaultDoxygenFieldEditor.addItem(DefaultDoxygenFieldEditor.java:130)
at eclox.core.ui.DefaultDoxygenFieldEditor.doLoad(DefaultDoxygenFieldEditor.java:386)
at org.eclipse.jface.preference.FieldEditor.load(FieldEditor.java:495)
at org.eclipse.jface.preference.FieldEditorPreferencePage.initialize(FieldEditorPreferencePage.java:306)
at org.eclipse.jface.preference.FieldEditorPreferencePage.createContents(FieldEditorPreferencePage.java:231)
at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)
at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1430)
at org.eclipse.jface.preference.PreferenceDialog$9.run(PreferenceDialog.java:1197)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1189)
at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:608)
at org.eclipse.jface.preference.PreferenceDialog$5.lambda$0(PreferenceDialog.java:656)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.preference.PreferenceDialog$5.selectionChanged(PreferenceDialog.java:653)
at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:878)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:875)
at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1729)
at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1077)
at org.eclipse.jface.preference.PreferenceDialog.selectSavedItem(PreferenceDialog.java:991)
at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.selectSavedItem(FilteredPreferenceDialog.java:656)
at org.eclipse.jface.preference.PreferenceDialog.lambda$0(PreferenceDialog.java:346)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.preference.PreferenceDialog.createContents(PreferenceDialog.java:343)
at org.eclipse.jface.window.Window.create(Window.java:426)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1095)
at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.createDialogOn(WorkbenchPreferenceDialog.java:102)
at org.eclipse.ui.dialogs.PreferencesUtil.createPreferenceDialogOn(PreferencesUtil.java:192)
at org.eclipse.ui.dialogs.PreferencesUtil.createPreferenceDialogOn(PreferencesUtil.java:116)
at eclox.ui.Plugin.editPreferencesAfterDoxygenInvocationFailed(Plugin.java:56)
at eclox.ui.wizard.NewDoxyfileWizard.performFinish(NewDoxyfileWizard.java:86)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:790)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:423)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
at org.eclipse.jface.window.Window.open(Window.java:794)
at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:269)
at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:282)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:264)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:488)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:353)
at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:155)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
Re: NPE when trying to create new Doxyfile
Submitted by Andre Bossert on Thu, 2017-04-06 13:31
Thanks for reporting. I've created an issue: https://github.com/anb0s/eclox/issues/186
Please describe your versions and OS etc. there. Thank You!
Re: Re: NPE when trying to create new Doxyfile
Submitted by Andre Bossert on Tue, 2017-04-18 16:23
Should be fixed with 0.11.1 now