Hi Pascal,

In short, yes I have been working on re-implementing the core framework on
top of a generic capability and requirements model that was introduced in
the Core OSGi Framework R5 specification and the OSGi resolver
specification that was released with the OSGi Enterprise R5 specification.
As Pascal knows the current Equinox Framework is built upon what I call a
strongly typed dependency model where the package
org.eclipse.osgi.service.resolver is at the center.  This equinox resolver
API is quite complex and a bit cumbersome in my opinion.  Over the years it
has become harder and harder to maintain and adapt as new requirement types
(namespaces) get defined by the OSGi alliance.

I started this effort in early summer when we thought Java Modularity was
going to be released in Java 8.  Java Modularity in the VM has the
potential to add new dependency types and I wanted a framework
implementation that would could easily prototype different dependency
types.  Instead of re-inventing a dependency model I decided to give the
generic resource/capability/requirement model defined by OSGi R5 a try and
rebase the framework implementation on that.  I also decided not to
implement my own OSGi Resolver implementation, but instead have chosen to
collaborate with Richard Hall of the Apache Felix project and reuse the
OSGi Resolver service implementation from the Felix project.  This is why
you will notice the occasional CQ note go by over the equinox-dev mailing
list for the Felix Resolver.  Overall I think the model is quite nice and I
have been relatively happy with the implementation on top of this model.

So far this has largely been a side project of my own (in a branch called
twatson/container).  Now that Java Modularity has been pushed out to Java 9
it is not urgent to push a radically different framework implementation
into Kepler in preparation for Java Modularity and OSGi inter-op.  With
that said, I just recently got to the point where the "New framework" is
getting useful and can actually launch Eclipse.  But I did "break" many
things in the process.  Here is just a short list and I am sure there are
others:

- completely removed the disabled osgi console implementation
- completely removed the provisional composite bundle implementation, I
know of some users of this but they have plans to move to OSGi Subsystems
or Equinox Region Digraph.
- removed much of the provisional security service implementation, I am not
aware of anyone using this.
- removed support for legacy plugin.xml support
- do not provide a PlatformAdmin service implementation, currently working
on a fragment that can add it back
- all equinox framework extension hook implementations will need to be
migrated to new hooks.

With that I have been able to trim off 400K from the framework
implementation.  A couple of weeks ago, when I got Eclipse to launch on the
new implementation and I finally got all the OSGi Compliance tests to pass,
I was getting tempted to push for getting the new framework implementation
into the Kepler plan.  But over the coarse of the past two weeks I have
decided that it is not the right time.  The Equinox team needs to do a
in-depth investigation of the impact of such a change and start making
preparations to move to the new implementation.  That is why you have been
seeing mention of a new framework in some of the bug reports.  I have been
opening up bugs and providing patches that are necessary for eclipse to
function on the new implementation.  My tentative plan for Kepler is to
keep the current implementation but for the most part it will be in
maintenance mode.  I will be largely focused on getting the new framework
implementation in shape and providing patches to other components in Kepler
that will allow them to run on both the old and new framework
implementations.

Tom




|------------>
| From:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Pascal Rapicault <[email protected]>                                      
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Equinox development mailing list <[email protected]>,                  
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |08/29/2012 09:44 PM                                                          
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |[equinox-dev] New framework?                                                 
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|





Through a couple of bug reports, it looks like we are working on a new
implementation of the framework. Did I get that right?

Pascal

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev


<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to