ace-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Toni Menzel (JIRA)" <>
Subject [jira] Commented: (ACE-56) Cross IDE debugging solution
Date Wed, 21 Oct 2009 08:33:59 GMT


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:

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:
>             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.

View raw message