Skip to content

Commit

Permalink
Merge branch 'version2' of git://github.com/robotlegs/robotlegs-frame…
Browse files Browse the repository at this point in the history
…work into version2
  • Loading branch information
jjgonecrypto committed Oct 30, 2011
2 parents 559c6c8 + 45807e8 commit 6e82197
Show file tree
Hide file tree
Showing 225 changed files with 2,322 additions and 8,620 deletions.
254 changes: 254 additions & 0 deletions CHANGELOG.textile
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
48 changes: 48 additions & 0 deletions README.md
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.
59 changes: 0 additions & 59 deletions README.txt

This file was deleted.

Binary file not shown.
7 changes: 0 additions & 7 deletions assets/skins/ViewManagerExperimentsSkin.as

This file was deleted.

Binary file removed bin/ViewManagerExperimentsRunner.swf
Binary file not shown.
4 changes: 2 additions & 2 deletions build.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#Properties file for build.xml
project.name=robotlegs-framework-2
project.name=robotlegs-framework

#Version number for current Robotlegs and SwiftSuspenders releases
robotlegs.ver.num=v0.1
robotlegs.ver.num=v2.0.0b1
swift.suspenders.version=v2.0.0b1
project.name.versioned=${project.name}-${robotlegs.ver.num}
swift.suspenders.name.versioned=SwiftSuspenders-${swift.suspenders.version}
Expand Down
Loading

0 comments on commit 6e82197

Please sign in to comment.