Releases: DoclerLabs/hexMachina
Releases · DoclerLabs/hexMachina
0.29.2
Enhancements
- Remove Core factory in DSL static compilers [#234]
- Remove unused dispatch ApplicationAssemblerMessage.IDLE_MODE in ContextFactory
Bugfixes
0.29.1
0.29.0
Change
- remove coreFactory.register for all DSL objects in StaticFlowCompilerTest and StaticXmlCompilerTest [hexIoC]
Enhancements
- Add Neko support in ConsoleNotifier [hexUnit]
- Unifiy exiting application in hexUnit with new ExitingNotifier, and remove this responsibility in TraceNotifier and ConsoleNotifier. [hexUnit]
- Add DCEMacroUtil [hexCore]
- MappingDefinitionUtil now has more semantical API since its functionality relates to the MappingDefinition and not to injector [hexInject]
- adding general mapDependency functionality to injectorUtil [hexInject]
- updated tink_macro dependency to 0.14.1 [hexDSL]
Bugfixes
- Fix MappingChecker when class has empty package [hexInject]
0.28.0
Features
Custom parser can be declared in flow DSL with @parser metadata
@context( name = 'applicationContext' )
@parser( package.MyCustomSumParser )
{
s = sum( "hello", space, "world", space, "!" );
space = " ";
i = sum( 6, five );
five = 5;
p = sum( p1, new hex.structures.Point( 3, 4 ), p2 );
p1 = new hex.structures.Point( 5, 5 );
p2 = new hex.structures.Point( 3, 4 );
}
Triggers are working with flow.
@context( name = 'applicationContext' )
{
model = new hex.mock.MockModelWithTrigger();
model.trigger.connect( listenerInterface );
model.callbacks.connect( listenerMethod.onTrigger );
listenerInterface = new hex.mock.MockTriggerListener();
listenerMethod = new hex.mock.MockTriggerListener();
}
Code compilation can be cloned with unique assembler reference.
var code = StaticFlowCompiler.compile( assembler, "context/flow/dsl.flow" );
code.execute();
var clonedCode = code.clone( new ApplicationAssembler() );
clonedCode.execute();
Assert.isInstanceOf( code.locator.instance, MockClassWithoutArgument );
Assert.isInstanceOf( clonedCode .locator.instance, MockClassWithoutArgument );
Assert.notEquals( code.locator.instance, clonedCode .locator.instance );
Enhancements
- ApplicationDomainDispatcher is a multiton depending on ApplicationContext reference (optional argument).
- AnnotationProvider instance depend on (optional) application context reference (useful for multiple application instances).
- Colors added to TraceNotifier ouput.
Changes
- DSL compiler.extend needs assembler reference as 1st argument.
- InjectionUtil is renamed as InjectorUtil.
- InjectionUtil .method addDefinition is extracted to MappingDefinitionUtil.
- InjectorUtil.unmapDependency added.
- IApplicationContext moved to core repository.
- ICoreFactory moved to core repository.
- ModuleMessage class removed. Modules don't send standard messages by default.
- #if debug conditionals removed to have IsLoggable annotations in release mode as well.
Bugfixes
- ModuleTest tests are not ignored in release mode.
0.27.2
0.27.1
Bugs
- Use module name with internal typedef for macro mapping [DoclerLabs/hexInject#62]
0.27.0
Dependencies
- Add tink_macro as hexDSL dependency
Features
- InjectionUtil.addDefinition automatically maps all definitions from a passed collection (of MappingDefinition). It filters the useless ones if the owner got class metadata (@dependency) that specifies required dependencies. You can switch off filtering with 3rd method argument. [DoclerLabs/hexInject@7c35ab0]
@type
metadata added to Flow dsl for static compilers to define abstract fields in the locator class. [DoclerLabs/hexDSL@5f5fddc]@lazy
metadata added to Flow dsl for static compilers to define lazy variable (instancied when/if it is used). [DoclerLabs/hexDSL@201058a]
Enhancements
- Flow DSL - runtime parameters of an imported child context can depend on another imported child context [DoclerLabs/hexDSL@49545c6]
- Flow DSL - method call on recursive reference is allowed [DoclerLabs/hexDSL@49545c6]
- Flow DSL - Float type added [DoclerLabs/hexDSL@efe27b2]
Bugs
- MacroUtil.getFQCNFromComplexType covers internal types belonging to a parent module [DoclerLabs/hexCore@fd61444]
- ReflectionBuilder doesn't reflect module which belongs types. [DoclerLabs/hexDSL@f652c40]
- Flow compiler fails to compile when there's no runtime parameters. [DoclerLabs/hexDSL@62fee2e]
- UniqueFuckingID is really unique now, no more lie! [FrancisBourre/hexIoC@1c34536]
0.26.0
Features
- StaticFlowCompiler handles event system like StaticXmlCompiler. [FrancisBourre/hexIoC#89]
Enhancements
- _readFile method is now public on every compilers [DoclerLabs/hexDSL@dece7c3, FrancisBourre/hexIoC@2f28482]
- FlowExpressionParser: methodParser renamed to buildMethodParser [DoclerLabs/hexDSL@9ea31ae]
- ExpressionUtil.getBool added [DoclerLabs/hexDSL@5acf62e]
0.25.0
Features
- All features of the BasicFlowCompiler and all latest features (except imports) added to StaticFlowCompiler. [FrancisBourre/hexIoC#88]
Enhancements
- add possibility to hide success test in ConsoleNotififer and TraceNotifier [DoclerLabs/hexUnit#27]
0.24.0
Features
- Preprocess added to DSL engine and use for RuntimeParameterProcessor [FrancisBourre/hexIoC@413ee86]
- Custom parser can be added before compiling. User case added with 'add' custom parser. [DoclerLabs/hexDSL@12eb996]
- Import xml DSL into flow DSL [DoclerLabs/hexDSL@8884b33]
- import members can be aliased [DoclerLabs/hexDSL@8884b33]
- Check application context name validity in DSL compilers [DoclerLabs/hexDSL@8884b33]
- Import recursivity [DoclerLabs/hexDSL@8884b33]
Enhancements
- Custom parsers recursivity added with few implementations: injectInto and mapType [DoclerLabs/hexDSL@654c52a, FrancisBourre/hexIoC@089bcb1]
Bugs
- Fix conditionalVariables in XmlReader [DoclerLabs/hexDSL@e13b0d2, FrancisBourre/hexIoC@74fefdb]
- Value assigned to recursive property reference [DoclerLabs/hexDSL@8884b33]
- Recursive property reference as value of another property [DoclerLabs/hexDSL@8884b33]
- Avoid false MappingDefinition detection with Context.unify on Dynamic [DoclerLabs/hexInject@d70bc01]