Reintegrate Format and Check DSLs developments and builder improvements #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reintegrate recent development on Format and Check DSLs as well as the builder basics.
With #3 introduce new features and fixes for Check DSL, Format DSL and the builder.
New features
Extension properties for checks implemented with Check DSL
One can now externall contribute properts for checks which are orthogonal to check definitions themselves. Check configurations then allow setting these properties per check. As an example, if you want to be able to makr your checks as integration blocking, then you can add a property "integration blocking" which is then possible to configure for all checks within a check configuration file.
To register extended properties an extension point "property" in CheckCfg is introduced. Consumers are expected to supply an implementation of the provided ICheckCfgPropertySpecification interface.
Improved no_format handling and support for DSLs with pre-processor
Builder allow additional modules for standalone injector
Adds an "additionalModules" parameter to IDynamicSetupService#doSetup() so that a client can give additional modules which will be used when creating the injector for the DSL in question.
This feature is intended for use in headless builders with generators to allow the generator plug-in to supply its own Guice module.
Support strict source type ordering in any build
The IBuildSorter API allows for sorters to sort URIs into multiple groups to allow for finer tuned build ordering/precedence.
Cleanups and bug fixes
Check DSL cleanups:
Check fixes:
Format DSL fixes:
(e.g.ActivatorForColumnLocatorBefore, ParameterCalculatorForColumnLocatorBefore) to compilable names.-
Format DSL runtime fixes:
Builder fixes:
Fix inconsistency of isPrelinkingPhase flag. The change adjusts the implementation of LazyLinkingResource2 to actually set the real value for isPrelinkingPhase instead of hard-coded 'false' literal in Xtext. In order to achieve this, method's implementation had to be copied, which is not very clean, however this change should make model inference more robust.
Include Stack Trace in the Logger when StackOverflowError is thrown. The Stack Trace is limit to the first and last 10 elements.
To simplify reintegration and releasing the missing components we also for now downgrade Xtext version used to 2.8.3.
Issues #3, #6