<?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>mylyn-parent</artifactId>
    <version>3.6.5-SNAPSHOT</version>
    <relativePath>../org.eclipse.mylyn/org.eclipse.mylyn.releng</relativePath>
  </parent>
  <groupId>org.eclipse.mylyn.commons</groupId>
  <artifactId>mylyn-commons-parent</artifactId>
  <version>3.6.5-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
    <module>org.eclipse.mylyn</module>
    <module>org.eclipse.mylyn.commons-feature</module>
    <module>org.eclipse.mylyn.commons.core</module>
    <module>org.eclipse.mylyn.commons.identity</module>
    <module>org.eclipse.mylyn.commons.net</module>
    <module>org.eclipse.mylyn.commons.notifications</module>
    <module>org.eclipse.mylyn.commons.repositories</module>
    <module>org.eclipse.mylyn.commons.screenshots</module>
    <module>org.eclipse.mylyn.commons.soap</module>
    <module>org.eclipse.mylyn.commons.team</module>
    <module>org.eclipse.mylyn.commons.tests</module>
    <module>org.eclipse.mylyn.commons.ui</module>
    <module>org.eclipse.mylyn.commons.xmlrpc</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.core</module>
    <module>org.eclipse.mylyn.monitor.tests</module>
    <module>org.eclipse.mylyn.monitor.ui</module>
  </modules>
</project>
