<?xml version="1.0" encoding="UTF-8"?>
<!--
 #=============================================================================#
 # Copyright (c) 2018, 2021 Stephan Wahlbrink and others.
 # 
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License 2.0 which is available at
 # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
 # which is available at https://www.apache.org/licenses/LICENSE-2.0.
 # 
 # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
 # 
 # Contributors:
 #     Stephan Wahlbrink <sw@wahlbrink.eu> - 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.statet-releng</groupId>
		<artifactId>parent</artifactId>
		<version>4.2.3.202102110600-r</version>
		<relativePath>../releng/</relativePath>
	</parent>
	
	<groupId>org.eclipse.statet.3rdparty</groupId>
	<artifactId>root</artifactId>
	<version>4.2.3-SNAPSHOT</version>
	<packaging>pom</packaging>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<configuration>
					<resolver>p2</resolver>
					<target>
						<artifact>
							<groupId>org.eclipse.statet.3rdparty</groupId>
							<artifactId>3rdparty.orbit</artifactId>
							<version>4.2.3-SNAPSHOT</version>
						</artifact>
					</target>
					<targetDefinitionIncludeSource>honor</targetDefinitionIncludeSource>
				</configuration>
			</plugin>
			
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>properties-maven-plugin</artifactId>
				<inherited>false</inherited>
			</plugin>
			
		</plugins>
	</build>
	
	<modules>
		<module>orbit</module>
		
		<module>_assemblies</module>
		
	</modules>
	
</project>
