<!--
  ~ 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>

  <application-components>
    <component>
      <implementation-class>com.google.idea.blaze.ijwb.plugin.MigrateBazelPluginDependency</implementation-class>
    </component>
  </application-components>

</idea-plugin>
