<?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.5.1-SNAPSHOT</version>
		<relativePath>../org.eclipse.dltk.releng/build/pom.xml</relativePath>
	</parent>
	<groupId>org.eclipse.dltk.sh</groupId>
	<artifactId>parent</artifactId>
	<version>5.5.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>ShellEd</name>
	<properties>
		<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/pdt/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>
	<repositories>
		<repository>
			<id>LinuxTools repository</id>
			<layout>p2</layout>
			<url>http://download.eclipse.org/linuxtools/update-mars</url>
		</repository>
	</repositories>
	<profiles>
		<profile>
			<id>individual</id>
			<modules>
				<module>update.site</module>
			</modules>
		</profile>
	</profiles>
</project>
