<?xml version="1.0"?>
<!--
  Copyright 2002,2004 The Apache Software Foundation.
  
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<j:jelly xmlns:j="jelly:core" xmlns="jelly:ant">
  Lets start by calling the echo task
    
  <!-- this example attempts to invoke some Ant tasks -->
  <echo message="Invoking the echo task from inside Jelly; the Maven repository is ${lib.repo}"/>          

  <echo>
      Maven home is ${maven.home}
  </echo>

  classpath: ${project.getReference('test.classpath')}

  <!-- lets try invoke a program -->
  <java classname="org.apache.commons.jelly.Jelly" fork="yes">
    <classpath refid="test.classpath"/>
    <arg value="src/test/org/apache/commons/jelly/show_args.jelly"/> 
    <arg value="one"/> 
    <arg value="two"/> 
    <arg value="three"/> 
  </java>

  We should be back to the Jelly script again now...    
</j:jelly>
