<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <!-- This module was also published with a richer model, Gradle metadata,  -->
  <!-- which should be used instead. Do not delete the following line which  -->
  <!-- is to indicate to Gradle or any Gradle module metadata file consumer  -->
  <!-- that they should prefer consuming it instead. -->
  <!-- do_not_remove: published-with-gradle-metadata -->
  <modelVersion>4.0.0</modelVersion>
  <groupId>androidx.navigation</groupId>
  <artifactId>navigation-ui</artifactId>
  <version>2.3.0-alpha07</version>
  <packaging>aar</packaging>
  <name>Android Navigation UI</name>
  <description>Android Navigation-UI</description>
  <url>https://developer.android.com/topic/libraries/architecture/index.html</url>
  <inceptionYear>2018</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.navigation</groupId>
      <artifactId>navigation-runtime</artifactId>
      <version>[2.3.0-alpha07]</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.customview</groupId>
      <artifactId>customview</artifactId>
      <version>1.1.0-beta01</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.drawerlayout</groupId>
      <artifactId>drawerlayout</artifactId>
      <version>1.1.0-beta01</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>com.google.android.material</groupId>
      <artifactId>material</artifactId>
      <version>1.0.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>androidx.transition</groupId>
      <artifactId>transition</artifactId>
      <version>1.3.0</version>
      <scope>runtime</scope>
      <type>aar</type>
    </dependency>
  </dependencies>
</project>
