Community
Participate
Working Groups
Currently EGLDoc is a closed source effort run by Aaron Allsbrook. I have done the initial work to port the model input to use the EDT model. I would like to propose that the code be committed to EDT for reuse and community maintenance, and community driven requirements.
Some additional details around the existing EGLDoc EGLDoc Technical Approach - General Usecase. From Eclipse based IDE a user will select an EGL project. By right clicking on the project element in the project explorer or navigator a context menu option will appear allowing a user to create "Run EGLDoc". After egldoc runs the project will contain a new folder at the root named "doc". This folder will contain a number of generated html files describing the EGL content of the project. Those html files will model a similar pattern and informational structure to that of JavaDoc. Is currently implemented with the following architecture One eclipse plugin containing EGLDocPopup - Eclipse implementation for context menu - the extension point -org.eclipse.ui.popupMenus EGLDocManager - Controls the EGLDoc lifecycle. First requests a build of the EGL code. It then walks the EDT model for each part. As parts are identified it passes those parts to file writers that print the appropriate documenation templates. Several of the file writers take their own complete objects for writing. The EGLDocManager will visit the EDT model elements to build those temporary objects. EGLDocGenerator - Forces the compile of the EGL source code into the IR objects. Multiple file writers AbstractSummaryWriter - CSSWriter - creates the EGLDoc css file DocWriter - Super class for EGLDoc - currently provides now implementation IndexWriter - creates the index.html file that defines the frames for the different part definitions OverViewFrameWriter - Overview html for the top left pain. Describes all the available packages in the project and offers the ability to see all parts in the project OVerViewSummaryWriter - shows the primary view with the list of all packages in the project PackageSummaryWriter - Content area content for the selection of a pacakge. It includes a list of the parts in the package PartsFrameWriter - Navigation area html for the parts in the package PartSummaryWriter - Content area for the selection of a part. Lists the fields and functions.
EGL Input Source Requirements Currently the EGLDoc generation has little in the way of expectations of the EGL source code. It expects valid source code and identifies field and function in each part. Currently limitations include the ability Output Each part gets it own entry in the documentation. Meaning a new html file will be created for each part. EX. Handler, Library, Record, Global Function etc... This differs from the possible file structure that may contain multiple parts in one file. In the part html information about the - part stereotype, - file location, - source statement - fields, - functions Finally from the source comments are captured. Currently EGLDoc will identify a file location for a specific part/function/or field. Using reverse parsing EGLDoc will build a complete string that captures all comments directly above the area of interest. This information is not captured in the model so it must derived via file reads. Comments are required to be of the style //. The comments are inserted into the EGLDoc using the formatting captured in the source code itself. Many future enhancements exist for capturing comments. Those include, support for /**/ notation, handling of carriage returns, annotation support, etc
changing to Enhancement, as this isn't really a defect.
Setting the Target Milestone correctly for all bugs (set to Future in this case).