<?xml version="1.0" encoding="UTF-8"?>
<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>
	
	<groupId>org.eclipse.objectteams</groupId>
	<artifactId>infrastructure-parent</artifactId>
	<version>2.7.6</version>
	<packaging>pom</packaging>
	
	<name>Object Teams infrastructure parent pom</name>

	<url>http://download.eclipse.org/objectteams/maven/3/sites/${project.artifactId}</url>

	<description>
		This is the parent pom for releasing Object Teams artifacts for use in Maven3.
	</description>

	<licenses>
		<license>
			<name>Eclipse Public License Version 1.0</name>
			<comments>
				This file is part of "Object Teams Development Tooling"-Software.

				Copyright 2019 GK Software SE and others.
				This program and the accompanying materials
				are made available under the terms of the Eclipse Public License 2.0
				which accompanies this distribution, and is available at
				https://www.eclipse.org/legal/epl-2.0/
				
				SPDX-License-Identifier: EPL-2.0
				Please visit http://www.eclipse.org/objectteams for updates and contact.

				Contributors:
					Stephan Herrmann - Initial API and implementation.
			</comments>
		</license>
	</licenses>

	<organization>
		<name>Eclipse Object Teams Project</name>
		<url>http://www.eclipse.org/objectteams</url>
	</organization>
	
	<developers>
		<developer><name>Stephan Herrmann</name><organization>GK Software SE</organization></developer>
	</developers>

	<mailingLists>
		<mailingList><name>Object Teams Forum</name><archive>http://www.eclipse.org/forums/eclipse.objectteams</archive></mailingList>
	</mailingLists>
	
	<issueManagement>
		<system>Bugzilla</system>
		<url>http://bugs.eclipse.org/bugs</url>
	</issueManagement>

	<distributionManagement>
		<repository>
			<id>otRepo</id>
			<name>Object Teams repository for Maven 3</name>
			<url>${protocol}://${ot.host}:${ot.maven.repository.basepath}/repository/${project.artifactId}</url>
		</repository>
		<site>
			<id>otSiteRepo</id>
			<name>Object Teams sites repository for Maven 3</name>
			<url>${protocol}://${ot.host}:${ot.maven.repository.basepath}/sites/${project.artifactId}</url>
		</site>
	</distributionManagement>

	<repositories>
		<repository>
			<id>ObjectTeamsRepository</id>
			<name>Object Teams Repository</name>
			<url>http://download.eclipse.org/objectteams/maven/3/repository</url>
		</repository>
	</repositories>

	<scm>
		<url>http://git.eclipse.org/c/objectteams/org.eclipse.objectteams.git</url>
	</scm>
	

	<modules>
		<module>parent-pom/pom.xml</module>
		<module>parent-pom-otdre/pom.xml</module>
		<module>artifact-deployer/pom.xml</module>
	</modules>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.8.2</version>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
