<plugins>
    <plugin id="java" description="Java Plugin">
        <extends targetClass="org.gradle.api.Project" mixinClass="org.gradle.api.plugins.BasePluginConvention"/>
        <extends targetClass="org.gradle.api.Project" id="base" extensionClass="org.gradle.api.plugins.BasePluginExtension"/>
        <extends targetClass="org.gradle.api.Project" mixinClass="org.gradle.api.plugins.JavaPluginConvention"/>
        <extends targetClass="org.gradle.api.Project" id="java" extensionClass="org.gradle.api.plugins.JavaPluginExtension"/>
        <extends targetClass="org.gradle.api.Project" id="reporting" extensionClass="org.gradle.api.reporting.ReportingExtension"/>
    </plugin>
    <plugin id="groovy" description="Groovy Plugin">
        <extends targetClass="org.gradle.api.tasks.SourceSet" id="groovy" extensionClass="org.gradle.api.tasks.GroovySourceDirectorySet"/>
    </plugin>
    <plugin id="publishing" description="Publishing Plugin">
        <extends targetClass="org.gradle.api.Project" id="publishing" extensionClass="org.gradle.api.publish.PublishingExtension"/>
    </plugin>
    <plugin id="scala" description="Scala Plugin">
        <extends targetClass="org.gradle.api.tasks.SourceSet" id="scala" extensionClass="org.gradle.api.tasks.ScalaSourceDirectorySet"/>
    </plugin>
    <plugin id="antlr" description="Antlr Plugin">
        <extends targetClass="org.gradle.api.tasks.SourceSet" id="antlr" extensionClass="org.gradle.api.plugins.antlr.AntlrSourceDirectorySet"/>
    </plugin>
    <plugin id="war" description="War Plugin">
        <extends targetClass="org.gradle.api.Project" mixinClass="org.gradle.api.plugins.WarPluginConvention"/>
    </plugin>
    <plugin id="ear" description="Ear Plugin">
        <extends targetClass="org.gradle.api.Project" mixinClass="org.gradle.plugins.ear.EarPluginConvention"/>
    </plugin>
    <plugin id="project-report" description="Project Report Plugin">
        <extends targetClass="org.gradle.api.Project" mixinClass="org.gradle.api.plugins.ProjectReportsPluginConvention"/>
    </plugin>
    <plugin id="application" description="Application Plugin">
        <extends targetClass="org.gradle.api.Project" id="application" extensionClass="org.gradle.api.plugins.JavaApplication"/>
        <extends targetClass="org.gradle.api.Project" mixinClass="org.gradle.api.plugins.ApplicationPluginConvention"/>
    </plugin>
    <plugin id="distribution" description="Distribution Plugin">
        <extends targetClass="org.gradle.api.Project" id="distributions" extensionClass="org.gradle.api.distribution.DistributionContainer"/>
    </plugin>
    <plugin id="java-library-distribution" description="Java Library Distribution Plugin"/>
    <plugin id="signing" description="Signing Plugin">
        <extends targetClass="org.gradle.api.Project" id="signing" extensionClass="org.gradle.plugins.signing.SigningExtension"/>
    </plugin>
    <plugin id="eclipse" description="Eclipse Plugin">
        <extends targetClass="org.gradle.api.Project" id="eclipse" extensionClass="org.gradle.plugins.ide.eclipse.model.EclipseModel"/>
    </plugin>
    <plugin id="idea" description="Idea Plugin">
        <extends targetClass="org.gradle.api.Project" id="idea" extensionClass="org.gradle.plugins.ide.idea.model.IdeaModel"/>
    </plugin>
    <plugin id="checkstyle" description="Checkstyle Plugin">
        <extends targetClass="org.gradle.api.Project" id="checkstyle" extensionClass="org.gradle.api.plugins.quality.CheckstyleExtension"/>
    </plugin>
    <plugin id="codenarc" description="CodeNarc Plugin">
        <extends targetClass="org.gradle.api.Project" id="codenarc" extensionClass="org.gradle.api.plugins.quality.CodeNarcExtension"/>
    </plugin>
    <plugin id="pmd" description="PMD Plugin">
        <extends targetClass="org.gradle.api.Project" id="pmd" extensionClass="org.gradle.api.plugins.quality.PmdExtension"/>
    </plugin>
    <plugin id="jacoco" description="JaCoCo Plugin">
        <extends targetClass="org.gradle.api.Project" id="jacoco" extensionClass="org.gradle.testing.jacoco.plugins.JacocoPluginExtension"/>
        <extends targetClass="org.gradle.api.tasks.testing.Test" id="jacoco" extensionClass="org.gradle.testing.jacoco.plugins.JacocoTaskExtension"/>
    </plugin>
    <plugin id="native-component" description="Native Software Model Plugin"></plugin>
    <plugin id="visual-studio" description="Visual Studio Plugin">
        <extends targetClass="org.gradle.api.Project" id="visualStudio" extensionClass="org.gradle.ide.visualstudio.VisualStudioExtension"/>
        <extends targetClass="org.gradle.api.Project" id="visualStudio" extensionClass="org.gradle.ide.visualstudio.VisualStudioRootExtension"/>
    </plugin>

    <plugin id="xcode" description="Xcode Plugin">
        <extends targetClass="org.gradle.api.Project" id="xcode" extensionClass="org.gradle.ide.xcode.XcodeExtension"/>
        <extends targetClass="org.gradle.api.Project" id="xcode" extensionClass="org.gradle.ide.xcode.XcodeRootExtension"/>
    </plugin>
</plugins>
