<idea-plugin>

  <extensions defaultExtensionNs="com.intellij">
    <applicationService serviceInterface="com.jetbrains.edu.learning.marketplace.api.MarketplaceConnector"
                        serviceImplementation="com.jetbrains.edu.learning.marketplace.api.MarketplaceConnectorImpl"
                        testServiceImplementation="com.jetbrains.edu.learning.marketplace.api.MockMarketplaceConnector"/>
    <httpRequestHandler implementation="com.jetbrains.edu.learning.marketplace.MarketplaceRestService"/>
    <statusBarWidgetFactory id="widget.marketplace"
                            implementation="com.jetbrains.edu.learning.marketplace.MarketplaceWidgetFactory"
                            order="before positionWidget"/>
    <postStartupActivity implementation="com.jetbrains.edu.learning.marketplace.MarketplaceStartupActivity"/>
    <experimentalFeature id="edu.course.marketplace.show.private" percentOfUsers="0">
      <description>Enables displaying private courses in browse courses dialog</description>
    </experimentalFeature>
  </extensions>

  <extensions defaultExtensionNs="Educational">
    <optionsProvider instance="com.jetbrains.edu.learning.marketplace.settings.MarketplaceOptions"/>
    <checkListener implementation="com.jetbrains.edu.learning.marketplace.MarketplaceCheckListener"/>
    <submissionsProvider implementation="com.jetbrains.edu.learning.marketplace.submissions.MarketplaceSubmissionsProvider"/>
    <communitySubmissionsProvider implementation="com.jetbrains.edu.learning.marketplace.submissions.MarketplaceCommunitySubmissionsProvider"/>
    <taskNavigationExtension implementation="com.jetbrains.edu.learning.marketplace.MarketplaceTaskNavigationExtension"/>
  </extensions>

  <actions>
    <action id="Educational.Educator.MarketplacePushCourse"
            class="com.jetbrains.edu.coursecreator.actions.marketplace.MarketplacePushCourse">
      <add-to-group group-id="Educational.Educator.CourseCreator.Menu" relative-to-action="Educational.Educator.PackCourse" anchor="after"/>
    </action>
    <action id="Educational.Marketplace.UpdateCourse" class="com.jetbrains.edu.learning.marketplace.update.SyncMarketplaceCourseAction"/>
    <action id="Educational.StartMarketplaceCourse" class="com.jetbrains.edu.learning.marketplace.course.StartMarketplaceCourseAction"/>
    <action id="Educational.RateMarketplaceCourseAction"
            class="com.jetbrains.edu.learning.marketplace.actions.RateMarketplaceCourseAction"
            icon="com.jetbrains.edu.EducationalCoreIcons.Actions.RateCourse">
      <add-to-group group-id="Educational.CheckPanel.Right" anchor="last"/>
    </action>
    <action id="Educational.Student.DeleteAllSubmissions" class="com.jetbrains.edu.learning.marketplace.deleteSubmissions.DeleteAllSubmissionsAction"/>
    <action id="Educational.Student.ShareMySolutions" class="com.jetbrains.edu.learning.marketplace.actions.ShareMySolutionsAction">
      <add-to-group group-id="Educational.CourseView.SecondaryActions" relative-to-action="Educational.HideSolvedLessons" anchor="after"/>
    </action>
    <action id="Educational.Student.SubmissionsServiceChangeHost"
            class="com.jetbrains.edu.learning.marketplace.changeHost.SubmissionsServiceChangeHostAction"
            internal="true"/>
    <action id="Educational.Student.ReportCommunitySolution"
            class="com.jetbrains.edu.learning.marketplace.actions.ReportCommunitySolutionAction"
            icon="AllIcons.Actions.Report">
      <add-to-group group-id="Diff.ViewerToolbar"
                    relative-to-action="Educational.Student.ApplyCode"
                    anchor="after"/>
    </action>
    <action id="Educational.Student.PostMarketplaceProjectToGitHub"
            class="com.jetbrains.edu.learning.marketplace.actions.PostMarketplaceProjectToGitHub">
    </action>
  </actions>
</idea-plugin>
