Skip to content

Releases: DoclerLabs/hexMachina

0.29.2

12 Sep 09:23
Compare
Choose a tag to compare

Enhancements

  • Remove Core factory in DSL static compilers [#234]
  • Remove unused dispatch ApplicationAssemblerMessage.IDLE_MODE in ContextFactory

Bugfixes

  • Fix flow static-call on class without classpath [#236]
  • Fix duplicate properties generated code [#235]
  • update module.initialize call in CompileTimeContextFactory

0.29.1

05 Sep 06:55
Compare
Choose a tag to compare

Bugfix

Apply injectInto in MappingDefinitionUtil.addToInjector after all mapping, like in MappingChecker.

0.29.0

02 Sep 21:23
Compare
Choose a tag to compare

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

08 Aug 11:28
Compare
Choose a tag to compare

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

13 Jul 18:30
Compare
Choose a tag to compare

0.27.1

10 Jul 13:48
Compare
Choose a tag to compare

Bugs

0.27.0

10 Jul 05:54
Compare
Choose a tag to compare

Dependencies

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

Bugs

0.26.0

28 Jun 15:12
Compare
Choose a tag to compare

Features

Enhancements

0.25.0

28 Jun 07:42
Compare
Choose a tag to compare

Features

  • All features of the BasicFlowCompiler and all latest features (except imports) added to StaticFlowCompiler. [FrancisBourre/hexIoC#88]

Enhancements

0.24.0

27 Jun 07:39
Compare
Choose a tag to compare

Features

Enhancements

Bugs