ant elder wrote:
On Mon, Sep 29, 2008 at 5:01 PM, Jean-Sebastien Delfino
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
ant elder wrote:
On Thu, Sep 11, 2008 at 5:37 PM, Jean-Sebastien Delfino
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
<snip>
I'll create a branch to make progress on this Equinox porting
effort
without breaking everybody else. As I said before it'll probably
take a few weeks to get most Tuscany samples and itests up and
running, but I'd like to try to have a few core itests and
maybe a
Web Service or two working in the next few days.
Its been a few weeks now, what are the plans and time frames for
merging this branch back into the mainstream trunk?
...ant
Still making progress on the Equinox bringup, going slowly as I'm
busy at work. Getting the whole runtime really working end to end in
Equinox is going to require changes in many different places in the
code, so don't expect miracles it's going to take time. Some of the
changes may be possible to merge to trunk already if people want to
help with that.
--
Jean-Sebastien
The problem with helping is that its difficult to work out what are the
changes. I've done a diff of the sca-equinox branch to the trunk which
is at: http://people.apache.org/~antelder/temp/sca-equinox.diff. Its
huge, and lots of the changes seem quite unrelated to OSGi class
loading. Some changes from trunk get merged to the branch, some don't,
others get modified and then merged, there's also what looks like new
development not directly related to OSGi/Equinox that goes into the
branch but not trunk. If this branch is to show what changes are needed
for Equinox then wouldn't it be clearer if the only changes in the
branch were directly related to Equinox? With the diff so huge now how
can this ever get merged to trunk?
...ant
I've always had trouble too working off flat diffs like that. Merging /
porting individual commits from the history should be easier. That's
what I've been doing to pull some changes from trunk, and it's really
easy once you've done it a few times and have defined your merge
processes with the Svn, diff, patch tools etc. If you're interested in
trying it, for more complicated cases (like when I started to create the
android branch) I've also found Git very powerful at handling merges.
Working off the history should also help you pick only the changes that
are not going to break the trunk at this point, or pick them in a more
convenient sequence for example.
If that helps I could try to document the steps that I've been following
for various merge cases but I'm busy these days so it'll probably take
some time before I get to it.
If people want to help, at the moment I'm seeing issues with many
'dirty' cross module dependencies (tapping directly into impl classes
instead of going through the SPI.
An example is dependencies on o.a.t.sca.contribution.impl, causing this:
warning: Unresolved resource
META-INF/services/org.apache.tuscany.sca.node.SCANodeFactory found in 15
org.apache.tuscany.sca.node.impl INSTALLED
severe: SCA Node could not be created
java.lang.reflect.InvocationTargetException
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.tuscany.sca.node.equinox.launcher.NodeLauncherUtil.node(NodeLauncherUtil.java:155)
at
org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher.createNode(NodeLauncher.java:83)
at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java:44)
at junit.framework.TestCase.runBare(TestCase.java:132)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:308)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:879)
Caused by: org.osoa.sca.ServiceRuntimeException:
java.lang.reflect.InvocationTargetException
at
org.apache.tuscany.sca.node.SCANodeFactory.newInstance(SCANodeFactory.java:146)
at
org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationLauncherBootstrap.<init>(NodeImplementationLauncherBootstrap.java:116)
... 25 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tuscany.sca.node.SCANodeFactory.newInstance(SCANodeFactory.java:128)
... 26 more
Caused by: java.lang.IllegalStateException:
org.osgi.framework.BundleException: The bundle could not be resolved.
Reason: Missing Constraint: Import-Package:
org.apache.tuscany.sca.contribution.service.impl; version="1.4.0"
at
org.apache.tuscany.sca.extensibility.equinox.EquinoxServiceDiscoverer.getServiceDeclarations(EquinoxServiceDiscoverer.java:227)
at
org.apache.tuscany.sca.extensibility.equinox.EquinoxServiceDiscoverer.getFirstServiceDeclaration(EquinoxServiceDiscoverer.java:191)
at
org.apache.tuscany.sca.extensibility.ServiceDiscovery.getFirstServiceDeclaration(ServiceDiscovery.java:83)
... 31 more
Caused by: org.osgi.framework.BundleException: The bundle could not be
resolved. Reason: Missing Constraint: Import-Package:
org.apache.tuscany.sca.contribution.service.impl; version="1.4.0"
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:305)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:260)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:252)
at
org.apache.tuscany.sca.extensibility.equinox.EquinoxServiceDiscoverer.getServiceDeclarations(EquinoxServiceDiscoverer.java:225)
... 33 more
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.213
sec <<< FAILURE!
testDummy(calculator.CalculatorTestCase) Time elapsed: 4.153 sec <<<
ERROR!
org.apache.tuscany.sca.node.equinox.launcher.LauncherException:
java.lang.reflect.InvocationTargetException
at
org.apache.tuscany.sca.node.equinox.launcher.NodeLauncherUtil.node(NodeLauncherUtil.java:174)
at
org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher.createNode(NodeLauncher.java:83)
at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java:44)
at junit.framework.TestCase.runBare(TestCase.java:132)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:308)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:879)
Caused by: java.lang.reflect.InvocationTargetException
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.tuscany.sca.node.equinox.launcher.NodeLauncherUtil.node(NodeLauncherUtil.java:155)
... 20 more
Caused by: org.osoa.sca.ServiceRuntimeException:
java.lang.reflect.InvocationTargetException
at
org.apache.tuscany.sca.node.SCANodeFactory.newInstance(SCANodeFactory.java:146)
at
org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationLauncherBootstrap.<init>(NodeImplementationLauncherBootstrap.java:116)
... 25 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tuscany.sca.node.SCANodeFactory.newInstance(SCANodeFactory.java:128)
... 26 more
Caused by: java.lang.IllegalStateException:
org.osgi.framework.BundleException: The bundle could not be resolved.
Reason: Missing Constraint: Import-Package:
org.apache.tuscany.sca.contribution.service.impl; version="1.4.0"
at
org.apache.tuscany.sca.extensibility.equinox.EquinoxServiceDiscoverer.getServiceDeclarations(EquinoxServiceDiscoverer.java:227)
at
org.apache.tuscany.sca.extensibility.equinox.EquinoxServiceDiscoverer.getFirstServiceDeclaration(EquinoxServiceDiscoverer.java:191)
at
org.apache.tuscany.sca.extensibility.ServiceDiscovery.getFirstServiceDeclaration(ServiceDiscovery.java:83)
... 31 more
Caused by: org.osgi.framework.BundleException: The bundle could not be
resolved. Reason: Missing Constraint: Import-Package:
org.apache.tuscany.sca.contribution.service.impl; version="1.4.0"
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:305)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:260)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:252)
at
org.apache.tuscany.sca.extensibility.equinox.EquinoxServiceDiscoverer.getServiceDeclarations(EquinoxServiceDiscoverer.java:225)
... 33 more
I'm starting to fix node-impl to only reference SPIs but I've not been
able to find what's causing the above exception, given that the
unresolved contribution.impl package is exported+imported right now (as
a workaround, but the workaround doesn't seem to work).
So if anybody has ideas about that exception, please let me know...
Thanks
--
Jean-Sebastien