<?xml version="1.0" encoding="UTF-8"?>

<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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.
-->

<project>
  <extend>${basedir}/../tag-project.xml</extend>
  <artifactId>commons-jelly-tags-interaction</artifactId>
  <name>commons-jelly-tags-interaction</name>
  <currentVersion>1.1.1-SNAPSHOT</currentVersion>
  <package>org.apache.commons.jelly.tags.interaction</package>
  <description>This is a Jelly interface to the user.</description>
  <shortDescription>Commons Jelly Interaction Tag Library</shortDescription>
  <versions>
    <version>
      <id>1.0</id>
      <name>1.0</name>
      <tag>COMMONS-JELLY-INTERACTION-1_0</tag>
    </version>
    <version>
      <id>1.1</id>
      <name>1.1</name>
      <tag>COMMONS-JELLY-INTERACTION-1_1</tag>
    </version>
  </versions>

  <dependencies>
    <dependency>
      <groupId>jline</groupId>
      <artifactId>jline</artifactId>
      <version>0.9.5</version>
      <type>jar</type>
    </dependency>  
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>1.0</version>
    </dependency>

    <!-- this is brought in by the commons-cli dependency -->
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.0</version>
      <properties>
        <gump.project>commons-lang-2.x</gump.project>
        <gump.runtime>true</gump.runtime>
      </properties>
    </dependency>

    <dependency>
      <groupId>commons-discovery</groupId>
      <artifactId>commons-discovery</artifactId>
      <version>20030211.213356</version>
    </dependency>
		
  </dependencies>

</project>
