<!--
  ~ Copyright (C) 2014 The Android Open Source Project
  ~
  ~ 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 version="2">
  <id>com.google.gct.login</id>
  <name>Google Login</name>
  <version>1.0</version>
  <vendor>Google</vendor>

  <description>Provides Google authentication support.</description>

  <!-- please see http://confluence.jetbrains.net/display/IDEADEV/Build+Number+Ranges for description -->
  <idea-version since-build="107.105"/>

  <application-components>
  </application-components>

  <project-components>
  </project-components>

  <actions>
    <action id="GoogleLogin.LoginService"
            class="com.google.gct.login.ui.GoogleLoginAction"
            text="Google Login">
      <add-to-group group-id="MainToolBar" anchor="last"  />
      <add-to-group group-id="NavBarToolBar" anchor="last"  />
    </action>
  </actions>

  <extensions defaultExtensionNs="com.intellij">
  </extensions>

  <extensionPoints>
    <extensionPoint name="googleLoginListener" interface="com.google.gct.login.GoogleLoginListener"/>
  </extensionPoints>

</idea-plugin>