You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Andrei <an...@netrom.ro> on 2005/11/09 13:17:55 UTC

Macrodef Problem Urgent

Hi guys. I have a problem with macrodef usage. I declared a macrodef to start jBoss
   <macrodef name="start-jboss">
      <attribute name="conf"
         description="The config name passed in as the -c option to jboss"/>
      <attribute name="host" default="${node0}"
         description="The hostname/address passed in as the -b option to jboss" />
      <attribute name="jvmargs" default="-Xmx256m"
         description="An additional jvmarg line set after any ${jpda.cmdline}"/>
      <sequential>
         <echo message="Will start the jboss instance @{host} with @{conf}"/>
          <java classname="org.jboss.Main" fork="true" spawn="true" dir="${jboss.dist}/bin">
            <classpath refid="jboss.boot.classpath"/>
            <jvmarg line="${jpda.cmdline}" />
            <jvmarg line="@{jvmargs}" />
            <arg value="-c"/>
            <arg value="@{conf}"/>
            <arg value="-b"/>
            <arg value="@{host}"/>
         </java>
      </sequential>
   </macrodef>

and here is the target who uses this macro:

 <target name="ss">
  <start-jboss conf="default" jvmargs="-Xmx256m"/>
 </target>


When i try to run the target ss i get the following mesage:

file:C:/mytest/build.xml:35: Unexpected element "macrodef"      What means this? Can anybody help me?

Re: JUnit task not working

Posted by Clifton Craig <cc...@gbg.com>.
I see you're using the ant-junit.jar file. That is the Ant Task wrapper for 
Junit and you shouldn't need to reference it ordinarily. It's there to define 
the JUnit task and doesn't include the JUnit core API. You need to include 
junit.jar in Ant's CLASSPATH or in the CLASSPATH of an explicit taskdef 
declaring the JUnit task.
On Thursday 10 November 2005 7:28 am, Andrei wrote:
> When i run the ant junit task i get the following error :
>
>   C:\myproject\mytest>ant mytests
> Buildfile: build.xml
>
> mytests:
>
> BUILD FAILED
> C:\myproject\mytest\build.xml:207: Could not create task or type of type:
> junit.
>
> Ant could not find the task or a class this task relies upon.
>
> This is common and has a number of causes; the usual
> solutions are to read the manual pages then download and
> install needed JAR files, or fix the build file:
>  - You have misspelt 'junit'.
>    Fix: check your spelling.
>  - The task needs an external JAR file to execute
>    and this is not found at the right place in the classpath.
>    Fix: check the documentation for dependencies.
>    Fix: declare the task.
>  - The task is an Ant optional task and optional.jar is absent
>    Fix: look for optional.jar in ANT_HOME/lib, download if needed
>  - The task was not built into optional.jar as dependent
>    libraries were not found at build time.
>    Fix: look in the JAR to verify, then rebuild with the needed
>    libraries, or download a release version from apache.org
>  - The build file was written for a later version of Ant
>    Fix: upgrade to at least the latest release version of Ant
>  - The task is not an Ant core or optional task
>    and needs to be declared using <taskdef>.
>
> Remember that for JAR files to be visible to Ant tasks implemented
> in ANT_HOME/lib, the files must be in the same directory or on the
> classpath
>
> Please neither file bug reports on this problem, nor email the
> Ant mailing lists, until all of these causes have been explored,
> as this is not an Ant bug.
>
> Total time: 0 seconds
>
>
> Can any body help me with this?
>
>
> I use the following junit task:
>
> <property name="src.tests"
> value="C:\myproject\test\src\main\be\unid\test\unid"/>
>
>   <!-- Classpath to build and run the tests -->
>   <path id="tests.classpath">
>     <pathelement path="C:\util\ant\lib\ant.jar"/>
>     <pathelement path="C:\util\ant\lib\ant-junit.jar"/>
>   </path>
>
>   <target name="mytests">
>     <junit dir="${basedir}/test/src/myproject" printsummary="on">
>
>       <jvmarg value="${junit.jvm.arg}"/>
>
>       <classpath>
>         <pathelement
> location="c:\myproject\lib\javolution\javolution.jar"/> <pathelement
> location="c:\myproject\lib\junit\junit.jar"/> <pathelement
> location="c:\myproject\test\build\classes"/>
>         <pathelement location="c:\myproject\core\build\myproject.jar"/>
>         <pathelement
> location="c:\myproject\lib\jboss\jbossall-client.jar"/> <pathelement
> location="c:\myproject\build\myproject-util.jar"/> <pathelement
> location="c:\myproject\lib\apache\velocity\velocity-dep-1.3.jar"/>
> <pathelement location="c:\myproject\lib\jalopy\jalopy-1.0b10.jar"/>
> <pathelement location="c:\myproject\lib\apache\log4j\log4j-1.2.8.jar"/>
> <pathelement location="c:\myproject\lib\jalopy\jdom.jar"/> <pathelement
> location="c:\myproject\test\src\myproject"/>
>         <path refid="tests.classpath"/>
>       </classpath>
>
>       <formatter type="plain" usefile="${basedir}/test/testcases.txt"/>
>
>       <batchtest todir="${src.tests}">
>   <fileset dir="${src.tests}">
>     <include name="**/AllTests.java"/>
>   </fileset>
>       </batchtest>
>
>     </junit>
>   </target>

