Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README_Core.md | 2023-07-04 | 5.7 kB | |
Totals: 1 Item | 5.7 kB | 0 |
sf.eclipse.javacc.core project description
History
Created 02-03/2021. 1.6.0. Updated 07/2023. 1.6.0.
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 processings,
the external jars selection, the command line launching, the problem markers recording and the derived files handling.
Source folders structure
src-plugin
: source code:.
: constantsbase
: base classes and interfaces, for project nature, building, compiling (exported)headless
: implementations / extensions of base interfaces / classes for headless builds
.settings
: standard project settings filesdoc
: license filejars
: external jars (javacc & jtb jars) to be embedded in the plug-in, which can be used by the plug-in user to compile its grammars (but which are not used by the plug-in for its internal processings)META-INF
: standard project META-INF files/
:- standard plug-in xml & i18n properties & project files
- README file
Plug-in Overview, Dependencies, Runtime, Extension Points, Build
This plug-in uses standard MANIFEST.MF
manifest file.
It defines interfaces IActivator
, IConsole
and class JPlugin
, which are used by both plug-ins.
It uses class PluginActivator
, which extends Plugin.
This plug-in's class PluginActivator
is different from the corresponding one UIPluginActivator
in the UI plug-in: it instantiates a different IConsole, a SystemConsole
, which just prints the console output on the standard out.
Runtime settings show that the plug-in exports the .
& base
packages.
Dependencies and build settings do not show anything non standard.
No extension points are defined.
Plug-in Extensions
This plug-in uses standard plugin.xml
configuration file.
This plug-in uses 3 extensions.
Nature
point="org.eclipse.core.resources.natures"
class="sf.eclipse.javacc.core.base.Nature"
This extension defines the class Nature
used to set/remove the JavaCC project nature.
The nature is used by the Workbench to identify the builder.
Nature.configure()
adds a new ICommand set with Builder
.
Builder
point="org.eclipse.core.resources.builders"
class="sf.eclipse.javacc.core.base.Builder"
This extension defines the class Builder
used to build from a JavaCC file.
Builder
extends IncrementalProjectBuilder and is called by the Workbench to compile JavaCC source files (jj/jjt/jtb) and derived files (jj, for jjt/jtb files) when building projects.
It is also used to compile files on commands triggered from the menu, toolbar and contextual menu on a Resource.
Builder
uses Compiler
, to compile files.
Compiler
uses:
Checksum
, to compute JavaCC files checksums,DirList
, to get derived files,IProblem
andProblem
, to process the compilation report problems,IConsole
, to display compilation command and output on a JavaCC specific console.
Application
point="org.eclipse.core.runtime.applications"
class="sf.eclipse.javacc.core.headless.Application"
This extension defines class Application
, which is used to manage this plug-in's launches.
It parses command line arguments and runs the corresponding commands: arguments can be multiple and of:
- help: to print the command line arguments usage
- clean <project>: to perform a project clean build
- full_build <project>: to perform a project full build
- incr_build <project>: to perform a project incremental build
How to build
Build the html documents manually with the ant script build_core_html.xml or automatically with the corresponding Builder.
Build the project for the update site though Admin_Guide.