<!--
  Copyright (c) 2011, 2012, 2013, 2014 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>
		<groupId>org.eclipse.bpmn2.modeler.plugins</groupId>
		<artifactId>org.eclipse.bpmn2.modeler.plugins.parent</artifactId>
		<version>1.2.0-SNAPSHOT</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<groupId>org.eclipse.bpmn2.modeler.plugins</groupId>
	<artifactId>org.eclipse.bpmn2.modeler.core</artifactId>
	<version>1.2.0-SNAPSHOT</version>
	<packaging>eclipse-plugin</packaging>
	<name>BPMN2 Modeler Plugins: Core</name>
	<description>Common Core functionality for BPMN2 Modeler</description>
<!-- 
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9.1</version>
				<configuration>
					<finalName>core</finalName>
				</configuration>
				<executions>
					<execution>
						<phase>compile</phase>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
 -->	
</project>
