<?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>
  <groupId>androidx.mediarouter</groupId>
  <artifactId>mediarouter</artifactId>
  <version>1.1.0-alpha01</version>
  <packaging>aar</packaging>
  <name>Android MediaRouter Support Library</name>
  <description>Android MediaRouter Support Library</description>
  <url>http://developer.android.com/tools/extras/support-library.html</url>
  <inceptionYear>2013</inceptionYear>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <developers>
    <developer>
      <name>The Android Open Source Project</name>
    </developer>
  </developers>
  <scm>
    <connection>scm:git:https://android.googlesource.com/platform/frameworks/support</connection>
    <url>http://source.android.com</url>
  </scm>
  <dependencies>
    <dependency>
      <groupId>androidx.media</groupId>
      <artifactId>media</artifactId>
      <version>1.1.0-alpha01</version>
      <type>aar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>androidx.appcompat</groupId>
      <artifactId>appcompat</artifactId>
      <version>1.1.0-alpha01</version>
      <type>aar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>androidx.palette</groupId>
      <artifactId>palette</artifactId>
      <version>1.0.0</version>
      <type>aar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>androidx.recyclerview</groupId>
      <artifactId>recyclerview</artifactId>
      <version>1.1.0-alpha01</version>
      <type>aar</type>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>
