Class JavaBasePlugin

  • All Implemented Interfaces:
    Plugin<Project>

    public abstract class JavaBasePlugin
    extends java.lang.Object
    implements Plugin<Project>

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

    This plugin is automatically applied to most projects that build any JVM language source. It creates a JavaPluginExtension extension named java that is used to configure all jvm-related components in the project. It is responsible for configuring the conventions of any SourceSets that are present and used by (for example) the Java, Groovy, or Kotlin plugins.
    See Also:
    Java plugin reference
    • Field Detail

      • VERIFICATION_GROUP

        public static final java.lang.String VERIFICATION_GROUP
        See Also:
        Constant Field Values
      • BUILD_DEPENDENTS_TASK_NAME

        public static final java.lang.String BUILD_DEPENDENTS_TASK_NAME
        See Also:
        Constant Field Values
      • BUILD_NEEDED_TASK_NAME

        public static final java.lang.String BUILD_NEEDED_TASK_NAME
        See Also:
        Constant Field Values
      • DOCUMENTATION_GROUP

        public static final java.lang.String DOCUMENTATION_GROUP
        Task group name for documentation-related tasks.
        See Also:
        Constant Field Values
      • COMPILE_CLASSPATH_PACKAGING_SYSTEM_PROPERTY

        public static final java.lang.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 java.util.Set<java.lang.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​(ObjectFactory objectFactory,
                              org.gradle.api.plugins.jvm.internal.JvmPluginServices jvmPluginServices)
    • Method Detail

      • getJvmLanguageUtils

        @Inject
        protected abstract org.gradle.api.plugins.jvm.internal.JvmLanguageUtilities getJvmLanguageUtils()
      • 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