[ 
https://issues.apache.org/jira/browse/FLEX-33333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13770004#comment-13770004
 ] 

gurkerl commented on FLEX-33333:
--------------------------------

I think OSGi is the way to go! OSGi provides not only a very powerful plugin 
infrastructure, it will force the developer to develop features in certain 
boundaries. It avoids a lot of headaches e.g. cyclic dependencies, ... . 
Personally I`m a fan of the blueprint specification - Apache Aries. A Plugin 
Structure like OSGi provides further key benefits - plugins lifecycle, allow a 
different deployment strategies to run the compiler from, eg. autonomous remote 
OSGi Containers - see Apache Karaf.

Cheers Markus
                
> Create a plugin architecture for Falcon
> ---------------------------------------
>
>                 Key: FLEX-33333
>                 URL: https://issues.apache.org/jira/browse/FLEX-33333
>             Project: Apache Flex
>          Issue Type: New Feature
>          Components: Falcon
>            Reporter: Roland Zwaga
>            Priority: Minor
>              Labels: extensibility, falcon, plugin, sdk
>
> Falcon should support a clean plugin architecture which should enable 
> developers to extend or modify the compiler's behavior in an easy manner.
> A set of hooks ought to be defined that make sense to plug into. Suggestions 
> for these hooks are:
> - An AST postprocessing hook which enables a plugin to modify the AST
> - An emitter postprocessing hook which enables a plugin to modify the 
> emitter's output
> Perhaps the emitters ought to be seen as a form of plugin as well? ABC output 
> and JS output could then simply be configured as plugins. (This way its even 
> possible to output SWF and JS output in one run)
> Besides defining interfaces for these hooks there ought to be a simple 
> discovery mechanism for the compiler to locate plugins.
> Simplest solution would be a specific directory (or directories) that the 
> compiler watches. Any jar added to such a directory will be scanned for 
> implementations of the known plugin interfaces and registered with the 
> compiler.
> For more verbose configuration probably an XML dialect will be needed. In 
> this XML the plugin locations might be defined, but also things like enabling 
> a plugin to run only in debug or release mode could be defined here. The 
> location of the plugin could even be a URL, that way plugins could, for 
> example, be downloaded directly from a Maven repository. (Flexmojos could 
> play an interesting role here)
> This ticket is meant to start a discussion, so please feel free to throw in 
> your 2 cents. Designing this plugin architecture as cleanly as possible is 
> very important. So please discuss.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to