[ 
https://issues.apache.org/jira/browse/ACE-56?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768129#action_12768129
 ] 

Toni Menzel commented on ACE-56:
--------------------------------

Currently, the implementation "parses" platform.setup in order to calculate the 
bundles needed.
But, because we have anyway the "big classpath" approach in ace, it could be 
much greater if we use this (special) circumstance:
We could make the assembly driven in a type-safe way by instead of flat text 
files.

Some ideas out the my head:
- Have a "AceBundle" marker interface with an enum/constant identifying a 
single bundle. 
If you have this for every ace bundle, you can make target-assemblies like so:
=AceTarget(
org.apache.ace.server.log.StoreBundle.class, 
org.apache.ace.core.configurator.SimpleConfiguratorBundle.class,
..
)

This is refactoring "safe", can be used natively for this task's debugging 
runner, can produce always current platform.setup files.
Right now it uses discovery in order to find matching bundles (via 
bundle-symbolicName matching, but could be any other).

We discuss about this.

> Cross IDE debugging solution
> ----------------------------
>
>                 Key: ACE-56
>                 URL: https://issues.apache.org/jira/browse/ACE-56
>             Project: Ace
>          Issue Type: Improvement
>            Reporter: Toni Menzel
>         Attachments: ACE-56-2.patch
>
>
> Ace is a complex system where short buid/test cycles are important.
> I have a small "instantlauncher" part that makes it possible to use 
> dev-targets directly IDE. Because they are standalone Main Class, they can be 
> started right away in any IDE.
> Benefits:
> - short dev cycle because it uses core/conf/<targetname>/ and its 
> configuration information directly via inspection.
> So, for example a complete dev-server-webui launcher looks like this
> {code}
> public class DevServerWebUI
> {
>     public static void main( String[] args )
>         throws Exception
>     {
>         new DevelopmentLauncher().launch( new AceReactor( new 
> TargetDescriptor()
>         {
>             public String targetName()
>             {
>                 return "dev-server-webui";
>             }
>             public String[] settingsOverwrite()
>             {
>                 return new String[]{
>                     "org.apache.ace.configurator.CONFIG_DIR=core/conf/" + 
> targetName()
>                 };
>             }
>         }
>         )
>         );
>     }
> }
> {code}
> Because it uses bundles from core/deploy/bundles directly, redeploy cycle is 
> minimal.
> Question: Is this of general use in ace or should i keep it for myself.
> The solution builds on top of the FrameworkFactory API from OSGI Core R4.2. 
> So it does not contain any framework relevant compile references.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to