The compile-time component of [Role Normalization and Synthesis] parent, this Eclipse plugin implements publication constraints on public Java types and methods.
An Eclipse plugin containing:
- RNS Build Analyzer, a project builder
- RNS Project Nature
- extends the core Java Nature
- Problem markers for calling out code that violates the developer's architectural constraints
- Install the plugin into your Eclipse workspace.
- Activate the analyzer for any project by right-clicking it in the Package Explorer and selecting Toggle RNS Nature.
The developer specifies publication constraints using annotations:
@InvocationConstraint
restricts invocation of methods@VisibilityConstraint
restricts visibility of types@ExtensionConstraint
restricts extension of types (including implementation of interfaces)
Workspace errors will indicate any violations to RNS constraints (within any project having the RNS Nature)
- Performance is quite poor, especially for large projects with heavily integrated class hierarchies. Many improvements can be made, but this is only a prototype and does not warrant the effort.
- The plugin currently is not able to identify every violation during incremental builds. It overlooks a few, and will find them when a directly related file is touched. This is a bug and will be fixed.