<?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>

	<parent>
		<groupId>org.eclipse.papyrus.components</groupId>
		<artifactId>org.eclipse.papyrus.components.parent</artifactId>
		<version>0.0.22</version>
	</parent>

	<groupId>org.eclipse.papyrus.sysml</groupId>
	<artifactId>org.eclipse.papyrus.sysml.parent</artifactId>
	<version>3.0.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>SysML</name>
	<description>A Papyrus DSML for the SysML 1.1 OMG norm</description>
	<url>https://eclipse.org/papyrus/components/${component.shortname}/</url>
	<inceptionYear>2015</inceptionYear>

	<modules>
		<module>org.eclipse.papyrus.sysml.targetplatform.oxygen</module>
		<module>plugins</module>
		<module>features</module>
		<module>tests</module>
		<module>org.eclipse.papyrus.sysml11.p2</module>
	</modules>
	<properties>
		<component.shortname>sysml</component.shortname>
		<component.fullartifactId>org.eclipse.papyrus.sysml</component.fullartifactId>
		<component.hudson.tabname>Sysml</component.hudson.tabname>
		<component.bugzilla.name>SysML</component.bugzilla.name>
		<component.package.rootname>org.eclipse.papyrus.sysml</component.package.rootname>
		<component.rcp.name>org.eclipse.papyrus.sysml.rcp</component.rcp.name>
		<component.apibaseline.url>http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/0.8.0_papyrus-sysml-mars_190/</component.apibaseline.url>
		<component.servicetype>org.eclipse.papyrus.sysml.service.types</component.servicetype>
		<eclipse.targetrelease>oxygen</eclipse.targetrelease>
		<target.version>${project.version}</target.version>
		<sonar.exclusions>**/src-gen/**</sonar.exclusions>
  	<testConfig>CI_TESTS_CONFIG</testConfig> <!-- See org.eclipse.papyrus.junit.framework.classification.ClassificationConfig -->	
	</properties>



	<licenses>
		<license>
			<name>Eclipse Public License</name>
			<url>https://www.eclipse.org/legal/epl-v10.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>



	<repositories>
		<repository>
			<id>pap.repo.eclipse.org</id>
			<name>Papyrus Repository - Releases</name>
			<url>https://repo.eclipse.org/content/repositories/papyrus-releases/</url>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>daily</updatePolicy>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<configuration>
					<includePackedArtifacts>true</includePackedArtifacts>
					<targetDefinitionIncludeSource>honor</targetDefinitionIncludeSource>
					<environments>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>macosx</os>
							<ws>cocoa</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
					<target>
						<artifact>
							<groupId>${component.package.rootname}</groupId>
							<artifactId>${component.fullartifactId}.targetplatform.${eclipse.targetrelease}</artifactId>
							<version>3.0.0-SNAPSHOT</version>
						</artifact>
					</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<failIfNoTests>false</failIfNoTests>
					<useUIHarness>true</useUIHarness>
					<useUIThread>true</useUIThread>
					<!--<testFailureIgnore>true</testFailureIgnore>
					 ${tycho.testArgLine} is populated by JaCoCo and is required to enable code coverage 
					<argLine>${tycho.testArgLine} ${test.argLine}</argLine>
					<appArgLine>-testConfig=${testConfig}</appArgLine>
					<argLine>-Xms512m -Xmx2048m</argLine>
					<appArgLine>-testConfig=${testConfig}</appArgLine>		-->			
					<product>org.eclipse.sdk.ide</product>
				</configuration>
			</plugin>			
		</plugins>
	</build>

</project>