<?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.qvtd</groupId>
	<artifactId>org.eclipse.qvtd.releng.promote</artifactId>
	<version>0.31.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<!-- based on releng/org.eclipse.nebula.site/promotion/pom.xml and https://eclipse.dev/justj/?page=tools --> 
	<properties>
	    <tycho-version>4.0.5</tycho-version>
	    <tycho-extras-version>${tycho-version}</tycho-extras-version>
		
		<!--
		Overrideable parameters - defaults here might suit usage as part of a total build, but we 
		promote separately and only if the build succeeds, so overrides are probably necessary.
		
		The "Build QVTd Promote Test"" launch allows some testing locally.
		
		The "JustJ for QVTd" Eclipse launch supports regular Java debugging."
		-->
		<BUILD_COMMIT>-commit https://git.eclipse.org/r/mmt/org.eclipse.qvtd.git/commit/?id=${env.GIT_COMMIT}</BUILD_COMMIT>
		<BUILD_PROMOTE>${org.eclipse.justj.p2.manager.build.url}</BUILD_PROMOTE>
		<BUILD_REMOTE>-remote genie.qvtd@projects-storage.eclipse.org:/home/data/httpd/download.eclipse.org/mmt/qvtd</BUILD_REMOTE>
		<BUILD_ROOT>${project.build.directory}/justj-sync</BUILD_ROOT>
		<BUILD_TIMESTAMP></BUILD_TIMESTAMP>
		<!--BUILD_TIMESTAMP>-timestamp ${build.timestamp}</BUILD_TIMESTAMP-->
		<BUILD_TYPE>${build.type}</BUILD_TYPE>
		
		
		<eclipse.repo>https://download.eclipse.org/releases/latest</eclipse.repo>
		<justj.tools.repo>https://download.eclipse.org/justj/tools/updates/nightly/latest</justj.tools.repo>
		<org.eclipse.justj.p2.manager.args></org.eclipse.justj.p2.manager.args>
		<maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
		<org.eclipse.justj.p2.manager.build.url>https://ci.eclipse.org/qvtd/job/qvtd-master/lastSuccessfulBuild</org.eclipse.justj.p2.manager.build.url>
		
	</properties>
	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho.extras</groupId>
				<artifactId>tycho-eclipserun-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<executionEnvironment>JavaSE-17</executionEnvironment>
					<dependencies>
						<dependency>
							<artifactId>org.eclipse.justj.p2</artifactId>
							<type>eclipse-plugin</type>
						</dependency>
						<dependency>
							<artifactId>org.apache.felix.scr</artifactId>
							<type>eclipse-plugin</type>
						</dependency>
					</dependencies>
					<repositories>
						<repository>
							<id>eclipse.repo</id>
							<layout>p2</layout>
							<url>${eclipse.repo}</url>
						</repository>
						<repository>
							<id>justj.tools.repo</id>
							<layout>p2</layout>
							<url>${justj.tools.repo}</url>
						</repository>
					</repositories>
				</configuration>
				<executions>
					<execution>
						<id>promote</id>
						<goals>
							<goal>eclipse-run</goal>
						</goals>
						<phase>verify</phase>
						<configuration>
							<argLine></argLine>
							<appArgLine>
                              -consoleLog
                              -application org.eclipse.justj.p2.manager
                              -data @None
                              -nosplash
                              ${org.eclipse.justj.p2.manager.args}
                              ${BUILD_REMOTE}
                              -retain 5
                              -label "QVTd"
                              -build-url ${org.eclipse.justj.p2.manager.build.url}
                              -root ${BUILD_ROOT}
                              -relative builds
                              -version-iu org.eclipse.qvtd.master.feature.group
                              ${BUILD_COMMIT}
                              -target-url https://download.eclipse.org/mmt/qvtd
                              -promote ${BUILD_PROMOTE}
                              ${BUILD_TIMESTAMP}
                              -type ${BUILD_TYPE}
                              -breadcrumb "QVTd https://projects.eclipse.org/projects/modeling.mmt.qvtd"
                              -mapping qvtd->QVTd
                              ${org.eclipse.justj.p2.manager.extra.args}
							</appArgLine>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>