<?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>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.commons.git</tycho.scmUrl>
    <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.soap_feature,org.eclipse.mylyn.commons.tck,org.eclipse.mylyn.commons.compatibility,org.eclipse.mylyn.discovery,org.eclipse.mylyn.monitor,org.eclipse.mylyn.commons.repositories.http</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.soap-feature</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.commons.tck-feature</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>
  </modules>
</project>
