<!--
  ~ 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="https://bazel.build">Bazel</a> support for IntelliJ.

      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="https://ij.bazel.build">ij.bazel.build</a>
      ]]>
  </description>

</idea-plugin>
