[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Changes to the equinox.supplement bundle


We are playing some tricks here to fit into the build structure of Eclipse.  First of all, we sould state the goal ...

We have a bunch of code in the org.eclipse.osgi project that comprises the complete Equinox OSGi Framework as it is today.  This includes the following things:

Core - The Core Framework
Base Adaptor - The Base Framework Adaptor and Base Hook Implementations
Eclipse Hooks - The Eclipse Adaptor Hook implementations
Supplement - Supplemental service interfaces/utilities and implementations
Resolver - The package resolver.

We would like to have the ability to build these components together into one jar like it is today in org.eclipse.osgi_3.2.0.jar.  In addition we would like to build the following parts.

- a jar that just includes the minimal set of classes to provide a basic OSGi R4 Framework (org.eclipse.osgi.core).
- a supplemental bundle that can be used on non-equinox frameworks (org.eclipse.equinox.supplement)
- a resolver jar which can be used outside of an OSGi context. (org.eclipse.equinox.resolver)
- a framework fragment that includes the Eclipse Adaptor Hook that can be added to the minimal framework jar to make it equivelant to the all inclusive org.eclipse.osgi jar we have today. (org.eclipse.equinox.eclipsehooks ??)
- a console bundle that can be installed on the core framework to add console support. (org.eclipse.equinox.console)

This thread is suggesting this could be done by keeping the code for the all inclusive framework in the org.eclipse.osgi project, as it is today.  What would change is that we would define some "inner" projects in the org.eclipse.osgi project. The new "inner" projects can be checked out independently and build separately to build the different sub-components that we defined.

I opened bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=148121 to track this.

Tom





BJ Hargrave/Austin/IBM@IBMUS
Sent by: equinox-dev-bounces@xxxxxxxxxxx

06/21/2006 08:46 AM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc
Subject
Re: [equinox-dev] Changes to the equinox.supplement bundle





I am little confused. If osgi.core does not need osgi, then why not make
it a seperate project? Then osgi can depend upon osgi.core. Same for
supplement.

What is so special about osgi.core the is must be a sub folder of osgi?

BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the OSGi Alliance
hargrave@xxxxxxxxxx
Office: +1 407 849 9117 Mobile: +1 386 848 3788



Thomas Watson/Austin/IBM@IBMUS
Sent by: equinox-dev-bounces@xxxxxxxxxxx
06/21/2006 08:03 AM
Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>


To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc

Subject
Re: [equinox-dev] Changes to the equinox.supplement bundle







I'm not sure on the directory naming yet.  At first I wanted to make the
folder names the same as the symbolic name of the split up bundles.  But
this could lead to some really long paths in our project when partitioning
the code to build a "core" framework.  By core I mean a framework that
only has the essentials to be considered an OSGi R4 framework.  For
example, if we created a project (org.eclipse.osgi.core) that contained
just the core framework and the minimal bits it needed to run.  This would
include some of the classes from supplement, but not all.  This could lead
to a structure that looked like this ...

org.eclipse.osgi/
       .project
       .classpath
       /META-INF/MANIFEST.MF
       org.eclipse.osgi.core/
               .project
               .classpath
               /META-INF/MANIFEST.MF
               src/
               org.eclipse.equinox.suppliment/
                       .project
                       .classpath
                       META-INF/MANIFEST.MF
                       src-core/
                       src-extra/

The top root "org.eclipse.osgi" project would contain the following
sub-directories on the classpath:

org.eclipse.osgi.core/src/
org.eclipse.osgi.core/org.eclipse.eqiunox.suppliment/src-core/
org.eclipse.osgi.core/org.eclipse.eqiunox.suppliment/src-extra/

The "org.eclipse.osgi.core" project would contain the following
sub-directories on the classpath:

src/
org.eclipse.eqiunox.suppliment/src-core/

The "org.eclipse.equinox.suppliment" project would contain the following
sub-directories on the classpath:

src-core/
src-extra/

In the end the source folder names can be long and may give a better
indication of what they container, but it will look ugly in the package
explorer view of the top-level org.eclipse.osgi project.  Thought?

Tom



Jeff McAffer <Jeff_McAffer@xxxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx
06/20/2006 10:40 PM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>


To
equinox-dev@xxxxxxxxxxx
cc

Subject
Re: [equinox-dev] Changes to the equinox.supplement bundle









Yes, this would be a very interesting route to explore.  It may actually
prove to be a clearer partitioning of the source.  Currently I have to
admit that I can never determine which source folder something should be
in.  Note that under this model we might also reconsider the naming of
"supplement". No bright ideas are springing to mind but something that
indicates that "these are the extra bits particular to Equinox" seems on
track.

Just to clarify, are you suggesting that the name of the folder be
"supplement" or "org.eclipse.equinox.supplement"?  If the latter, should
we be renaming the other folders that we setup this way (e.g.,
org.eclipse.equinox.console, ...)?

Jeff


Thomas Watson/Austin/IBM@IBMUS
06/20/2006 11:09 PM

















We need a way to share the code that is in the org.eclipse.osgi bundle
with the code used to build the supplement bundle.

One way we can do this is to move the org.eclipse.equinox.registry project
in CVS to the org.eclipse.osgi project.  This could look something like
this

org.eclipse.osgi/
      .project
      .classpath
      console/src
      osgi/src
      supplement
              /src
              .project
              .classpath

In the org.eclipse.osgi project we would treat the
org.eclipse.equinox.supplement/src directory as classpath entry just like
the other source folders (e.g. console/src, osgi/src etc).  But the
org.eclipse.osgi/org.eclipse.equinox.supplement/ directory itself could
also be checked out individually as a bundle project to get just the
supplemental classes for building the standalone
org.eclipse.equinox.supplemental bundle.

We may be able to use this approach to build the different parts of the
framework separately incases where someone wants the Equinox Framework but
not the rest of the bits (console, supplemental classes, eclipse adaptor
etc.).  But we still have the flexiblity to build all of the code together
from the top-level org.eclipse.osgi project.

This way we do not have to duplicate the code in two different directories
in CVS and keep them in sync.

Tom


DJ Houghton <DJ_Houghton@xxxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx
06/20/2006 01:26 PM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>



To
equinox-dev@xxxxxxxxxxx
cc

Subject
[equinox-dev] Changes to the equinox.supplement bundle










I have just released changes to the org.eclipse.equinox.supplement bundle
to HEAD. The added classes are required as part of the investigation into
getting the Equinox registry to run on another framework.

I have also updated all of the class comments so it says which revision it
is based on. Hopefully this will help us keep sync'd up with the code that
is in the org.eclipse.osgi bundle.

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev