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

<!--
  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.
-->

<project>
  <extend>${basedir}/../tag-project.xml</extend>
  <id>commons-jelly-tags-swt</id>
  <name>commons-jelly-tags-swt</name>
  <currentVersion>1.1-SNAPSHOT</currentVersion>
  <package>org.apache.commons.jelly.tags.swt</package>
  <description>This is a Jelly interface for SWT.</description>
  <shortDescription>Commons Jelly SWT Tag Library</shortDescription>
  <versions>
    <version>
      <id>1.0</id>
      <name>1.0</name>
      <tag>COMMONS-JELLY-SWT-1_0</tag>
    </version>
  </versions>
  <dependencies>
    <!-- START for compilation -->
    <!-- swt taglib -->

    <dependency>
      <id>swt</id>
      <!-- don't know how to support OS-dependent jars in Maven yet -->

      <version>win32-2.1.0</version>
      <properties>
        <gump.project>eclipse</gump.project>
        <gump.id>swt</gump.id>
      </properties>
    </dependency>
    <!-- END for compilation -->
    <!-- START for running demos -->

    <dependency>
      <id>commons-cli</id>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>commons-jelly</groupId>
      <artifactId>commons-jelly-tags-log</artifactId>
      <version>1.0</version>
    </dependency>
    <!-- END for running demos -->

  </dependencies>
</project>