-- 
Clifton C. Craig, Software Engineer
ccraig@gbg.com

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


JUnit task not working

Posted by Andrei <an...@netrom.ro>.
When i run the ant junit task i get the following error :

  C:\myproject\mytest>ant mytests
Buildfile: build.xml

mytests:

BUILD FAILED
C:\myproject\mytest\build.xml:207: Could not create task or type of type: junit.

Ant could not find the task or a class this task relies upon.

This is common and has a number of causes; the usual
solutions are to read the manual pages then download and
install needed JAR files, or fix the build file:
 - You have misspelt 'junit'.
   Fix: check your spelling.
 - The task needs an external JAR file to execute
   and this is not found at the right place in the classpath.
   Fix: check the documentation for dependencies.
   Fix: declare the task.
 - The task is an Ant optional task and optional.jar is absent
   Fix: look for optional.jar in ANT_HOME/lib, download if needed
 - The task was not built into optional.jar as dependent
   libraries were not found at build time.
   Fix: look in the JAR to verify, then rebuild with the needed
   libraries, or download a release version from apache.org
 - The build file was written for a later version of Ant
   Fix: upgrade to at least the latest release version of Ant
 - The task is not an Ant core or optional task
   and needs to be declared using <taskdef>.

Remember that for JAR files to be visible to Ant tasks implemented
in ANT_HOME/lib, the files must be in the same directory or on the
classpath

Please neither file bug reports on this problem, nor email the
Ant mailing lists, until all of these causes have been explored,
as this is not an Ant bug.

Total time: 0 seconds


Can any body help me with this?


I use the following junit task:

<property name="src.tests" value="C:\myproject\test\src\main\be\unid\test\unid"/>

  <!-- Classpath to build and run the tests -->
  <path id="tests.classpath">
    <pathelement path="C:\util\ant\lib\ant.jar"/>
    <pathelement path="C:\util\ant\lib\ant-junit.jar"/>
  </path>
  
  <target name="mytests">
    <junit dir="${basedir}/test/src/myproject" printsummary="on">

      <jvmarg value="${junit.jvm.arg}"/>

      <classpath>
        <pathelement location="c:\myproject\lib\javolution\javolution.jar"/>
        <pathelement location="c:\myproject\lib\junit\junit.jar"/>
        <pathelement location="c:\myproject\test\build\classes"/>
        <pathelement location="c:\myproject\core\build\myproject.jar"/>
        <pathelement location="c:\myproject\lib\jboss\jbossall-client.jar"/>
        <pathelement location="c:\myproject\build\myproject-util.jar"/>
        <pathelement location="c:\myproject\lib\apache\velocity\velocity-dep-1.3.jar"/>
        <pathelement location="c:\myproject\lib\jalopy\jalopy-1.0b10.jar"/>
        <pathelement location="c:\myproject\lib\apache\log4j\log4j-1.2.8.jar"/>
        <pathelement location="c:\myproject\lib\jalopy\jdom.jar"/>
        <pathelement location="c:\myproject\test\src\myproject"/>
        <path refid="tests.classpath"/>
      </classpath>

      <formatter type="plain" usefile="${basedir}/test/testcases.txt"/>

      <batchtest todir="${src.tests}">
  <fileset dir="${src.tests}">
    <include name="**/AllTests.java"/>
  </fileset>
      </batchtest>
   
    </junit>
  </target>


