public abstract class BasePlugin<E extends com.android.build.gradle.internal.api.dsl.extensions.BaseExtension2>
extends java.lang.Object
implements org.gradle.api.Plugin<org.gradle.api.Project>, com.android.tools.lint.gradle.api.ToolingRegistryProvider
| Modifier and Type | Field and Description |
|---|---|
protected com.android.builder.core.AndroidBuilder |
androidBuilder |
protected com.android.build.gradle.internal.ExtraModelInfo |
extraModelInfo |
static com.android.ide.common.repository.GradleVersion |
GRADLE_MIN_VERSION |
protected com.android.build.gradle.internal.ndk.NdkHandler |
ndkHandler |
protected org.gradle.api.Project |
project |
protected ProjectOptions |
projectOptions |
protected com.android.build.gradle.internal.TaskManager |
taskManager |
| Modifier and Type | Method and Description |
|---|---|
void |
apply(org.gradle.api.Project project) |
protected abstract BaseExtension |
createExtension(org.gradle.api.Project project,
ProjectOptions projectOptions,
com.android.builder.core.AndroidBuilder androidBuilder,
com.android.build.gradle.internal.SdkHandler sdkHandler,
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType> buildTypeContainer,
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor> productFlavorContainer,
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig> signingConfigContainer,
org.gradle.api.NamedDomainObjectContainer<BaseVariantOutput> buildOutputs,
com.android.build.gradle.internal.dependency.SourceSetManager sourceSetManager,
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo) |
static void |
createLintClasspathConfiguration(org.gradle.api.Project project)
Creates a lint class path Configuration for the given project
|
protected abstract com.android.build.gradle.internal.TaskManager |
createTaskManager(com.android.build.gradle.internal.scope.GlobalScope globalScope,
org.gradle.api.Project project,
ProjectOptions projectOptions,
com.android.builder.core.AndroidBuilder androidBuilder,
android.databinding.tool.DataBindingBuilder dataBindingBuilder,
AndroidConfig androidConfig,
com.android.build.gradle.internal.SdkHandler sdkHandler,
com.android.build.gradle.internal.ndk.NdkHandler ndkHandler,
com.android.build.gradle.internal.variant.VariantFactory variantFactory,
org.gradle.tooling.provider.model.ToolingModelBuilderRegistry toolingRegistry,
com.android.builder.profile.Recorder threadRecorder) |
protected abstract com.android.build.gradle.internal.variant.VariantFactory |
createVariantFactory(com.android.build.gradle.internal.scope.GlobalScope globalScope,
com.android.builder.core.AndroidBuilder androidBuilder,
AndroidConfig androidConfig) |
protected abstract com.google.wireless.android.sdk.stats.GradleBuildProject.PluginType |
getAnalyticsPluginType() |
BaseExtension |
getExtension() |
org.gradle.tooling.provider.model.ToolingModelBuilderRegistry |
getModelBuilderRegistry() |
protected abstract int |
getProjectType() |
protected abstract com.android.build.gradle.internal.plugin.TypedPluginDelegate<E> |
getTypedDelegate()
Returns the typed plugin delegate.
|
com.android.build.gradle.internal.VariantManager |
getVariantManager() |
protected boolean |
isPackagePublished()
If overridden in a subclass to return "true," the package Configuration will be named
"publish" instead of "apk"
|
protected abstract void |
pluginSpecificApply(org.gradle.api.Project project) |
protected void |
registerModelBuilder(org.gradle.tooling.provider.model.ToolingModelBuilderRegistry registry,
com.android.build.gradle.internal.scope.GlobalScope globalScope,
com.android.build.gradle.internal.VariantManager variantManager,
AndroidConfig config,
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo)
Registers a builder for the custom tooling model.
|
protected void |
registerModels(org.gradle.tooling.provider.model.ToolingModelBuilderRegistry registry,
com.android.build.gradle.internal.scope.GlobalScope globalScope,
com.android.build.gradle.internal.VariantManager variantManager,
AndroidConfig config,
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo) |
public static final com.android.ide.common.repository.GradleVersion GRADLE_MIN_VERSION
protected com.android.build.gradle.internal.TaskManager taskManager
protected org.gradle.api.Project project
protected ProjectOptions projectOptions
protected com.android.build.gradle.internal.ndk.NdkHandler ndkHandler
protected com.android.builder.core.AndroidBuilder androidBuilder
protected com.android.build.gradle.internal.ExtraModelInfo extraModelInfo
@NonNull protected abstract BaseExtension createExtension(@NonNull org.gradle.api.Project project, @NonNull ProjectOptions projectOptions, @NonNull com.android.builder.core.AndroidBuilder androidBuilder, @NonNull com.android.build.gradle.internal.SdkHandler sdkHandler, @NonNull org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType> buildTypeContainer, @NonNull org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor> productFlavorContainer, @NonNull org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig> signingConfigContainer, @NonNull org.gradle.api.NamedDomainObjectContainer<BaseVariantOutput> buildOutputs, @NonNull com.android.build.gradle.internal.dependency.SourceSetManager sourceSetManager, @NonNull com.android.build.gradle.internal.ExtraModelInfo extraModelInfo)
@NonNull protected abstract com.google.wireless.android.sdk.stats.GradleBuildProject.PluginType getAnalyticsPluginType()
@NonNull
protected abstract com.android.build.gradle.internal.variant.VariantFactory createVariantFactory(@NonNull
com.android.build.gradle.internal.scope.GlobalScope globalScope,
@NonNull
com.android.builder.core.AndroidBuilder androidBuilder,
@NonNull
AndroidConfig androidConfig)
@NonNull
protected abstract com.android.build.gradle.internal.TaskManager createTaskManager(@NonNull
com.android.build.gradle.internal.scope.GlobalScope globalScope,
@NonNull
org.gradle.api.Project project,
@NonNull
ProjectOptions projectOptions,
@NonNull
com.android.builder.core.AndroidBuilder androidBuilder,
@NonNull
android.databinding.tool.DataBindingBuilder dataBindingBuilder,
@NonNull
AndroidConfig androidConfig,
@NonNull
com.android.build.gradle.internal.SdkHandler sdkHandler,
@NonNull
com.android.build.gradle.internal.ndk.NdkHandler ndkHandler,
@NonNull
com.android.build.gradle.internal.variant.VariantFactory variantFactory,
@NonNull
org.gradle.tooling.provider.model.ToolingModelBuilderRegistry toolingRegistry,
@NonNull
com.android.builder.profile.Recorder threadRecorder)
protected abstract int getProjectType()
public com.android.build.gradle.internal.VariantManager getVariantManager()
public BaseExtension getExtension()
public final void apply(@NonNull
org.gradle.api.Project project)
apply in interface org.gradle.api.Plugin<org.gradle.api.Project>protected abstract void pluginSpecificApply(@NonNull
org.gradle.api.Project project)
protected abstract com.android.build.gradle.internal.plugin.TypedPluginDelegate<E> getTypedDelegate()
This is the delegate that is specific to the actual plugin that is applied (app, lib, etc...)
In the long term when the old code path is removed this can be passed via the constructor.
public static void createLintClasspathConfiguration(@NonNull
org.gradle.api.Project project)
protected void registerModels(@NonNull
org.gradle.tooling.provider.model.ToolingModelBuilderRegistry registry,
@NonNull
com.android.build.gradle.internal.scope.GlobalScope globalScope,
@NonNull
com.android.build.gradle.internal.VariantManager variantManager,
@NonNull
AndroidConfig config,
@NonNull
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo)
protected void registerModelBuilder(@NonNull
org.gradle.tooling.provider.model.ToolingModelBuilderRegistry registry,
@NonNull
com.android.build.gradle.internal.scope.GlobalScope globalScope,
@NonNull
com.android.build.gradle.internal.VariantManager variantManager,
@NonNull
AndroidConfig config,
@NonNull
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo)
@NonNull public org.gradle.tooling.provider.model.ToolingModelBuilderRegistry getModelBuilderRegistry()
getModelBuilderRegistry in interface com.android.tools.lint.gradle.api.ToolingRegistryProviderprotected boolean isPackagePublished()