Daniel Fagerstrom wrote:
Reinhard Poetz wrote:
<snip/>
Just want to mention that I don't think that our users need to know
about OSGi at all if they don't want. They have to describe their
block in the descriptor (block.xml) and the rest will be done
automatically.
Maybe or maybe not ;) The OSGi manifest is mainly about exporting and
importing Java packages, which are concerns that we haven't discussed in
any detail for the block descriptor. We could put this info in the
block.xml and generate the manifest file automatically from it.
In Eclipse they didn't go that way. There was some info in their pluggin
descriptor that overlapped with the OSGi manifest. They depreciated this
infor from the pluggin descriptor and recommend people to use the OSGi
manifest instead. I would prefer that we do the same and consider the
OSGi manifest and the block.xml as taking care of different concerns.
I still like the idea of automatically generating the OSGi manifest :-). All the
general properties (author, documentation, ...) are available in block.xml and
the information about the exported packages can also be generated if we seperate
between public (exported) and internal classes and libraries within our
directory structure.
[block]
- src
- java
- public
com/mycompany/project/xyz
...
- internal
com/mycompany/project/xyz/impl
...
- lib
- public
- internal
The information about the imported packages can be looked up in the OSGi
manifest of the required block, again at build time.
In short, I think that we (usually) don't have to put import/export packages
information into it.
Of course, keeping the OSGi manifest and block.xml seperate is always an option.
Making the block build process handle both scenarios shouldn't be difficult.
---
I'm a bit confused about the relation between import/export package and
Require-Bundle. Does anybody know about this?
--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}
web(log): http://www.poetz.cc
--------------------------------------------------------------------