Re: Macrodef Problem Urgent

Posted by Dominique Devienne <dd...@gmail.com>.
> i'm using ant 1.6.0

This should be working then. You may have a mix of Ant versions then.
Are you running from the command line or an IDE? Windows or *nix?

I'd check you ant setup. Also, try a minimal build file with an hello
word macro that reproduces the problem, and send this whole build.
Just going thru this exercise may show you what's wrong, altough it
sounds like a setup issue. --DD

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Re: Macrodef Problem Urgent

Posted by Andrei <an...@netrom.ro>.
i'm using ant 1.6.0

From: "Steve Loughran" <st...@apache.org>
To: "Ant Users List" <us...@ant.apache.org>
Sent: Wednesday, November 09, 2005 2:57 PM
Subject: Re: Macrodef Problem Urgent


> Andrei wrote:
>> Hi guys. I have a problem with macrodef usage. I declared a macrodef to 
>> start jBoss
>>    <macrodef name="start-jboss">
>>       <attribute name="conf"
>>          description="The config name passed in as the -c option to 
>> jboss"/>
>>       <attribute name="host" default="${node0}"
>>          description="The hostname/address passed in as the -b option to 
>> jboss" />
>>       <attribute name="jvmargs" default="-Xmx256m"
>>          description="An additional jvmarg line set after any 
>> ${jpda.cmdline}"/>
>>       <sequential>
>>          <echo message="Will start the jboss instance @{host} with 
>> @{conf}"/>
>>           <java classname="org.jboss.Main" fork="true" spawn="true" 
>> dir="${jboss.dist}/bin">
>>             <classpath refid="jboss.boot.classpath"/>
>>             <jvmarg line="${jpda.cmdline}" />
>>             <jvmarg line="@{jvmargs}" />
>>             <arg value="-c"/>
>>             <arg value="@{conf}"/>
>>             <arg value="-b"/>
>>             <arg value="@{host}"/>
>>          </java>
>>       </sequential>
>>    </macrodef>
>>
>> and here is the target who uses this macro:
>>
>>  <target name="ss">
>>   <start-jboss conf="default" jvmargs="-Xmx256m"/>
>>  </target>
>>
>>
>> When i try to run the target ss i get the following mesage:
>>
>> file:C:/mytest/build.xml:35: Unexpected element "macrodef"      What 
>> means this? Can anybody help me?
>
> what does ant -version say?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Re: Macrodef Problem Urgent

Posted by Steve Loughran <st...@apache.org>.
Andrei wrote:
> Hi guys. I have a problem with macrodef usage. I declared a macrodef to start jBoss
>    <macrodef name="start-jboss">
>       <attribute name="conf"
>          description="The config name passed in as the -c option to jboss"/>
>       <attribute name="host" default="${node0}"
>          description="The hostname/address passed in as the -b option to jboss" />
>       <attribute name="jvmargs" default="-Xmx256m"
>          description="An additional jvmarg line set after any ${jpda.cmdline}"/>
>       <sequential>
>          <echo message="Will start the jboss instance @{host} with @{conf}"/>
>           <java classname="org.jboss.Main" fork="true" spawn="true" dir="${jboss.dist}/bin">
>             <classpath refid="jboss.boot.classpath"/>
>             <jvmarg line="${jpda.cmdline}" />
>             <jvmarg line="@{jvmargs}" />
>             <arg value="-c"/>
>             <arg value="@{conf}"/>
>             <arg value="-b"/>
>             <arg value="@{host}"/>
>          </java>
>       </sequential>
>    </macrodef>
> 
> and here is the target who uses this macro:
> 
>  <target name="ss">
>   <start-jboss conf="default" jvmargs="-Xmx256m"/>
>  </target>
> 
> 
> When i try to run the target ss i get the following mesage:
> 
> file:C:/mytest/build.xml:35: Unexpected element "macrodef"      What means this? Can anybody help me?

what does ant -version say?

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org