Fixed elementType filtering on ExpandersExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact. and ExpansionSteps to take 'component' into account.
[mapping] Fixed expansionResource variable binding not pointing to the correct resource for Features due to expanderExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact.
variables incorrectly taking precedence over feature variables.
Fixed expandersExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact. no longer recognising elements with superType under the abstract type name.
Changed sorting behaviour when using <item> or <items> to be more intuitive.
Sorting will now occur within <items> instead of on the entire list.
If a list mapping contains multiple items mappings, the items will appear in order of appearance in the mapping.
Fixed issue in tests using classic expanderExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact. test api causing error with ExpansionSource variable.
[mapping] Changed name attribute in foreach to required.
Fixed PropertyMappingException not showing cause error message as intended.
Added support for providing Variable bindings. Variables can be provided by implementing
net.democritus.expander.variables.ExpanderVariable and registering it as a Service.
Add VariableScope annotation to define where the variable is applicable.
[mapping] Added new syntax for list
foreach adds a new iteration. List mappings can now include multiple iterations.
item adds a single item.
items adds a number of items based on its internal mapping.
[mapping] Added strict attribute to mapping header. If set to true, the mapping will fail when encountering
references to unbound variables.
[mapping] Added format() function. Can be used to build strings in a compact way.
(e.g. format('${component.name}/${dataElement.name.firstToLower}'))
Improved legibility of ExpanderExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact. stack-traces.
Refactored existing variable bindings to ExpanderVariables, including descriptions to make stack-traces more informative.
[mapping] Name attributes are now optional in <filter, <distinct>, <foreach>, <sorted>, <item> and <items>.
Moved expandersExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact.-core and expandersExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact.-test-utils to expandersExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact.-core repository.
expander-core is no longer a fat jar. Transitive dependencies will now have to be included separately.