<?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.commons</groupId>
  <artifactId>org.eclipse.mylyn.commons-parent</artifactId>
  <version>3.9.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <properties>
	<sonar.skippedModules>org.eclipse.mylyn,org.eclipse.mylyn.commons,org.eclipse.mylyn.commons-site,org.eclipse.mylyn.commons.activity,org.eclipse.mylyn.commons.sdk,org.eclipse.mylyn.commons.compatibility,org.eclipse.mylyn.discovery,org.eclipse.mylyn.monitor,org.eclipse.mylyn.commons.repositories.http,org.eclipse.mylyn.commons.stubs-parent,org.eclipse.mylyn.commons.identity,org.eclipse.mylyn.commons.notifications,org.eclipse.mylyn.commons.repositories,org.eclipse.mylyn.commons.team</sonar.skippedModules>
  </properties>	  
  <mailingLists>
    <mailingList>
      <name>Mylyn Commons Mailing List</name>
      <post>mylyn-commons-dev@eclipse.org</post>
      <subscribe>https://dev.eclipse.org/mailman/listinfo/mylyn-commons-dev</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/mylyn-commons-dev</unsubscribe>
      <archive>http://dev.eclipse.org/mhonarc/lists/mylyn-commons-dev</archive>
    </mailingList>
  </mailingLists>
  <issueManagement>
    <url>https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;classification=Mylyn;product=Mylyn%20Commons</url>
    <system>Bugzilla</system>
  </issueManagement>
  <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>
  <modules>
    <module>org.eclipse.mylyn.commons-feature</module>
    <module>org.eclipse.mylyn.commons-site</module>
    <module>org.eclipse.mylyn.commons.core</module>
    <module>org.eclipse.mylyn.commons.net</module>
    <module>org.eclipse.mylyn.commons.screenshots</module>
    <module>org.eclipse.mylyn.commons.soap</module>
    <module>org.eclipse.mylyn.commons.tests</module>
    <module>org.eclipse.mylyn.commons.ui.tests</module>
    <module>org.eclipse.mylyn.commons.ui</module>
    <module>org.eclipse.mylyn.commons.workbench</module>
    <module>org.eclipse.mylyn.commons.xmlrpc</module>
    <module>org.eclipse.mylyn.commons.activity-feature</module>
    <module>org.eclipse.mylyn.commons.activity.tests</module>
    <module>org.eclipse.mylyn.commons.activity.ui</module>
    <module>org.eclipse.mylyn.commons.compatibility-feature</module>
    <module>org.eclipse.mylyn.commons.identity-feature</module>
    <module>org.eclipse.mylyn.commons.identity.core</module>
    <module>org.eclipse.mylyn.commons.identity.ui</module>
    <module>org.eclipse.mylyn.commons.notifications-feature</module>
    <module>org.eclipse.mylyn.commons.notifications.core</module>
    <module>org.eclipse.mylyn.commons.notifications.feed</module>
    <module>org.eclipse.mylyn.commons.notifications.tests</module>
    <module>org.eclipse.mylyn.commons.notifications.ui</module>
    <module>org.eclipse.mylyn.commons.repositories-feature</module>
    <module>org.eclipse.mylyn.commons.repositories.core</module>
    <module>org.eclipse.mylyn.commons.repositories.tests</module>
    <module>org.eclipse.mylyn.commons.repositories.ui</module>
    <module>org.eclipse.mylyn.commons.repositories.http-feature</module>
    <module>org.eclipse.mylyn.commons.repositories.http.core</module>
    <module>org.eclipse.mylyn.commons.repositories.http.tests</module>
    <module>org.eclipse.mylyn.commons.sdk-feature</module>
    <module>org.eclipse.mylyn.commons.sdk.util</module>
    <module>org.eclipse.mylyn.discovery-feature</module>
    <module>org.eclipse.mylyn.discovery.core</module>
    <module>org.eclipse.mylyn.discovery.tests</module>
    <module>org.eclipse.mylyn.discovery.ui</module>
    <module>org.eclipse.mylyn.monitor-feature</module>
    <module>org.eclipse.mylyn.monitor.core</module>
    <module>org.eclipse.mylyn.monitor.tests</module>
    <module>org.eclipse.mylyn.monitor.ui</module>
    <module>stubs</module>
  </modules>
</project>
