I used Groovy 1.7.0 and seems cannot reproduce your problem. Here is the
method list of the compiled groovy file.
$ javap Test4198
Compiled from "Test4198.groovy"
public class Test4198 extends java.lang.Object implements
Interface4198,groovy.lang.GroovyObject{
public static java.lang.Long __timeStamp;
public static java.lang.Long __timeStamp__239_neverHappen1273847674846;
public Test4198();
public void method();
protected groovy.lang.MetaClass $getStaticMetaClass();
public groovy.lang.MetaClass getMetaClass();
public void setMetaClass(groovy.lang.MetaClass);
public java.lang.Object invokeMethod(java.lang.String,
java.lang.Object);
public java.lang.Object getProperty(java.lang.String);
public void setProperty(java.lang.String, java.lang.Object);
public java.lang.Object this$dist$invoke$2(java.lang.String,
java.lang.Object);
public void this$dist$set$2(java.lang.String, java.lang.Object);
public java.lang.Object this$dist$get$2(java.lang.String);
static {};
public void super$1$wait();
public java.lang.String super$1$toString();
public void super$1$wait(long);
public void super$1$wait(long, int);
public void super$1$notify();
public void super$1$notifyAll();
public java.lang.Class super$1$getClass();
public boolean super$1$equals(java.lang.Object);
public java.lang.Object super$1$clone();
public int super$1$hashCode();
public void super$1$finalize();
static java.lang.Class class$(java.lang.String);
}
Thanks,
Jian
On Fri, May 14, 2010 at 5:05 AM, khush <[email protected]> wrote:
> Hi Jian,
>
> After doing R&D i found that stub files generated are not having all
> the built in methods of interface GroovyObject:
>
> eg my LoginModule class:
>
> import org.tellurium.dsl.*;
> import groovy.util.*;
> import java.lang.*;
> import groovy.lang.*;
> import java.util.*;
> import java.io.*;
> import java.net.*;
>
> public class LoginModule
> extends org.tellurium.dsl.DslContext {
> public LoginModule
> () {}
> public void defineUi() { }
> public void loginAdmin() { }
> public void loginTemp() { }
> public java.lang.String logOut() { return (java.lang.String)null;}
> public java.lang.String getText() { return (java.lang.String)null;}
> public void login(java.lang.String userName, java.lang.String
> password) { }
> protected groovy.lang.MetaClass $getStaticMetaClass() { return
> (groovy.lang.MetaClass)null;}
> }
>
> Is this problem is related to tellurium or groovy?
> I tried the following script on my system it worked very well :
>
> <?xml version="1.0" ?>
> <project name="test" default="jointcompile">
> <property environment="env"/>
> <path id="groovy.cp">
> <fileset dir="${env.GROOVY_HOME}" includes="embeddable/groovy-
> all-*.jar"/>
> <pathelement location="junk"/>
> </path>
> <taskdef name="groovyc"
> classname="org.codehaus.groovy.ant.Groovyc" classpathref="groovy.cp"/>
>
> <target name="jointcompile">
> <mkdir dir="junk"/>
> <echo file="junk/Interface4198.java">
> interface Interface4198 {
> void method();
> }
> </echo>
> <echo file="junk/Test4198.groovy">
> import Interface4198
> class Test4198 implements Interface4198 {
> void method() { println 'Inside method' }
> }
> </echo>
> <groovyc classpathref="groovy.cp" srcdir="junk" destdir="junk"
> fork="true" failonerror="true">
> <javac />
> </groovyc>
> </target>
>
> </project>
> .
> Can you help me in this?
>
> Thanks,
> Khush.
>
> On May 13, 6:50 pm, Jian Fang <[email protected]> wrote:
> > I can see your problem there. You compile Groovy files first and then
> > compile Java files.
> > In the first step, the Groovy file cannot find the interface file since
> it
> > is not compiled yet.
> >
> > One way is to use Groovy joint compilation. For example, in Tellurium
> core,
> > we used the following script.
> >
> > <groovyc srcdir="${dir.source.tellurium}"
> > destdir="${dir.build.tellurium}">
> > <classpath refid="tellurium.classpath" />
> > <javac source="1.5" target="1.5" debug="on" />
> > </groovyc>
> >
> > Otherwise, you have to figure out the file dependencies and compile them
> > group by group with javac
> > or groovyc.
> >
> > Thanks,
> >
> > Jian
> >
> >
> >
> > On Thu, May 13, 2010 at 2:12 AM, khush <[email protected]>
> wrote:
> > > Hi all,
> >
> > > I am trying to run my ant task for compiling my tellurium web test
> > > classes(java+groovy).
> >
> > > It was working fine but i suddenly did one small change that i created
> > > an java interface and imported it into my groovy class.
> >
> > > After that my ant task started giving this err:
> >
> > > [groovyc]
> > > org.codehaus.groovy.control.MultipleCompilationErrorsException:
> > > startup failed, web\user\UserModule.groovy: 3: unable to resolve class
> > > web.Statics
> >
> > > Where Static is my java interface and i import it in my grovvy class
> > > like
> >
> > > import web.Statics
> >
> > > However when i compile and run my test cases through idea it workes
> > > very well.
> >
> > > Anybody has any idea about this issue?
> >
> > > My ant task is as followings:
> >
> > > <target name="setup-webtest" description="Compiles and configures one
> > > Tellurium webtest.">
> > > <groovyc destdir="${test-build.dir}"
> > > classpathref="full.classpath" srcdir="${src.tellurium.webtest}"/>
> >
> > > <javac debug="${compiler.debug}" destdir="${test-build.dir}"
> > > fork="true" executable="${javac.executable}"
> > > classpathref="full.classpath" target="$
> > > {javac.target.version}" source="${javac.source.version}">
> > > <src path="${src.tellurium.webtest}"/>
> > > </javac>
> > > </target>
> >
> > > -Khush
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "tellurium-users" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<tellurium-users%[email protected]>
> <tellurium-users%[email protected]<tellurium-users%[email protected]>
> >
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/tellurium-users?hl=en.
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "tellurium-users" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected]<tellurium-users%[email protected]>
> .
> > For more options, visit this group athttp://
> groups.google.com/group/tellurium-users?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "tellurium-users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<tellurium-users%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/tellurium-users?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"tellurium-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/tellurium-users?hl=en.