<!--
  ~ Copyright 2016 The Bazel Authors. All rights reserved.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<idea-plugin>
  <description>
    <![CDATA[
      <a href="http://bazel.io">Bazel</a> support for Android Studio.

      Features:
        <ul>
        <li>Import BUILD files into the IDE.</li>
        <li>BUILD file custom language support.</li>
        <li>Support for Bazel run configurations for certain rule classes.</li>
        </ul>

      Usage instructions at <a href="http://ij.bazel.io">ij.bazel.io</a>
      ]]>
  </description>
</idea-plugin>
