<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2011, Red Hat, Inc. and others All rights reserved. This program
	and the accompanying materials are 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 Incorporated - initial 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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<prerequisites>
		<maven>3.1.1</maven>
	</prerequisites>
	<description>A superb shell script editor for Eclipse.</description>
	<parent>
		<groupId>org.eclipse.dltk</groupId>
		<artifactId>dltk</artifactId>
		<version>5.7.2-SNAPSHOT</version>
		<relativePath>../org.eclipse.dltk.releng/build/pom.xml</relativePath>
	</parent>
	<groupId>org.eclipse.dltk.sh</groupId>
	<artifactId>parent</artifactId>
	<version>5.7.2-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>ShellEd</name>
	<properties>
		<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/dltk/org.eclipse.dltk.sh.git</tycho.scmUrl>
	</properties>
	<licenses>
		<license>
			<name>Eclipse Public License v1.0</name>
			<comments>
       All rights reserved.

       This program and the accompanying materials are 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.htm
      </comments>
		</license>
	</licenses>
	<modules>
		<module>plugins/org.eclipse.dltk.sh.doc</module>
		<module>plugins/org.eclipse.dltk.sh.core</module>
		<module>plugins/org.eclipse.dltk.sh.ui</module>
		<module>tests/org.eclipse.dltk.sh.core.tests</module>
		<module>tests/org.eclipse.dltk.sh.ui.tests</module>
		<module>features/org.eclipse.dltk.sh-feature</module>
		<module>features/org.eclipse.dltk.sh.sdk</module>
	</modules>
	<profiles>
		<profile>
			<id>individual</id>
			<modules>
				<module>update.site</module>
			</modules>
		</profile>
	</profiles>
</project>
