The OSGi test passes again.
I followed your explanation and made the import of org.eclipse.jetty.jmx by modules that export an MBean an optional import.
In order to do maven needs to be instructed to mark that package import as optional.
I committed in revision 2652 the changes to the modules used by the OSGi test that import:
jetty-deploy, jetty-server and jetty-servlet.
What is the best way to locate the other modules that would need this change?
I am about to look for the modules that depend on jetty-jmx in their pom.xml.
Cheers,
Hugues
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${felix.bundle.version}</version>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<instructions>
<Import-Package>org.eclipse.jetty.jmx.*;version="[7.3,8)";resolution:=optional,*</Import-Package>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
On Fri, Jan 7, 2011 at 8:39 AM, Hugues Malphettes
<hmalphettes@xxxxxxxxxxx> wrote:
Hi Greg,OK understood; thanks for the explaination. Updating my svn and trying to make them work again.
Cheers,
Hugues
On Fri, Jan 7, 2011 at 1:41 AM, Greg Wilkins
<gregw@xxxxxxxxxxx> wrote:
Hugues ,
I've had to disable the osgi tests because of a fundamental lack of
understanding of how to make them work after I've refactored the JMX
module.
Previously the JMX module contained our JMX infrastructure
(ObjectMBean and container), plus it held some specific MBeans for
other modules and all the meta data for all dynamically generated
mbeans.
This resulted in cyclic dependencies because JMX had to depend on
modules for which it was implementing MBeans, but then we have many
tests that include JMX as a dependency.
So I have refactored so that jetty-jmx contains just our JMX
infrastructure and every module then contains it's own JMX meta data
and MBeans (if any). The modules that have MBean classes now depend
on jetty-jmx as an optional dependency. Unfortunately this does
not appear to get reflected in the OSGi manifests and the tests are
failing saying that it cannot resolve jetty-jmx. I've tried to
force jetty-jmx as a real dependency of jetty-osgi boot, but that does
not appear to help.
As I need to make this change to progress on some other fronts, for
now I've just commented out the osgi tests. Obviously this is not good
and I have probably broken any thing else that uses the osgi modules.
Can you ping me when you are online and we can work out how to fix
this?
thanks