<?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/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <prerequisites>
      <maven>3.1.1</maven>
   </prerequisites>

   <groupId>org.eclipse.epp.mpc</groupId>
   <artifactId>org.eclipse.epp.mpc-parent</artifactId>
   <version>1.4.0-SNAPSHOT</version>
   <packaging>pom</packaging>

   <properties>
      <mpc-version>${project.version}</mpc-version>
      <target-platform>staging</target-platform>
      <java-version>1.5</java-version>
	  <java-jdk>SYSTEM</java-jdk>

      <tycho-version>0.22.0</tycho-version>
      <tycho-extras-version>0.22.0</tycho-extras-version>

      <archive-dir>${basedir}/target/drops</archive-dir>
      <site-dir></site-dir>

      <qualifier-format>'v'yyyyMMdd-HHmm</qualifier-format>

      <skip-source-check>true</skip-source-check>
      <skip-sign>true</skip-sign>
      
      <!-- FIXME skip-pack is currently not supported, because 
           1) tycho-pack200b-plugin:pack doesn't support it and doing it with profiles is a mess
           2) pack has moved to the release profile so it won't happen in regular dev/ci builds anyway -->
      <skip-pack>true</skip-pack>

      <test-args></test-args>
      <test-app-args></test-app-args>

      <tycho.scmUrl>scm:git:https://git.eclipse.org/gitroot/mpc/org.eclipse.epp.mpc.git</tycho.scmUrl>
   </properties>

   <organization>
      <name>Eclipse Foundation</name>
      <url>http://www.eclipse.org/</url>
   </organization>

   <mailingLists>
      <mailingList>
         <name>Marketplace Client Mailing List</name>
         <post>mpc-dev@eclipse.org</post>
         <subscribe>https://dev.eclipse.org/mailman/listinfo/mpc-dev</subscribe>
         <unsubscribe>https://dev.eclipse.org/mailman/listinfo/mpc-dev</unsubscribe>
         <archive>http://dev.eclipse.org/mhonarc/lists/mpc-dev</archive>
      </mailingList>
   </mailingLists>

   <issueManagement>
      <system>Bugzilla</system>
      <url>https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;product=MPC;classification=Technology</url>
   </issueManagement>

   <ciManagement>
      <system>Hudson</system>
      <url>https://hudson.eclipse.org/mpc</url>
   </ciManagement>

   <scm>
      <url>https://git.eclipse.org/c/mpc/org.eclipse.epp.mpc.git/</url>
      <connection>${tycho.scmUrl}</connection>
      <developerConnection>ssh://git.eclipse.org/gitroot/mpc/org.eclipse.epp.mpc.git</developerConnection>
   </scm>

   <licenses>
      <license>
         <name>Eclipse Public License v1.0</name>
         <url>http://www.eclipse.org/legal/epl-v10.html</url>
         <comments>
             All rights reserved.
      
             This program and the accompanying materials are made
             available under the terms of the Eclipse Public License v1.0
             which accompanies this distribution, and is available at
             http://www.eclipse.org/legal/epl-v10.htm
         </comments>
      </license>
   </licenses>

   <profiles>
      <!-- target platform profiles -->
      <profile>
         <id>mars</id>
         <properties>
            <target-platform>mars</target-platform>
         </properties>
      </profile>
      <profile>
         <id>maintenance</id>
         <properties>
            <target-platform>maintenance</target-platform>
         </properties>
      </profile>
      <profile>
         <id>luna</id>
         <properties>
            <target-platform>luna</target-platform>
         </properties>
      </profile>
      <profile>
         <id>staging</id>
         <activation>
            <activeByDefault>true</activeByDefault>
         </activation>
         <properties>
            <target-platform>staging</target-platform>
         </properties>
      </profile>

      <!-- build type profiles -->
      <profile>
         <id>release</id>
         <properties>
            <skip-sign>false</skip-sign>
            <skip-pack>false</skip-pack>
            <skip-source-check>false</skip-source-check>
			<java-jdk>BREE</java-jdk>
         </properties>
         <build>
            <pluginManagement>
               <plugins>
                  <plugin>
                     <groupId>org.eclipse.tycho</groupId>
                     <artifactId>tycho-packaging-plugin</artifactId>
                     <configuration>
                        <jgit.dirtyWorkingTree>error</jgit.dirtyWorkingTree>
                     </configuration>
                  </plugin>
               </plugins>
            </pluginManagement>
         </build>
      </profile>
      <profile>
         <id>strict</id>
         <properties>
            <skip-source-check>false</skip-source-check>
			<java-jdk>BREE</java-jdk>
         </properties>
      </profile>
      <profile>
         <id>hudson.eclipse.org</id>
         <activation>
            <property>
               <name>user.name</name>
               <value>hudsonbuild</value>
            </property>
         </activation>
         <properties>
            <archive-dir>/home/data/httpd/download.eclipse.org/mpc/drops</archive-dir>
            <site-dir>/home/data/httpd/download.eclipse.org/mpc/nightly</site-dir>
            <test-args>-ea -Dhttp.proxyHost=proxy.eclipse.org -Dhttp.proxyPort=9898 -DhttpnonProxyHosts=*.eclipse.org</test-args>
         </properties>
      </profile>
   </profiles>

   <build>
      <plugins>
         <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-maven-plugin</artifactId>
            <extensions>true</extensions>
         </plugin>
         <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
         </plugin>
      </plugins>

      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.eclipse.tycho</groupId>
               <artifactId>tycho-maven-plugin</artifactId>
               <version>${tycho-version}</version>
            </plugin>

            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>3.2</version>
               <configuration>
                  <source>${java-version}</source>
                  <target>${java-version}</target>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.eclipse.tycho</groupId>
               <artifactId>tycho-compiler-plugin</artifactId>
               <version>${tycho-version}</version>
               <configuration>
                  <encoding>UTF-8</encoding>
				  <useJDK>${java-jdk}</useJDK>
				  <strictCompilerTarget>true</strictCompilerTarget>
               </configuration>
            </plugin>

            <plugin>
               <groupId>org.eclipse.tycho</groupId>
               <artifactId>target-platform-configuration</artifactId>
               <version>${tycho-version}</version>
               <configuration>
                  <resolver>p2</resolver>
                  <executionEnvironmentDefault>J2SE-${java-version}</executionEnvironmentDefault>
                  <includePackedArtifacts>true</includePackedArtifacts>
                  <ignoreTychoRepositories>true</ignoreTychoRepositories>
                  <target>
                     <artifact>
                        <groupId>org.eclipse.epp.mpc</groupId>
                        <artifactId>org.eclipse.epp.mpc-target</artifactId>
                        <version>${mpc-version}</version>
                        <classifier>${target-platform}</classifier>
                     </artifact>
                  </target>
                  <environments>
                     <environment>
                        <os>win32</os>
                        <ws>win32</ws>
                        <arch>x86</arch>
                     </environment>
                     <environment>
                        <os>win32</os>
                        <ws>win32</ws>
                        <arch>x86_64</arch>
                     </environment>
                     <environment>
                        <os>linux</os>
                        <ws>gtk</ws>
                        <arch>x86</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>
               </configuration>
            </plugin>

            <plugin>
               <groupId>org.eclipse.tycho</groupId>
               <artifactId>tycho-packaging-plugin</artifactId>
               <version>${tycho-version}</version>
               <configuration>
                  <format>${qualifier-format}</format>
                  <timestampProvider>jgit</timestampProvider>
                  <!-- Changed back to "error" in the "release" profile. -->
                  <jgit.dirtyWorkingTree>warning</jgit.dirtyWorkingTree>
                  <archiveSite>true</archiveSite>
                  <sourceReferences>
                     <generate>true</generate>
                  </sourceReferences>
                  <archive>
                     <!-- Workaround to Bug 411443: Avoids extremely long filenames in META-INF/maven. -->
                     <!-- See https://bugs.eclipse.org/bugs/show_bug.cgi?id=411443 -->
                     <addMavenDescriptor>false</addMavenDescriptor>
                  </archive>
               </configuration>
               <dependencies>
                  <!-- Required by sourceReferences/generate configuration. -->
                  <dependency>
                     <groupId>org.eclipse.tycho.extras</groupId>
                     <artifactId>tycho-sourceref-jgit</artifactId>
                     <version>${tycho-extras-version}</version>
                  </dependency>
                  <!-- Required by timestampProvider configuration. -->
                  <dependency>
                     <groupId>org.eclipse.tycho.extras</groupId>
                     <artifactId>tycho-buildtimestamp-jgit</artifactId>
                     <version>${tycho-version}</version>
                  </dependency>
               </dependencies>
            </plugin>
            <plugin>
               <groupId>org.eclipse.tycho</groupId>
               <artifactId>tycho-p2-plugin</artifactId>
               <version>${tycho-version}</version>
            </plugin>
            <plugin>
               <groupId>org.eclipse.tycho</groupId>
               <artifactId>tycho-p2-repository-plugin</artifactId>
               <version>${tycho-version}</version>
            </plugin>
            <plugin>
               <groupId>org.eclipse.tycho</groupId>
               <artifactId>tycho-p2-publisher-plugin</artifactId>
               <version>${tycho-version}</version>
            </plugin>

            <plugin>
               <groupId>org.eclipse.tycho</groupId>
               <artifactId>tycho-surefire-plugin</artifactId>
               <version>${tycho-version}</version>
               <configuration>
                  <argLine>${tycho.test.jvmArgs}</argLine>
               </configuration>
            </plugin>

            <!-- Eclipse Tycho extras -->
            <plugin>
               <groupId>org.eclipse.tycho.extras</groupId>
               <artifactId>tycho-pack200a-plugin</artifactId>
               <version>${tycho-version}</version>
            </plugin>
            <plugin>
               <groupId>org.eclipse.tycho.extras</groupId>
               <artifactId>tycho-pack200b-plugin</artifactId>
               <version>${tycho-version}</version>
            </plugin>
            <!-- Eclipse Common Build Infrastructure plugins -->
            <plugin>
               <groupId>org.eclipse.cbi.maven.plugins</groupId>
               <artifactId>eclipse-jarsigner-plugin</artifactId>
               <version>1.1.1</version>
            </plugin>

            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-resources-plugin</artifactId>
               <version>2.7</version>
               <configuration>
                  <encoding>ISO-8859-1</encoding>
               </configuration>
            </plugin>

            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>findbugs-maven-plugin</artifactId>
               <version>3.0.0</version>
               <configuration>
                  <findbugsXmlOutput>true</findbugsXmlOutput>
                  <failOnError>false</failOnError>
                  <skip>${skip-source-check}</skip>
               </configuration>
               <executions>
                  <execution>
                     <goals>
                        <goal>check</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>

            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>build-helper-maven-plugin</artifactId>
               <version>1.9.1</version>
            </plugin>

            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-pmd-plugin</artifactId>
               <version>3.2</version>
               <configuration>
                  <sourceEncoding>utf-8</sourceEncoding>
                  <minimumTokens>100</minimumTokens>
                  <targetJdk>${java-version}</targetJdk>
                  <format>xml</format>
                  <failOnViolation>false</failOnViolation>
                  <skip>${skip-source-check}</skip>
               </configuration>
               <executions>
                  <execution>
                     <goals>
                        <goal>cpd-check</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
         </plugins>
      </pluginManagement>
   </build>
   
   <pluginRepositories>
      <pluginRepository>
         <id>eclipse-maven-releases</id>
         <url>https://repo.eclipse.org/content/repositories/releases/</url>
         <snapshots>
            <enabled>false</enabled>
         </snapshots>
      </pluginRepository>
   </pluginRepositories>

</project>
