Package org.gradle.api.plugins

## Class JavaBasePlugin

- java.lang.Object
- - org.gradle.api.plugins.JavaBasePlugin

- All Implemented Interfaces:
    `Plugin<Project>`

      public class JavaBasePlugin
      extends Object
      implements Plugin<Project>

  A `Plugin` which compiles and tests Java source, and assembles it into a JAR file.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `BUILD_DEPENDENTS_TASK_NAME` |
    `static String` | `BUILD_NEEDED_TASK_NAME` |
    `static String` | `BUILD_TASK_NAME` |
    `static String` | `CHECK_TASK_NAME` |
    `static String` | `COMPILE_CLASSPATH_PACKAGING_SYSTEM_PROPERTY` | Set this property to use JARs build from subprojects, instead of the classes folder from these project, on the compile classpath.
    `static String` | `DOCUMENTATION_GROUP` |
    `static Set<String>` | `UNPUBLISHABLE_VARIANT_ARTIFACTS` | A list of known artifact types which are known to prevent from publication.
    `static String` | `VERIFICATION_GROUP` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JavaBasePlugin​(JavaInstallationRegistry javaInstallationRegistry, org.gradle.api.plugins.jvm.internal.JvmEcosystemUtilities jvmPluginServices)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `apply​(Project project)` | Apply this plugin to the given target object.
    `protected org.gradle.jvm.toolchain.internal.JavaToolchainQueryService` | `getJavaToolchainQueryService()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CHECK_TASK_NAME

          public static final String CHECK_TASK_NAME

      See Also:
        Constant Field Values

    - #### VERIFICATION_GROUP

          public static final String VERIFICATION_GROUP

      See Also:
        Constant Field Values

    - #### BUILD_TASK_NAME

          public static final String BUILD_TASK_NAME

      See Also:
        Constant Field Values

    - #### BUILD_DEPENDENTS_TASK_NAME

          public static final String BUILD_DEPENDENTS_TASK_NAME

      See Also:
        Constant Field Values

    - #### BUILD_NEEDED_TASK_NAME

          public static final String BUILD_NEEDED_TASK_NAME

      See Also:
        Constant Field Values

    - #### DOCUMENTATION_GROUP

          public static final String DOCUMENTATION_GROUP

      See Also:
        Constant Field Values

    - #### COMPILE_CLASSPATH_PACKAGING_SYSTEM_PROPERTY

          @Incubating
          public static final String COMPILE_CLASSPATH_PACKAGING_SYSTEM_PROPERTY

      Set this property to use JARs build from subprojects, instead of the classes folder from these project, on the compile classpath. The main use case for this is to mitigate performance issues on very large multi-projects building on Windows. Setting this property will cause the 'jar' task of all subprojects in the dependency tree to always run during compilation.
      Since:
        5.6
      See Also:
        Constant Field Values

    - #### UNPUBLISHABLE_VARIANT_ARTIFACTS

          public static final Set<String> UNPUBLISHABLE_VARIANT_ARTIFACTS

      A list of known artifact types which are known to prevent from publication.
      Since:
        5.3

  - ### Constructor Detail

    - #### JavaBasePlugin

          @Inject
          public JavaBasePlugin​(JavaInstallationRegistry javaInstallationRegistry,
                                org.gradle.api.plugins.jvm.internal.JvmEcosystemUtilities jvmPluginServices)

  - ### Method Detail

    - #### apply

          public void apply​(Project project)

      Description copied from interface: `Plugin`
      Apply this plugin to the given target object.
      Specified by:
        `apply` in interface `Plugin<Project>`
      Parameters:
        `project` - The target object

    - #### getJavaToolchainQueryService

          @Inject
          protected org.gradle.jvm.toolchain.internal.JavaToolchainQueryService getJavaToolchainQueryService()