<!--
  Copyright (c) 2011, 2012, 2013 Red Hat, Inc.
  All rights reserved.
  This program is made available under the terms of the
  Eclipse Public License v1.0 which accompanies this distribution,
  and is available at http://www.eclipse.org/legal/epl-v10.html
  
  Contributors:
  	Red Hat, Inc. - initial API and implementation
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <artifactId>org.eclipse.bpmn2.modeler.parent</artifactId>
    <groupId>org.eclipse.bpmn2.modeler</groupId>
    <version>1.0.4.Final</version>
  </parent>

  <groupId>org.eclipse.bpmn2.modeler</groupId>
  <artifactId>org.eclipse.bpmn2.modeler.wsil.feature</artifactId>
  <version>1.0.4.Final</version>
  <packaging>eclipse-feature</packaging>
  <name>WSIL Support Feature</name>
  <description>Support for using WSIL registries in BPMN2 Modeler</description>
</project>
