<?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>

  <!-- lets try invoke a program -->
  <!-- typeo on the next line -->
  <java classnam="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>
