<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2015, 2021 Contributors to the Eclipse Foundation

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

	<artifactId>org.eclipse.cdt.debug.application.product</artifactId>
	<packaging>eclipse-repository</packaging>
	<name>Stand-Alone C/C++ Debugger Product</name>

	<parent>
		<groupId>org.eclipse.cdt</groupId>
		<artifactId>cdt-parent</artifactId>
		<version>10.7.0-SNAPSHOT</version>
		<relativePath>../../pom.xml</relativePath>
	</parent>

	<properties>
		<productId>org.eclipse.cdt.debug.application.product</productId>
		<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
		<archiveFileName>cdt-stand-alone-debugger-${unqualifiedVersion}-${build.timestamp}</archiveFileName>
		<rootFolder>cdt-stand-alone-debugger</rootFolder>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-director-plugin</artifactId>
				<version>${tycho-version}</version>
				<executions>
					<execution>
						<id>materialize-products</id>
						<goals>
							<goal>materialize-products</goal>
						</goals>
					</execution>
					<execution>
						<id>archive-products</id>
						<goals>
							<goal>archive-products</goal>
						</goals>
						<configuration>
							<formats>
								<linux>tar.gz</linux>
								<macosx>tar.gz</macosx>
							</formats>
						</configuration>
					</execution>
				</executions>
				<configuration>
					<products>
						<product>
							<archiveFileName>${archiveFileName}</archiveFileName>
							<id>${productId}</id>
							<rootFolder>${rootFolder}</rootFolder>
						</product>
					</products>
					<source>repository</source>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<resolver>p2</resolver>
					<pomDependencies>consider</pomDependencies>
					<environments>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>aarch64</arch>
						</environment>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>macosx</os>
							<ws>cocoa</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<!-- materialize -->
	<profiles>
		<profile>
			<id>production</id>
			<properties>
				<rcpDestination>/home/data/httpd/download.eclipse.org/${repo-path}/rcp/</rcpDestination>
				<rcpSiteDestination>/home/data/httpd/download.eclipse.org/${repo-path}/rcp-repository/</rcpSiteDestination>
			</properties>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-p2-director-plugin</artifactId>
						<version>${tycho-version}</version>
						<executions>
							<execution>
								<id>materialize-products</id>
								<goals>
									<goal>materialize-products</goal>
								</goals>
							</execution>
							<execution>
								<id>archive-products</id>
								<phase>pre-integration-test</phase>
								<goals>
									<goal>archive-products</goal>
								</goals>
								<configuration>
									<formats>
										<linux>tar.gz</linux>
										<macosx>tar.gz</macosx>
									</formats>
								</configuration>
							</execution>
						</executions>
						<configuration>
							<products>
								<product>
									<archiveFileName>${archiveFileName}</archiveFileName>
									<id>${productId}</id>
									<rootFolder>${rootFolder}</rootFolder>
								</product>
							</products>
							<source>repository</source>
						</configuration>
					</plugin>
					<!-- Disable Mac signing for now
					<plugin>
						<groupId>org.eclipse.cbi.maven.plugins</groupId>
						<artifactId>eclipse-macsigner-plugin</artifactId>
						<version>${cbi-plugins.version}</version>
						<executions>
							<execution>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<signFiles>
										<signFile>${project.build.directory}/products/${productId}/macosx/cocoa/x86_64/${rootFolder}.app</signFile>
									</signFiles>
								</configuration>
							</execution>
						</executions>
					</plugin>
					 -->
				</plugins>
			</build>
		</profile>
	</profiles>

</project>
