forked from robotlegs/robotlegs-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'version2' of git://github.com/robotlegs/robotlegs-frame…
…work into version2
- Loading branch information
Showing
225 changed files
with
2,322 additions
and
8,620 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,254 @@ | ||
h2. Robotlegs Framework Changelog: | ||
|
||
h3. v1.5.2 | ||
|
||
Fixed: https://github.com/robotlegs/robotlegs-framework/issues/25 | ||
|
||
h3. v1.5.1 | ||
|
||
Fixed: https://github.com/robotlegs/robotlegs-framework/issues/24 | ||
|
||
h3. v1.5.0 | ||
|
||
*CommandMap Abstract Event Injection* | ||
For event-triggered commands the event is now also mapped to "Event". For example: | ||
|
||
[Inject] public var abstractEvent:Event; | ||
[Inject] public var concreteEvent:SomeEvent; | ||
|
||
*MVCS Mediator* | ||
Added syntactic sugar methods removeViewListener() and removeContextListener() | ||
|
||
*SwiftSuspenders* | ||
Updated SwiftSuspenders to v1.6.0 | ||
|
||
h3. v1.4.0 | ||
|
||
*ViewMap & MediatorMap* | ||
contextView stage listener optimizations. | ||
|
||
*MediatorMap* | ||
Added IMediatorMap#hasMapping(viewClassOrName:*):Boolean; | ||
|
||
h3. v1.3.0 | ||
|
||
*ApplicationDomain* | ||
Added applicationDomain getter/setter to IInjector to help with Application Domains. | ||
|
||
h3. v1.2.0 | ||
|
||
*MediatorMap.mapView* | ||
The injectViewAs parameter is changed from expecting a Class to expecting a Class or an Array of Classes. | ||
|
||
h3. v1.1.2 | ||
|
||
*ASDocs* | ||
Build script updated to bundle ASDocs into SWC for inline display in Flash Builder 4. Build needs to be run against Flex SDK 4.x | ||
|
||
h3. v1.1.1 | ||
|
||
*Mediator* | ||
Fixed: http://github.com/robotlegs/robotlegs-framework/issues/#issue/6 | ||
|
||
h3. v1.1.0 | ||
|
||
*SwiftSuspenders* | ||
Updated SwiftSuspenders to v1.5.1 | ||
PLEASE NOTE: mapValue no longer injects into the value instance - the old behaviour was incorrect. | ||
|
||
*Injector* | ||
Added IInjector#hasMapping(clazz:Class, named:String = ""):Boolean; | ||
Added IInjector#getInstance(clazz:Class, named:String = ""):*; | ||
Added IInjector#createChild():IInjector; | ||
|
||
*CommandMap* | ||
Added ICommandMap#execute(commandClass:Class, payload:Object = null, payloadClass:Class = null, named:String = ''):void | ||
Added ICommandMap#unmapEvents() - unmaps all event mappings | ||
Added ICommandMap#detain() and release() - enables Async Commands | ||
|
||
*Mediator* | ||
Added mvcs.Mediator EventMap Sugar: addViewListener() and addContextListener() | ||
|
||
*Misc* | ||
mvcs.Context: CommandMap and MediatorMap are handed child injectors - to enable non-destructive temporary mappings. | ||
Deprecated IContextProvider | ||
|
||
h3. v1.0.3 | ||
|
||
Fixed: http://github.com/robotlegs/robotlegs-framework/issues#issue/2 | ||
|
||
h3. v1.0.2 | ||
|
||
Fixed: http://github.com/robotlegs/robotlegs-framework/issues#issue/2 | ||
|
||
h3. v1.0.1 | ||
|
||
Updated SwiftSuspenders to v1.0.1 | ||
|
||
h3. v1.0.0 | ||
|
||
Whammo, and the Robot has Legs. We managed to avoid hitting double digits for the RCs! | ||
|
||
h3. v1.0RC9 | ||
|
||
Fixes to SwiftSuspenders | ||
|
||
h3. v1.0RC8 | ||
|
||
Added IMediatorMap.unmapView() | ||
|
||
h3. v1.0RC7 | ||
|
||
ViewMap.mapClass() changed to ViewMap.mapType() | ||
|
||
h3. v1.0RC6 | ||
|
||
Internal changes: ContextBase cleaned up - initialize() removed. Overriding the default apparatus: | ||
|
||
public function MyContext() | ||
{ | ||
injector = new SwiftSuspendersInjector(xmlConfig); | ||
super(); | ||
} | ||
|
||
h3. v1.0RC4/5 | ||
|
||
Fixes to SwiftSuspenders | ||
|
||
h3. v1.0RC3 | ||
|
||
Removed nometa package | ||
|
||
h3. v1.0RC2 | ||
|
||
CommandMap Bug fix | ||
|
||
h3. v1.0RC1 | ||
|
||
No changes | ||
|
||
h3. v0.9.8 - Untitled4 | ||
|
||
Removed ICommand | ||
|
||
*MediatorMap* | ||
Merged MediatorMap#mapModule into MediatorMap#mapView | ||
New view mapping signature | ||
mapView(viewClassOrName:*, mediatorClass:Class, injectViewAs:Class = null, autoCreate:Boolean = true, autoRemove:Boolean = true):void | ||
|
||
h3. v0.9.7 - XtensibleMixdownLoafers | ||
|
||
Enabled XML configuration of injection points | ||
|
||
h3. v0.9.6 - PanelBeaten | ||
|
||
Added the dispatch() helper method back to mvcs actors | ||
Removed named injection points | ||
|
||
*MediatorMap* | ||
Enabled automatic creation of mediator for contextView if mapped | ||
|
||
*ContextBase* | ||
Made all ContextBase constructor arguments optional to enable declarative (mxml) Context instantiation | ||
|
||
*Nometa* | ||
Introduced Nometa implementation | ||
|
||
*Actor* | ||
Unified Model and Service into Actor | ||
Removed Model | ||
Removed Service | ||
|
||
*EventMap* | ||
Added strong event mapping to EventMap | ||
|
||
*CommandMap* | ||
Re-ordered the mapping arguments | ||
From: mapEvent(commandClass:Class, eventType:String, eventClass:Class = null, oneshot:Boolean = false):void | ||
To: mapEvent(eventType:String, commandClass:Class, eventClass:Class = null, oneshot:Boolean = false):void | ||
|
||
h3. v0.9.5 - BigMistake2 | ||
|
||
Removed dispatchEvent() helper method - Again, really sorry about that little mixup there | ||
|
||
*Mediator* | ||
|
||
addEventListenerTo() becomes eventMap.mapListener() | ||
|
||
h3. v0.9.4 - WhatProxyWhere? | ||
|
||
Proxy renamed to Model | ||
|
||
h3. v0.9.3 - Untitled3 | ||
|
||
CommandMap bugfix | ||
|
||
h3. v0.9.2 - Untitled2 | ||
|
||
No changes! | ||
|
||
h3. v0.9.1 - BigMistake1 | ||
|
||
dispatch() helper method renamed to dispatchEvent() | ||
|
||
h3. v0.9 - ElasticChaos | ||
|
||
Removed "as3commons-logging":http://www.as3commons.org/ | ||
Removed EventBroadcaster | ||
|
||
MediatorFactory renamed to MediatorMap | ||
CommandFactory renamed to CommandMap | ||
IInjector.bind* renamed to IInjector.map* | ||
|
||
*ICommandMap* | ||
CommandMap now accepts optional Event class parameter for stronger mapping. | ||
The argument order had to be re-arranged so that the optional eventClass would come after the mandatory commandClass. | ||
|
||
From: mapEvent(type:String, commandClass:Class, oneshot:Boolean = false):void; | ||
To: mapEvent(commandClass:Class, eventType:String, eventClass:Class = null, oneshot:Boolean = false):void; | ||
|
||
*Constructor Injection* | ||
Changed all automated instantiation to use IInjector#instantiate to enable constructor injection, changed DI adapters accordingly and added new SwiftSuspenders support constructor injection | ||
|
||
*Bonus Adapters Removed* | ||
Removed Spring Action Script and SmartyPants-IOC adapters (they can be installed separately) | ||
|
||
h3. v0.8.1 - SwiftyPants | ||
|
||
Added adapters for "SwiftSuspenders":http://github.com/tschneidereit/SwiftSuspenders | ||
|
||
h3. v0.8 - ByeByeFlex | ||
|
||
FlexMediator decoupled from Flex and merged into Mediator | ||
Removed FlexMediator | ||
|
||
h3. v0.7 - ShortWave | ||
|
||
Added dispatch() helper method | ||
|
||
h3. v0.6 - Untitled1 | ||
|
||
Introduced "as3commons-logging":http://www.as3commons.org/ | ||
|
||
h3. v0.5.2 - TheRegister | ||
|
||
IMediator.onRegisterComplete renamed to IMediator.onRegister | ||
|
||
h3. v0.4 - OrganDonor | ||
|
||
net.boyblack.robotlegs.* renamed to org.robotlegs.* | ||
|
||
h3. v0.3 - ElastoBoot | ||
|
||
Added Spring ActionScript adapters | ||
Provided adapters: "SmartyPants-IOC":http://smartypants.expantra.net/ | ||
Provided adapters: "SpringActionScript":http://www.springactionscript.org/ | ||
|
||
h3. v0.2 - ReversiblePants | ||
|
||
Introduced DI and reflection adapters | ||
Provided adapters: "SmartyPants-IOC":http://smartypants.expantra.net/ | ||
|
||
h3. v0.1 | ||
|
||
Proof-of-concept prototype |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Welcome to Robotlegs 2! | ||
|
||
This code is still a work in progress from two angles: | ||
|
||
1. We're still nailing down the exact right api and expected behaviour. | ||
2. We're still covering corner cases to test and implement the behaviour we choose. | ||
|
||
## What's the eta for a beta? | ||
|
||
It rather depends how many things the community come up with that we don't have covered, but hopefully we'll find that the API is a great fit with your needs, and we can proceed quickly to feature-stable alphas and betas. | ||
|
||
Think weeks. | ||
|
||
## What can I help with? | ||
|
||
Functionality in Robotlegs 2 is 'built' rather than 'built-in'. This means that Robotlegs 1 favourites such as the MediatorMap and CommandMap are contained in their own packages. | ||
|
||
The package structure is: | ||
|
||
extensions | ||
- someMap | ||
- api (interfaces and events) | ||
- impl (stuff to do the job) | ||
- SomeMapExtension (a file that 'installs' this extension into Robotlegs 2) | ||
|
||
Note that we're using camelCase for the packages. We don't love it but it's the official adobe style and in the end we decided that it was easier to go with that prescription than to weight up the pros and cons of all our different style preferences. | ||
|
||
### It's all about the tests | ||
|
||
In the test package you'll find copious tests that show you what functionality is intended and has been ticked off. | ||
|
||
You'll be our best friend if you do any of the following: | ||
|
||
* Write implementation tests that could pick up corner cases, and can act as illustrations of the behaviour. | ||
* Read our current tests and point out corner cases that need coverage. | ||
|
||
## Start building examples soon | ||
|
||
It's probably not worth building examples today, but by next week it should be possible to put together example projects which will help unveil holes and problems with the api. | ||
|
||
## Start building extensions! | ||
|
||
If you've got an existing RL1 extension or utility, get in touch and we'll put you on track to port it to Robotlegs 2. If you've got a new idea, let us know and we'll let you know whether it's something that can hang off of some of our core functionality, or whether you need to build from scratch, and we can give you guidance on how to get it to install in Robotlegs 2. | ||
|
||
## Get involved in the conversation | ||
|
||
We have spent a lot of time experimenting and following a few different paths to explore what Robotlegs 2 should be. We are by no means 100% certain of the current api or implementation - and we'd definitely like your input. Commit comments are particularly useful, and we'll also come up with a plan for enabling focussed discussion on each of the important topics. |
This file was deleted.
Oops, something went wrong.
Binary file not shown.
This file was deleted.
Oops, something went wrong.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.