implementation.groovy can't find Java dependencies packaged in the contribution
-------------------------------------------------------------------------------

                 Key: TUSCANY-3556
                 URL: https://issues.apache.org/jira/browse/TUSCANY-3556
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Groovy Implementation Extension
    Affects Versions: Java-SCA-1.6
            Reporter: Simon Nash
            Priority: Critical
             Fix For: Java-SCA-Next


A contribution containing a component that uses implementation.groovy can't be 
loaded if the Groovy script refers to a Java class that is packaged in the same 
contribution but isn't present on the runtime classpath.  Attempting this with 
the travel sample produces the stack trace shown below.  The only solution is 
to add all the Java class dependencies to the classpath, which breaks SCA's 
contribution-based packaging model.

     [java] 17-May-2010 17:39:57 org.apache.tuscany.sca.node.impl.NodeImpl <init
>
     [java] INFO: Creating node: null
     [java] 17-May-2010 17:39:57 org.apache.tuscany.sca.node.impl.NodeImpl confi
gureNode
     [java] INFO: Loading contribution: file:/E:/td/book/rel/travelsample/binari
es/target/launchers/../contributions/scatours-contribution-payment-groovy.jar
     [java] Exception in thread "main" org.osoa.sca.ServiceRuntimeException: org
.apache.tuscany.sca.contribution.service.ContributionException: java.lang.Runtim
eException: org.codehaus.groovy.control.MultipleCompilationErrorsException: star
tup failed, script1000001.groovy: 24: unable to resolve class com.tuscanyscatour
s.emailgateway.EmailType
     [java]  @ line 24, column 45.script1000001.groovy: 24: unable to resolve cl
ass com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 24, column 53.script1000001.groovy: 25: unable to resolve cl
ass com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 25, column 2.script1000001.groovy: 26: unable to resolve cla
ss com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 26, column 2.script1000001.groovy: 28: unable to resolve cla
ss com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 28, column 28.
     [java] 5 errors
     [java]
     [java]     at org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.jav
a:386)
     [java]     at org.apache.tuscany.sca.node.impl.NodeFactoryImpl.createSCANod
e(NodeFactoryImpl.java:47)
     [java]     at scatours.payment.PaymentLauncher.main(PaymentLauncher.java:33
)
     [java] Caused by: org.apache.tuscany.sca.contribution.service.ContributionE
xception: java.lang.RuntimeException: org.codehaus.groovy.control.MultipleCompil
ationErrorsException: startup failed, script1000001.groovy: 24: unable to resolv
e class com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 24, column 45.script1000001.groovy: 24: unable to resolve cl
ass com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 24, column 53.script1000001.groovy: 25: unable to resolve cl
ass com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 25, column 2.script1000001.groovy: 26: unable to resolve cla
ss com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 26, column 2.script1000001.groovy: 28: unable to resolve cla
ss com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 28, column 28.
     [java] 5 errors
     [java]
     [java]     at org.apache.tuscany.sca.contribution.service.impl.Contribution
ServiceImpl.addContribution(ContributionServiceImpl.java:421)
     [java]     at org.apache.tuscany.sca.contribution.service.impl.Contribution
ServiceImpl.contribute(ContributionServiceImpl.java:198)
     [java]     at org.apache.tuscany.sca.node.impl.NodeImpl.configureNode(NodeI
mpl.java:537)
     [java]     at org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.jav
a:381)
     [java]     ... 2 more
     [java] Caused by: java.lang.RuntimeException: org.codehaus.groovy.control.M
ultipleCompilationErrorsException: startup failed, script1000001.groovy: 24: una
ble to resolve class com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 24, column 45.script1000001.groovy: 24: unable to resolve cl
ass com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 24, column 53.script1000001.groovy: 25: unable to resolve cl
ass com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 25, column 2.script1000001.groovy: 26: unable to resolve cla
ss com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 26, column 2.script1000001.groovy: 28: unable to resolve cla
ss com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 28, column 28.
     [java] 5 errors
     [java]
     [java]     at org.apache.tuscany.sca.contribution.groovy.GroovyModelResolve
r.addModel(GroovyModelResolver.java:58)
     [java]     at org.apache.tuscany.sca.contribution.resolver.ExtensibleModelR
esolver.addModel(ExtensibleModelResolver.java:153)
     [java]     at org.apache.tuscany.sca.contribution.service.impl.Contribution
ServiceImpl.processReadPhase(ContributionServiceImpl.java:547)
     [java]     at org.apache.tuscany.sca.contribution.service.impl.Contribution
ServiceImpl.addContribution(ContributionServiceImpl.java:419)
     [java]     ... 5 more
     [java] Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsExce
ption: startup failed, script1000001.groovy: 24: unable to resolve class com.tus
canyscatours.emailgateway.EmailType
     [java]  @ line 24, column 45.script1000001.groovy: 24: unable to resolve cl
ass com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 24, column 53.script1000001.groovy: 25: unable to resolve cl
ass com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 25, column 2.script1000001.groovy: 26: unable to resolve cla
ss com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 26, column 2.script1000001.groovy: 28: unable to resolve cla
ss com.tuscanyscatours.emailgateway.EmailType
     [java]  @ line 28, column 28.
     [java] 5 errors
     [java]
     [java]     at org.codehaus.groovy.control.ErrorCollector.failIfErrors(Error
Collector.java:296)
     [java]     at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnit
s(CompilationUnit.java:787)
     [java]     at org.codehaus.groovy.control.CompilationUnit.compile(Compilati
onUnit.java:438)
     [java]     at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.ja
va:277)
     [java]     at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.ja
va:248)
     [java]     at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.ja
va:243)
     [java]     at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.ja
va:225)
     [java]     at org.apache.tuscany.sca.contribution.groovy.GroovyModelResolve
r.addModel(GroovyModelResolver.java:55)
     [java]     ... 8 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to