Build failed in Jenkins: royale-asjs #2430

2019-07-04 Thread Apache Royale CI Server
See 


--
[...truncated 1.44 MB...]
test:
[mkdir] Created dir: 

[royaleunit] Validating task attributes ...
[royaleunit] Generating default values ...
[royaleunit] Using the following settings for the test run:
[royaleunit]ROYALE_HOME: 
[
[royaleunit]haltonfailure: [true]
[royaleunit]headless: [false]
[royaleunit]display: [99]
[royaleunit]localTrusted: [true]
[royaleunit]player: [flash]
[royaleunit]port: [1024]
[royaleunit]swf: 
[
[royaleunit]timeout: [9ms]
[royaleunit]toDir: 
[
[royaleunit] Setting up server process ...
[royaleunit] Starting server ...
[royaleunit] Opening server socket on port [1024].
[royaleunit] Waiting for client connection ...
[royaleunit] Entry 
[
 already available in local trust file at 
[C:\Users\apacheroyale\AppData\Roaming\Macromedia\Flash 
Player\#Security\FlashPlayerTrust\royaleUnit.cfg].
[royaleunit] Executing 'rundll32' with arguments:
[royaleunit] 'url.dll,FileProtocolHandler'
[royaleunit] 
'
[royaleunit] 
[royaleunit] The ' characters around the executable and arguments are
[royaleunit] not part of the command.
[royaleunit] 
[royaleunit] Client connected.
[royaleunit] Setting inbound buffer size to [262144] bytes.
[royaleunit] Receiving data ...
[royaleunit] Sending acknowledgement to player to start sending test data ...
[royaleunit] 
[royaleunit] 
[royaleunit] Stopping server ...
[royaleunit] End of test data reached, sending acknowledgement to player ...
[royaleunit] Closing client connection ...
[royaleunit] Closing server on port [1024] ...
[royaleunit] Analyzing reports ...
[royaleunit] 
[royaleunit] Suite: flexUnitTests.DataGridColumnTest
[royaleunit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
0.123 sec
[royaleunit] 
[royaleunit] Results :
[royaleunit] 
[royaleunit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
0.123 sec
[royaleunit] 
[junitreport] Processing 

 to C:\Users\APACHE~1\AppData\Local\Temp\2\null1945474045
[junitreport] Loading stylesheet 
jar:file:/C:/apache/apache-ant-1.9.9/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] Transform time: 1449ms
[junitreport] Deleting: C:\Users\APACHE~1\AppData\Local\Temp\2\null1945474045

main:
 [echo] swc-date is 07/05/19 04:34 +

test-js:
 [echo] swc-date is 07/05/19 04:35 +
   [delete] Deleting: 


check-for-tests:

check-compiler-home:

check-transpiler-home:

check-compiler:

test:

clean:

compile:
 [echo] Cross-compiling tests
 [echo] ROYALE_HOME: 

 [echo] ROYALE_SWF_COMPILER_HOME: 

 [echo] playerglobal.version: 11.7
Trying to override old definition of task compc
Trying to override old definition of task mxmlc
[mxmlc] MXMLJSC
[mxmlc] -debug
[mxmlc] -compiler.targets=JSRoyale
[mxmlc] -js-output=target
[mxmlc] +playerglobal.version=11.7
[mxmlc] +env.PLAYERGLOBAL_HOME=C:\adobe\flash
[mxmlc] 
+royalelib=
[mxmlc] --
[mxmlc] 

[mxmlc] Jul 05, 2019 4:35:32 AM 
com.google.javascript.jscomp.LoggerErrorManager printSummary
[mxmlc] INFO: 0 error(s), 0 warning(s), 97.8% typed
[mxmlc] The project 'FlexUnitRoyaleApplication' has been successfully 
compiled and optimized.
[mxmlc] 17.7371205 seconds
[mxmlc] 

Build failed in Jenkins: royale-asjs #2429

2019-07-04 Thread Apache Royale CI Server
See 


--
[...truncated 1.44 MB...]
[mxmlc] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Xms384m -Xmx1g 

test:
[mkdir] Created dir: 

[royaleunit] Validating task attributes ...
[royaleunit] Generating default values ...
[royaleunit] Using the following settings for the test run:
[royaleunit]ROYALE_HOME: 
[
[royaleunit]haltonfailure: [true]
[royaleunit]headless: [false]
[royaleunit]display: [99]
[royaleunit]localTrusted: [true]
[royaleunit]player: [flash]
[royaleunit]port: [1024]
[royaleunit]swf: 
[
[royaleunit]timeout: [9ms]
[royaleunit]toDir: 
[
[royaleunit] Setting up server process ...
[royaleunit] Starting server ...
[royaleunit] Opening server socket on port [1024].
[royaleunit] Waiting for client connection ...
[royaleunit] Entry 
[
 already available in local trust file at 
[C:\Users\apacheroyale\AppData\Roaming\Macromedia\Flash 
Player\#Security\FlashPlayerTrust\royaleUnit.cfg].
[royaleunit] Executing 'rundll32' with arguments:
[royaleunit] 'url.dll,FileProtocolHandler'
[royaleunit] 
'
[royaleunit] 
[royaleunit] The ' characters around the executable and arguments are
[royaleunit] not part of the command.
[royaleunit] 
[royaleunit] Client connected.
[royaleunit] Setting inbound buffer size to [262144] bytes.
[royaleunit] Receiving data ...
[royaleunit] Sending acknowledgement to player to start sending test data ...
[royaleunit] 
[royaleunit] 
[royaleunit] Stopping server ...
[royaleunit] End of test data reached, sending acknowledgement to player ...
[royaleunit] Closing client connection ...
[royaleunit] Closing server on port [1024] ...
[royaleunit] Analyzing reports ...
[royaleunit] 
[royaleunit] Suite: flexUnitTests.DataGridColumnTest
[royaleunit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
0.123 sec
[royaleunit] 
[royaleunit] Results :
[royaleunit] 
[royaleunit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
0.123 sec
[royaleunit] 
[junitreport] Processing 

 to C:\Users\APACHE~1\AppData\Local\Temp\2\null1083829035
[junitreport] Loading stylesheet 
jar:file:/C:/apache/apache-ant-1.9.9/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] Transform time: 1475ms
[junitreport] Deleting: C:\Users\APACHE~1\AppData\Local\Temp\2\null1083829035

main:
 [echo] swc-date is 07/05/19 03:09 +

test-js:
 [echo] swc-date is 07/05/19 03:10 +
   [delete] Deleting: 


check-for-tests:

check-compiler-home:

check-transpiler-home:

check-compiler:

test:

clean:

compile:
 [echo] Cross-compiling tests
 [echo] ROYALE_HOME: 

 [echo] ROYALE_SWF_COMPILER_HOME: 

 [echo] playerglobal.version: 11.7
Trying to override old definition of task compc
Trying to override old definition of task mxmlc
[mxmlc] MXMLJSC
[mxmlc] -debug
[mxmlc] -compiler.targets=JSRoyale
[mxmlc] -js-output=target
[mxmlc] +playerglobal.version=11.7
[mxmlc] +env.PLAYERGLOBAL_HOME=C:\adobe\flash
[mxmlc] 
+royalelib=
[mxmlc] --
[mxmlc] 

[mxmlc] The project 'FlexUnitRoyaleApplication' has been successfully 
compiled.
[mxmlc] 
:
 col: 9 Warning: public var may not work in minified JS output.  Use 
getter/setter instead.
[mxmlc] 

Re: Crux Branch

2019-07-04 Thread Carlos Rovira
Hi Andrew,

good point! That's without doubt another new point to bring to :

- Royale-docs: We can follow most of the documentation available here [1]
- Examples: In this case I don't see a Tour app since the use cases are
very direct and can be exposed in few examples.
Greg already provide 3 examples that shows all the things currently
developed here [2]. I think we'll need to do soon a blog example
covering Crux too that could be one of those or a new one. For example TODO
List example would be a good one to apply Crux ;)

[1] https://swizframework.jira.com/wiki/spaces/SWIZ/overview
[2] https://github.com/apache/royale-asjs/tree/feature/Crux/examples/crux

So many work there too to make it all avaialble to Apache Royale users as
easy as possible ;)



El jue., 4 jul. 2019 a las 18:46, Andrew Wetmore ()
escribió:

> This is great.
>
> However, even with the original Swiz I found the documentation quite thin
> and that it made a lot of assumptions about what a general developer might
> know and need to know. This site [1] made an attempt about ten years ago to
> improve on an intro to Swiz. What plans are in the works to not only
> provide Crux, but make it welcoming and accessible? Tour de Crux??
>
> a
>
> [1] https://deshartman.wordpress.com/2010/02/07/first-swiz/
>
> On Thu, Jul 4, 2019 at 1:17 PM Josh Tynjala 
> wrote:
>
> > Cool stuff, Greg and Carlos!
> >
> > One concern: In Flash, the "addedToStage" event does not bubble. It's
> > actually the "added" event that bubbles and is used by frameworks like
> > Swiz, Cairngorm, Robotlegs, etc.
> >
> > To avoid potential confusion for people migrating an existing app from
> > Flex/Flash that might already listen for that event (and wouldn't expect
> it
> > to bubble), I'd recommend using a different name than "addedToStage". It
> > could be "added", like Flash. Or it could even have a new name that's
> > similar to "addedToStage", but is more relevant to Royale. Royale doesn't
> > have a "stage", so that name feels a bit out of place to me anyway. Maybe
> > "addedToApplication" or something like that.
> >
> > - Josh
> >
> >
> > On Wed, Jul 3, 2019, 11:11 PM Greg Dove  wrote:
> >
> > > Hi all,
> > >
> > > Just a quick advance notice that we are getting something very similar
> to
> > > Swiz before too long.
> > > There is a new branch called feature/Crux
> > >
> > > We can still explore other possible ways to incorporate Swiz code in
> > Royale
> > > (we have looked at having the code donated in the past), but for now at
> > > least it is as a derivative work, differentiated by name as 'Crux' and
> > > hence the name of the branch. 'Crux' means a main or pivotal point -
> > > something important - and a common English expression that can express
> > that
> > > is when someone says ""the crux of the matter" - it means an important
> > > thing to focus on.
> > >
> > > The name is what it is now - it is short and has a powerful meaning.
> But
> > > certainly we can review that too.
> > >
> > > The branch has the beginnings of the original Swiz functionality which
> > > supports metadata driven Injection (including runtime Binding
> Injection),
> > > EventHandlers, main Dispatcher etc.
> > > Those things are already shown in 3 examples [1] in examples/crux in
> the
> > > branch, (but I did not check the ant builds for those yet- I will get
> to
> > > that). Beyond those features, I have not ventured far yet, and perhaps
> > some
> > > of the others may not be relevant for Royale.
> > >
> > > In case it's useful elsewhere, there is also a new JSStageEvents
> 'stage
> > > events' simulator bead which works from the main application level, and
> > > provides bubbling 'addedToStage' events which Crux listens to at the
> top
> > > level. These can be filtered (so not everything generates the events,
> for
> > > example). Not sure if that might be useful for other things, just
> > > mentioning it for now... It does dispatch 'removedFromStage' as well,
> but
> > > too late for bubbling, so I will investigate if I can do something a
> bit
> > > sneaky to see if I can make that work. Otherwise it is always possible
> to
> > > add  removedFromStage  listeners directly to the target of interest
> > inside
> > > an 'addedToStage' listener.
> > >
> > > I expect there will be bugs, and I of course there will be many things
> I
> > > can continue to improve, so this is just an early announcement for your
> > > awareness. Carlos sponsored a large chunk of my time on this, so you
> have
> > > him to thank for that, but I have also contributed a lot of my own
> time,
> > > and will continue to do so. Thanks also to Alex for recent guidance on
> > > licencing issues, this was uncharted territory for me.
> > >
> > > Anyhow, Carlos will, I am sure, provide more info, he is very familiar
> > with
> > > Swiz from the past.
> > >
> > > -Greg
> > >
> > >
> > > 1.
> https://github.com/apache/royale-asjs/tree/feature/Crux/examples/crux
> > >
> >
>
>
> --
> Andrew Wetmore
>
> 

Re: Crux Branch

2019-07-04 Thread Carlos Rovira
Hi Josh,

thanks for the words! very appreciated :)

I think you're right, and the new name seems ok for me too
(addedToApplication),
maybe event JSStageEvents, should be rethinked too. @Greg Dove
 should we need the JS
prefix? what about "ApplicationEvents"

if maybe Application is very generic, we can think in other options like:

- addedToCrux - CruxEvents
- addedToDisplay - DisplayEvents
...

or maybe other one that others bring on the table

Thanks!







El jue., 4 jul. 2019 a las 18:17, Josh Tynjala ()
escribió:

> Cool stuff, Greg and Carlos!
>
> One concern: In Flash, the "addedToStage" event does not bubble. It's
> actually the "added" event that bubbles and is used by frameworks like
> Swiz, Cairngorm, Robotlegs, etc.
>
> To avoid potential confusion for people migrating an existing app from
> Flex/Flash that might already listen for that event (and wouldn't expect it
> to bubble), I'd recommend using a different name than "addedToStage". It
> could be "added", like Flash. Or it could even have a new name that's
> similar to "addedToStage", but is more relevant to Royale. Royale doesn't
> have a "stage", so that name feels a bit out of place to me anyway. Maybe
> "addedToApplication" or something like that.
>
> - Josh
>
>
> On Wed, Jul 3, 2019, 11:11 PM Greg Dove  wrote:
>
> > Hi all,
> >
> > Just a quick advance notice that we are getting something very similar to
> > Swiz before too long.
> > There is a new branch called feature/Crux
> >
> > We can still explore other possible ways to incorporate Swiz code in
> Royale
> > (we have looked at having the code donated in the past), but for now at
> > least it is as a derivative work, differentiated by name as 'Crux' and
> > hence the name of the branch. 'Crux' means a main or pivotal point -
> > something important - and a common English expression that can express
> that
> > is when someone says ""the crux of the matter" - it means an important
> > thing to focus on.
> >
> > The name is what it is now - it is short and has a powerful meaning. But
> > certainly we can review that too.
> >
> > The branch has the beginnings of the original Swiz functionality which
> > supports metadata driven Injection (including runtime Binding Injection),
> > EventHandlers, main Dispatcher etc.
> > Those things are already shown in 3 examples [1] in examples/crux in the
> > branch, (but I did not check the ant builds for those yet- I will get to
> > that). Beyond those features, I have not ventured far yet, and perhaps
> some
> > of the others may not be relevant for Royale.
> >
> > In case it's useful elsewhere, there is also a new JSStageEvents  'stage
> > events' simulator bead which works from the main application level, and
> > provides bubbling 'addedToStage' events which Crux listens to at the top
> > level. These can be filtered (so not everything generates the events, for
> > example). Not sure if that might be useful for other things, just
> > mentioning it for now... It does dispatch 'removedFromStage' as well, but
> > too late for bubbling, so I will investigate if I can do something a bit
> > sneaky to see if I can make that work. Otherwise it is always possible to
> > add  removedFromStage  listeners directly to the target of interest
> inside
> > an 'addedToStage' listener.
> >
> > I expect there will be bugs, and I of course there will be many things I
> > can continue to improve, so this is just an early announcement for your
> > awareness. Carlos sponsored a large chunk of my time on this, so you have
> > him to thank for that, but I have also contributed a lot of my own time,
> > and will continue to do so. Thanks also to Alex for recent guidance on
> > licencing issues, this was uncharted territory for me.
> >
> > Anyhow, Carlos will, I am sure, provide more info, he is very familiar
> with
> > Swiz from the past.
> >
> > -Greg
> >
> >
> > 1. https://github.com/apache/royale-asjs/tree/feature/Crux/examples/crux
> >
>


-- 
Carlos Rovira
http://about.me/carlosrovira


Re: Crux Branch

2019-07-04 Thread Andrew Wetmore
This is great.

However, even with the original Swiz I found the documentation quite thin
and that it made a lot of assumptions about what a general developer might
know and need to know. This site [1] made an attempt about ten years ago to
improve on an intro to Swiz. What plans are in the works to not only
provide Crux, but make it welcoming and accessible? Tour de Crux??

a

[1] https://deshartman.wordpress.com/2010/02/07/first-swiz/

On Thu, Jul 4, 2019 at 1:17 PM Josh Tynjala 
wrote:

> Cool stuff, Greg and Carlos!
>
> One concern: In Flash, the "addedToStage" event does not bubble. It's
> actually the "added" event that bubbles and is used by frameworks like
> Swiz, Cairngorm, Robotlegs, etc.
>
> To avoid potential confusion for people migrating an existing app from
> Flex/Flash that might already listen for that event (and wouldn't expect it
> to bubble), I'd recommend using a different name than "addedToStage". It
> could be "added", like Flash. Or it could even have a new name that's
> similar to "addedToStage", but is more relevant to Royale. Royale doesn't
> have a "stage", so that name feels a bit out of place to me anyway. Maybe
> "addedToApplication" or something like that.
>
> - Josh
>
>
> On Wed, Jul 3, 2019, 11:11 PM Greg Dove  wrote:
>
> > Hi all,
> >
> > Just a quick advance notice that we are getting something very similar to
> > Swiz before too long.
> > There is a new branch called feature/Crux
> >
> > We can still explore other possible ways to incorporate Swiz code in
> Royale
> > (we have looked at having the code donated in the past), but for now at
> > least it is as a derivative work, differentiated by name as 'Crux' and
> > hence the name of the branch. 'Crux' means a main or pivotal point -
> > something important - and a common English expression that can express
> that
> > is when someone says ""the crux of the matter" - it means an important
> > thing to focus on.
> >
> > The name is what it is now - it is short and has a powerful meaning. But
> > certainly we can review that too.
> >
> > The branch has the beginnings of the original Swiz functionality which
> > supports metadata driven Injection (including runtime Binding Injection),
> > EventHandlers, main Dispatcher etc.
> > Those things are already shown in 3 examples [1] in examples/crux in the
> > branch, (but I did not check the ant builds for those yet- I will get to
> > that). Beyond those features, I have not ventured far yet, and perhaps
> some
> > of the others may not be relevant for Royale.
> >
> > In case it's useful elsewhere, there is also a new JSStageEvents  'stage
> > events' simulator bead which works from the main application level, and
> > provides bubbling 'addedToStage' events which Crux listens to at the top
> > level. These can be filtered (so not everything generates the events, for
> > example). Not sure if that might be useful for other things, just
> > mentioning it for now... It does dispatch 'removedFromStage' as well, but
> > too late for bubbling, so I will investigate if I can do something a bit
> > sneaky to see if I can make that work. Otherwise it is always possible to
> > add  removedFromStage  listeners directly to the target of interest
> inside
> > an 'addedToStage' listener.
> >
> > I expect there will be bugs, and I of course there will be many things I
> > can continue to improve, so this is just an early announcement for your
> > awareness. Carlos sponsored a large chunk of my time on this, so you have
> > him to thank for that, but I have also contributed a lot of my own time,
> > and will continue to do so. Thanks also to Alex for recent guidance on
> > licencing issues, this was uncharted territory for me.
> >
> > Anyhow, Carlos will, I am sure, provide more info, he is very familiar
> with
> > Swiz from the past.
> >
> > -Greg
> >
> >
> > 1. https://github.com/apache/royale-asjs/tree/feature/Crux/examples/crux
> >
>


-- 
Andrew Wetmore

http://cottage14.blogspot.com/


Re: Crux Branch

2019-07-04 Thread Josh Tynjala
Cool stuff, Greg and Carlos!

One concern: In Flash, the "addedToStage" event does not bubble. It's
actually the "added" event that bubbles and is used by frameworks like
Swiz, Cairngorm, Robotlegs, etc.

To avoid potential confusion for people migrating an existing app from
Flex/Flash that might already listen for that event (and wouldn't expect it
to bubble), I'd recommend using a different name than "addedToStage". It
could be "added", like Flash. Or it could even have a new name that's
similar to "addedToStage", but is more relevant to Royale. Royale doesn't
have a "stage", so that name feels a bit out of place to me anyway. Maybe
"addedToApplication" or something like that.

- Josh


On Wed, Jul 3, 2019, 11:11 PM Greg Dove  wrote:

> Hi all,
>
> Just a quick advance notice that we are getting something very similar to
> Swiz before too long.
> There is a new branch called feature/Crux
>
> We can still explore other possible ways to incorporate Swiz code in Royale
> (we have looked at having the code donated in the past), but for now at
> least it is as a derivative work, differentiated by name as 'Crux' and
> hence the name of the branch. 'Crux' means a main or pivotal point -
> something important - and a common English expression that can express that
> is when someone says ""the crux of the matter" - it means an important
> thing to focus on.
>
> The name is what it is now - it is short and has a powerful meaning. But
> certainly we can review that too.
>
> The branch has the beginnings of the original Swiz functionality which
> supports metadata driven Injection (including runtime Binding Injection),
> EventHandlers, main Dispatcher etc.
> Those things are already shown in 3 examples [1] in examples/crux in the
> branch, (but I did not check the ant builds for those yet- I will get to
> that). Beyond those features, I have not ventured far yet, and perhaps some
> of the others may not be relevant for Royale.
>
> In case it's useful elsewhere, there is also a new JSStageEvents  'stage
> events' simulator bead which works from the main application level, and
> provides bubbling 'addedToStage' events which Crux listens to at the top
> level. These can be filtered (so not everything generates the events, for
> example). Not sure if that might be useful for other things, just
> mentioning it for now... It does dispatch 'removedFromStage' as well, but
> too late for bubbling, so I will investigate if I can do something a bit
> sneaky to see if I can make that work. Otherwise it is always possible to
> add  removedFromStage  listeners directly to the target of interest inside
> an 'addedToStage' listener.
>
> I expect there will be bugs, and I of course there will be many things I
> can continue to improve, so this is just an early announcement for your
> awareness. Carlos sponsored a large chunk of my time on this, so you have
> him to thank for that, but I have also contributed a lot of my own time,
> and will continue to do so. Thanks also to Alex for recent guidance on
> licencing issues, this was uncharted territory for me.
>
> Anyhow, Carlos will, I am sure, provide more info, he is very familiar with
> Swiz from the past.
>
> -Greg
>
>
> 1. https://github.com/apache/royale-asjs/tree/feature/Crux/examples/crux
>


Re: Crux Branch

2019-07-04 Thread Carlos Rovira
Hi all,

thanks Greg for the introduction and for the great work here.
I think you made an excellent task in bringing this project to live :).

Crux is an important piece for all of us trying to make a complex
application.
Until now the Royale option for this kind of "microarquitecture" was
PureMVC (I think the only MVC available out there).
In Flex we had Cairngorm too, but then other frameworks based on Metadata,
IoC and Injection of dependencies
came to dominate this kind of necessity, I think Parsley and Swiz was two
of the most known and used but many others
was there to fill that gap.

These days JS frameworks bring something similar with libraries very well
crafted like Redux (for React).
We needed this kind of library so much to grow our codes in the right way.
While doing our first Royale
real app we tried other ways (like using a bead system), but finally it was
clear that we needed a framework
to fill the gap. So in other to grow we found that we need to bring
something like this before continue expanding the code
in our real Royale app.

The main problem we discover is that while beads works great at component
level, and to hold a model for a concrete instance,
we need to "inject" instances to share models, controllers and communicate
different parts of the application with events
but sharing different unique models, controllers and other application
unique instances.
So the problem is certainly different at component level we want to
dispatch events and communicate via strand.
At application level we want different parts of application have common
pieces and be able to share
events across all different application pieces. And all of this with the
less code possible.
So here comes Swiz "Inject", "Dispatcher" and "EventHandler" are the key
metadata that make all very easy.

I always liked Swiz due to its simplicity, tiny code that does great things
and solve many problems and want to have something like that here
in Royale.

In 2016 we tried to bring Swiz to Apache Flex. We even had Chris Scott
(original Swiz author) baking this movement. But was a problem
since we needed the rest of the authors agreement although Swiz was in
ALv2. what was nearly impossible since most of the authors were
unavailable vía the email accounts we could gather for them.

This time is different. We're not trying to bring/donate Swiz to Apache
Royale. Swiz does not run at all in Royale. If we still want to try that
we still need to do that in Apache Flex since Swiz is for Flex.

We need to create a new framework (hence the new name Crux) but based on
parts of Swiz (thanks to ALv2). So Crux looks in many aspects like Swiz,
but is not Swiz anymore. IOW, if Swiz will be live this days we wouldn't
able to add this big changes to the latest Swiz version, since Swiz was for
Flex and this new framework is for Royale. So this is an important point
that we all need to know. Crux is derivative work from Swiz that changes
many internal things to make it work in Royale and shares names and in most
of the cases internal structure but its target is a completely different
technology, so Swiz could continue (if someone resurrect it) evolve on its
own to continue working for Apache Flex, while Crux will need its own
roadmap, changes and evolution to work for Apache Royale.

In the other hand, in this process we was again in contact with Chris Scott
(I want to thank him for begin so collaborative with us) that is aware of
our intention of creating this new codebase based on his Swiz called Crux
and are supporting it. He's completely aligned with the movement, and we
want to give him and the rest of the original Swiz team the credit and want
to make all know(in our docs, examples, and social networks as we can share
this news) that Crux comes from the concepts and original code of Swiz, and
we was able to have this today thanks to the current work done by Greg, and
of course to the work Swiz developers did in the past for Flex.

To end. I think this is a first commit and I'm sure there will be many
issues as normal. Hope we can merge this branch soon and continue finding
and fixing issues we found and as well looking at the scenarios still not
tested. For example, will work Modules with Crux?...there's still things to
be cleared, but this is a great starting point without doubt. For me this
was the latest needed piece to use Royale in big applications and systems,
and I think we can start using it as today :).

Thanks!

Carlos





El jue., 4 jul. 2019 a las 8:11, Greg Dove () escribió:

> Hi all,
>
> Just a quick advance notice that we are getting something very similar to
> Swiz before too long.
> There is a new branch called feature/Crux
>
> We can still explore other possible ways to incorporate Swiz code in Royale
> (we have looked at having the code donated in the past), but for now at
> least it is as a derivative work, differentiated by name as 'Crux' and
> hence the name of the branch. 'Crux' means a main or pivotal point -
> 

Crux Branch

2019-07-04 Thread Greg Dove
Hi all,

Just a quick advance notice that we are getting something very similar to
Swiz before too long.
There is a new branch called feature/Crux

We can still explore other possible ways to incorporate Swiz code in Royale
(we have looked at having the code donated in the past), but for now at
least it is as a derivative work, differentiated by name as 'Crux' and
hence the name of the branch. 'Crux' means a main or pivotal point -
something important - and a common English expression that can express that
is when someone says ""the crux of the matter" - it means an important
thing to focus on.

The name is what it is now - it is short and has a powerful meaning. But
certainly we can review that too.

The branch has the beginnings of the original Swiz functionality which
supports metadata driven Injection (including runtime Binding Injection),
EventHandlers, main Dispatcher etc.
Those things are already shown in 3 examples [1] in examples/crux in the
branch, (but I did not check the ant builds for those yet- I will get to
that). Beyond those features, I have not ventured far yet, and perhaps some
of the others may not be relevant for Royale.

In case it's useful elsewhere, there is also a new JSStageEvents  'stage
events' simulator bead which works from the main application level, and
provides bubbling 'addedToStage' events which Crux listens to at the top
level. These can be filtered (so not everything generates the events, for
example). Not sure if that might be useful for other things, just
mentioning it for now... It does dispatch 'removedFromStage' as well, but
too late for bubbling, so I will investigate if I can do something a bit
sneaky to see if I can make that work. Otherwise it is always possible to
add  removedFromStage  listeners directly to the target of interest inside
an 'addedToStage' listener.

I expect there will be bugs, and I of course there will be many things I
can continue to improve, so this is just an early announcement for your
awareness. Carlos sponsored a large chunk of my time on this, so you have
him to thank for that, but I have also contributed a lot of my own time,
and will continue to do so. Thanks also to Alex for recent guidance on
licencing issues, this was uncharted territory for me.

Anyhow, Carlos will, I am sure, provide more info, he is very familiar with
Swiz from the past.

-Greg


1. https://github.com/apache/royale-asjs/tree/feature/Crux/examples/crux