Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
UI | 2023-07-04 | ||
Help_feature | 2023-07-04 | ||
Help | 2023-07-04 | ||
Headless_feature | 2023-07-04 | ||
Feature | 2023-07-04 | ||
Core | 2023-07-04 | ||
README_Projects.md | 2023-07-04 | 4.1 kB | |
Totals: 7 Items | 4.1 kB | 0 |
Projects descriptions
History
Created 02-03/2021. 1.6.0.
Updated 07/2023. 1.6.0.
Plug-ins roles
The separation between the Core and the UI tries to be similar to the one in the JDT plug-in:
- the Core plug-in does not refer to any Eclipse UI package
- the Core plug-in manages the project nature, build (full/incremental) and compile aspects, the external jars selection, the command line launching, the problem markers recording and the derived files handling
- the Core plug-in exports some of its packages (
.
andbase
) - the UI plug-in uses (the exported classes of) the Core plug-in for compiling or deleting derived files
(one could imagine a UI plug-in used only for editing the grammars and an Ant / Gradle / Maven task for building the project, but he would miss the problem markers displayed in the editor)
For the moment, the Core and UI plug-ins are not designed to be APIs, with an accessible part and an inaccessible internal part, as in the JDT; similarly, the plug-ins are not designed to be extended by clients, classes are not designed to be subclassed by clients.
The Core & UI plug-ins are standard Eclipse PDE and JDT plug-ins (through associated natures and builders); the UI plug-in is also a JavaCC plug-in (as it handles an internal Java JJTree grammar for the outline and call hierarchy views).
The Help plug-in is a simple standard plugin hosting the plug-in's help.
Feature plug-ins are simple standard plug-ins to make releases; site plug-ins are simple standard plug-ins to generate the update sites.
Here below is a simplified picture:
Transverse aspects
All projects are forced to UTF-8 encoding.
Common constants are managed in each plug-in in dedicated java classes, CoreConstants.java
, holding Core only and Core and UI constants, and UIConstants.java
holding UI only constants, and are refered through static imports.
Core & UI plug-ins properties are managed in each plug-in through the standard plugin.properties
I18N files.
Properties appearing in the Java code and which require localized values are managed in each plug-in through the standard messages.properties
I18N files.
Workbench preferences in an installation (Window/Preferences/JavaCC) govern only UI appearance and behavior, and they are managed in package preferences
in the UI plug-in.
Workbench preferences (still in an installation) will be stored through the standard mechanism under <wksp>\.metadata\.plugins\org.eclipse.core.runtime\.settings\sf.eclipse.javacc.prefs
.
Project properties in a workspace (Project/Properties/JavaCC) govern only Core behavior (jars, nature, warnings suppression, derived file marking and deletion) except for two (auto build on save, auto format on save) which impact UI behavior, and are managed in directories base
for Core and options
for UI.
Project properties (still in a workspace) will be stored through the standard mechanism under the same file <prj>\.settings\sf.eclipse.javacc.prefs
for both plug-ins. They can be edited through the UI; if only the Core plug-in is used, the prefs file must be edited manually. See the help.
Documents
Each project has its own README_<prj>.md files under folder <prj> in the listing above.
Contributors' readme is located under folder Contributing.
Users's related documents (the User Guide) are located in the sf.eclipse.javacc.help project (help folder).
Update site readme is located under folder site.
The license file is located in the doc folders.
Details
See readmes under