<?xml version="1.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>
  <groupId>org.eclipse.simrel</groupId>
  <artifactId>build</artifactId>
  <version>4.16.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <properties>
    <tycho-version>2.0.0</tycho-version>
    <trainName>2021-03</trainName>
    <referenceRepo>releases/2020-12/202012161000</referenceRepo>
    <eclipse.repo.url>https://download.eclipse.org/eclipse/updates/4.18/R-4.18-202012021800/</eclipse.repo.url>
    <simrel.aggregator.repo.url>https://download.eclipse.org/cbi/updates/aggregator/headless/4.13/</simrel.aggregator.repo.url>
    <cbi.analyzers.repo.url>https://download.eclipse.org/cbi/updates/analyzers/4.7</cbi.analyzers.repo.url>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-eclipserun-plugin</artifactId>
        <version>${tycho-version}</version>
        <executions>
          <execution>
            <id>build-repo</id>
            <phase>package</phase>
            <goals>
              <goal>eclipse-run</goal>
            </goals>
            <configuration>
              <applicationsArgs>
                <applicationsArg>-application</applicationsArg>
                <applicationsArg>org.eclipse.cbi.p2repo.cli.headless</applicationsArg>
                <applicationsArg>aggregate</applicationsArg>
                <applicationsArg>--buildModel</applicationsArg>
                <applicationsArg>${project.basedir}/simrel.aggr</applicationsArg>
                <applicationsArg>--buildRoot</applicationsArg>
                <applicationsArg>${project.build.directory}/repository</applicationsArg>
                <applicationsArg>--eclipseLogLevel</applicationsArg>
                <applicationsArg>INFO</applicationsArg>
                <applicationsArg>--logLevel</applicationsArg>
                <applicationsArg>INFO</applicationsArg>
                <applicationsArg>--action</applicationsArg>
                <applicationsArg>CLEAN_BUILD</applicationsArg>
              </applicationsArgs>
              <executionEnvironment>JavaSE-11</executionEnvironment>
              <jvmArgs>
                <jvmArg>-Xms256M</jvmArg>
                <jvmArg>-Xmx2048M</jvmArg>
              </jvmArgs>
              <repositories>
                <repository>
                  <id>eclipse</id>
                  <url>${eclipse.repo.url}</url>
                  <layout>p2</layout>
                </repository>
                <repository>
                  <id>simrel-aggregator</id>
                  <url>${simrel.aggregator.repo.url}</url>
                  <layout>p2</layout>
                </repository>
              </repositories>
              <dependencies>
                <dependency>
                  <artifactId>org.eclipse.cbi.p2repo.aggregator.engine.feature.feature.group</artifactId>
                  <type>p2-installable-unit</type>
                </dependency>
                <dependency>
                  <artifactId>org.eclipse.equinox.p2.core.feature</artifactId>
                  <type>eclipse-feature</type>
                </dependency>
                <dependency>
                  <artifactId>org.eclipse.equinox.core.feature</artifactId>
                  <type>eclipse-feature</type>
                </dependency>
              </dependencies>
            </configuration>
          </execution>
          <execution>
            <phase>verify</phase>
            <id>repo-reports</id>
            <goals>
              <goal>eclipse-run</goal>
            </goals>
            <configuration>
              <applicationsArgs>
                <arg>-application</arg>
                <arg>org.eclipse.cbi.p2repo.analyzers.repoReport</arg>
              </applicationsArgs>
              <jvmArgs>
                <jvmArg>-DreportRepoDir=${project.build.directory}/repository/final</jvmArg>
                <jvmArg>-DreportOutputDir=${project.build.directory}/repository/final/buildInfo</jvmArg>
                <jvmArg>-DreferenceRepo=/home/data/httpd/download.eclipse.org/${referenceRepo}</jvmArg>
                <jvmArg>-Xms256M</jvmArg>
                <jvmArg>-Xmx2048M</jvmArg>
              </jvmArgs>
              <executionEnvironment>JavaSE-1.8</executionEnvironment>
              <dependencies>
                <dependency>
                  <artifactId>org.eclipse.cbi.p2repo.analyzers</artifactId>
                  <type>eclipse-plugin</type>
                </dependency>
                <dependency>
                  <artifactId>org.eclipse.equinox.p2.core.feature</artifactId>
                  <type>eclipse-feature</type>
                </dependency>
                <dependency>
                  <artifactId>org.eclipse.equinox.core.feature</artifactId>
                  <type>eclipse-feature</type>
                </dependency>
              </dependencies>
              <repositories>
                <repository>
                  <id>cbi-analyzers</id>
                  <url>${cbi.analyzers.repo.url}</url>
                  <layout>p2</layout>
                </repository>
                <repository>
                  <id>eclipse</id>
                  <url>${eclipse.repo.url}</url>
                  <layout>p2</layout>
                </repository>
              </repositories>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>validate</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-eclipserun-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>validate-repo</id>
                <phase>test</phase>
                <goals>
                  <goal>eclipse-run</goal>
                </goals>
                <configuration>
                  <applicationsArgs>
                    <applicationsArg>-application</applicationsArg>
                    <applicationsArg>org.eclipse.cbi.p2repo.cli.headless</applicationsArg>
                    <applicationsArg>aggregate</applicationsArg>
                    <applicationsArg>--buildModel</applicationsArg>
                    <applicationsArg>${project.basedir}/simrel.aggr</applicationsArg>
                    <applicationsArg>--buildRoot</applicationsArg>
                    <applicationsArg>${project.build.directory}/repository</applicationsArg>
                    <applicationsArg>--eclipseLogLevel</applicationsArg>
                    <applicationsArg>INFO</applicationsArg>
                    <applicationsArg>--logLevel</applicationsArg>
                    <applicationsArg>INFO</applicationsArg>
                    <applicationsArg>--action</applicationsArg>
                    <applicationsArg>VALIDATE</applicationsArg>
                  </applicationsArgs>
                  <jvmArgs>
                    <jvmArg>-Xms256M</jvmArg>
                    <jvmArg>-Xmx2048M</jvmArg>
                  </jvmArgs>
                  <executionEnvironment>JavaSE-11</executionEnvironment>
                  <repositories>
                    <repository>
                      <id>eclipse</id>
                      <url>${eclipse.repo.url}</url>
                      <layout>p2</layout>
                    </repository>
                    <repository>
                      <id>simrel-aggregator</id>
                      <url>${simrel.aggregator.repo.url}</url>
                      <layout>p2</layout>
                    </repository>
                  </repositories>
                  <dependencies>
                    <dependency>
                      <artifactId>org.eclipse.cbi.p2repo.aggregator.engine.feature.feature.group</artifactId>
                      <type>p2-installable-unit</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.equinox.p2.core.feature</artifactId>
                      <type>eclipse-feature</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.equinox.core.feature</artifactId>
                      <type>eclipse-feature</type>
                    </dependency>
                  </dependencies>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>built-at-eclipse.org</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.google.code.maven-replacer-plugin</groupId>
            <artifactId>replacer</artifactId>
            <version>1.5.3</version>
            <executions>
              <execution>
                <id>replace-url-to-local</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>replace</goal>
                </goals>
                <configuration>
                  <basedir>${project.basedir}</basedir>
                  <includes>
                    <include>*.aggr</include>
                    <include>*.aggrcon</include>
                  </includes>
                  <replacements>
                    <replacement>
                      <token>https://download.eclipse.org</token>
                      <value>file:/home/data/httpd/download.eclipse.org</value>
                    </replacement>
                  </replacements>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>production</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-eclipserun-plugin</artifactId>
            <executions>
              <execution>
                <id>build-repo</id>
                <configuration>
                  <applicationsArgs combine.children="append">
                    <applicationsArg>--production</applicationsArg>
                    <applicationsArg>emailFrom ci-admin@eclipse.org</applicationsArg>
                    <applicationsArg>--emailFromName</applicationsArg>
                    <applicationsArg>${trainName}Aggregator</applicationsArg>
                    <applicationsArg>--logURL</applicationsArg>
                    <applicationsArg>${BUILD_URL}/console</applicationsArg>
                    <applicationsArg>--subjectPrefix</applicationsArg>
                    <applicationsArg>${trainName}Aggregation</applicationsArg>
                  </applicationsArgs>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
