<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.mylyn</groupId>
    <artifactId>org.eclipse.mylyn-parent</artifactId>
    <version>3.9.0-SNAPSHOT</version>
    <relativePath>../org.eclipse.mylyn/org.eclipse.mylyn-parent</relativePath>
  </parent>
  <groupId>org.eclipse.mylyn.reviews.r4e</groupId>
  <artifactId>org.eclipse.mylyn.reviews.r4e-parent</artifactId>
  <version>0.13.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <mailingLists>
    <mailingList>
      <name>Mylyn Reviews Mailing List</name>
      <post>mylyn-reviews-dev@eclipse.org</post>
      <subscribe>https://dev.eclipse.org/mailman/listinfo/mylyn-reviews-dev</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/mylyn-reviews-dev</unsubscribe>
      <archive>http://dev.eclipse.org/mhonarc/lists/mylyn-reviews-dev</archive>
    </mailingList>
  </mailingLists>
  <issueManagement>
    <url>https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;classification=Mylyn;product=Mylyn%20Reviews%20R4E</url>
    <system>Bugzilla</system>
  </issueManagement>
	<properties>
		<mockito-version>1.8.4</mockito-version>
		<junit-version>4.8.1</junit-version>
	</properties>

  <repositories>
    <repository>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <id>mylyn-snapshots</id>
      <url>http://download.eclipse.org/mylyn/maven/snapshots</url>
      <layout>default</layout>
    </repository>
    <repository>
      <id>mylyn-releases</id>
      <url>http://download.eclipse.org/mylyn/maven/releases</url>
      <layout>default</layout>
    </repository>
  </repositories>

  <profiles>
    <profile>
      <id>implicit-target</id>
      <activation>
        <property>
          <name>!explicit-target</name>
        </property>
      </activation>
      <repositories>
        <repository>
          <id>eclipse-mylyn-commons</id>
          <layout>p2</layout>
          <url>${mylyn-commons-repository-url}</url>
        </repository>
        <repository>
          <id>eclipse-mylyn-versions</id>
          <layout>p2</layout>
          <url>${mylyn-versions-repository-url}</url>
        </repository>
<!--  Orbit is taken from parent pom
        <repository>
           <id>eclipse-mylyn-orbit-committers</id>
           <layout>p2</layout>
           <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20120119162704/repository/</url>
         </repository>
-->
         <repository>
            <id>eclipse-mylyn-reviews-r4e</id>
            <layout>p2</layout>
            <url>http://download.eclipse.org/r4e/updates/</url>
          </repository>
      </repositories>
      <modules>
         <module>org.eclipse.mylyn.reviews.r4e-site</module>
      </modules>
    </profile>

	<profile>
		<id>coverage-to-sonar</id>
		<activation>
			<property>
				<name>!coverage.skip</name>
			</property>
		</activation>
		<build>
			<plugins>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>sonar-maven-plugin</artifactId>
					<version>2.0-beta-2</version>
				</plugin>
			</plugins>
		</build>
	</profile>

<!--  Default coverage configuration taken from parent
    <profile>
    	<id>sonar-jcoverage</id>
      	<properties>
      		<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
      		<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
      		<sonar.jacoco.reportPath>../target/jacoco.exec</sonar.jacoco.reportPath>
    	</properties>

    	<build>
      		<plugins>
        		<plugin>
          			<groupId>org.jacoco</groupId>
          			<artifactId>jacoco-maven-plugin</artifactId>
          			<version>0.5.6.201201232323</version>
          			<executions>
            			<execution>
              				<goals>
                				<goal>prepare-agent</goal>
              				</goals>
              				<configuration>
                   			<skip>${coverage.skip}</skip>
                			<destFile>${sonar.jacoco.reportPath}</destFile>
                   			<includes>
                     			<include>${coverage.filter}</include>
                   			</includes>
                   			<append>true</append>
              				</configuration>
            			</execution>
          			</executions>
        		</plugin>
      		</plugins>
    	</build>
  	</profile>
-->

  </profiles>
  <dependencies>
	<dependency>
		<groupId>org.mockito</groupId>
		<artifactId>mockito-core</artifactId>
		<version>${mockito-version}</version>
	</dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit-version}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <modules>
     <module>org.eclipse.mylyn.reviews.frame.core</module>
     <module>org.eclipse.mylyn.reviews.frame.ui</module>
     <module>org.eclipse.mylyn.reviews.r4e.ldap</module>
     <module>org.eclipse.mylyn.reviews.notifications</module>
     <module>org.eclipse.mylyn.reviews.r4e.core</module>
     <module>org.eclipse.mylyn.reviews.r4e.core.tests</module>
     <module>org.eclipse.mylyn.reviews.r4e.feature</module>
     <module>org.eclipse.mylyn.reviews.r4e.help</module>
     <module>org.eclipse.mylyn.reviews.r4e.help.install</module>
     <module>org.eclipse.mylyn.reviews.r4e.help.install-feature</module>
     <module>org.eclipse.mylyn.reviews.r4e.mail.smtp</module>
     <module>org.eclipse.mylyn.reviews.r4e.report</module>
     <module>org.eclipse.mylyn.reviews.r4e.reports-feature</module>
     <module>org.eclipse.mylyn.reviews.r4e.sdk.feature</module>
     <module>org.eclipse.mylyn.reviews.r4e.transform</module>
     <module>org.eclipse.mylyn.reviews.r4e.ui</module>
     <module>org.eclipse.mylyn.reviews.VCalendar</module>
     <module>org.eclipse.mylyn.reviews.r4e.ui.tests</module>
   </modules>
</project>
