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

Reply via email to