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.build.gradle.internal.ExtraModelInfo |
extraModelInfo |
static com.android.ide.common.repository.GradleVersion |
GRADLE_MIN_VERSION |
protected org.gradle.api.Project |
project |
| Modifier and Type | Method and Description |
|---|---|
void |
apply(org.gradle.api.Project project) |
protected abstract BaseExtension |
createExtension(org.gradle.api.Project project,
com.android.build.gradle.options.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<com.android.build.gradle.api.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,
com.android.build.gradle.options.ProjectOptions projectOptions,
com.android.builder.core.AndroidBuilder androidBuilder,
android.databinding.tool.DataBindingBuilder dataBindingBuilder,
com.android.build.gradle.AndroidConfig androidConfig,
com.android.build.gradle.internal.SdkHandler sdkHandler,
com.android.build.gradle.internal.ndk.NdkHandler ndkHandler,
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,
com.android.build.gradle.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 void |
registerModels(org.gradle.tooling.provider.model.ToolingModelBuilderRegistry registry,
com.android.build.gradle.internal.scope.GlobalScope globalScope,
com.android.build.gradle.internal.VariantManager variantManager,
com.android.build.gradle.AndroidConfig config,
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo) |
public static final com.android.ide.common.repository.GradleVersion GRADLE_MIN_VERSION
protected org.gradle.api.Project project
protected com.android.build.gradle.internal.ExtraModelInfo extraModelInfo
@NonNull protected abstract BaseExtension createExtension(@NonNull org.gradle.api.Project project, @NonNull com.android.build.gradle.options.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<com.android.build.gradle.api.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
com.android.build.gradle.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
com.android.build.gradle.options.ProjectOptions projectOptions,
@NonNull
com.android.builder.core.AndroidBuilder androidBuilder,
@NonNull
android.databinding.tool.DataBindingBuilder dataBindingBuilder,
@NonNull
com.android.build.gradle.AndroidConfig androidConfig,
@NonNull
com.android.build.gradle.internal.SdkHandler sdkHandler,
@NonNull
com.android.build.gradle.internal.ndk.NdkHandler ndkHandler,
@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 void apply(@NonNull
org.gradle.api.Project project)
apply in interface org.gradle.api.Plugin<org.gradle.api.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
com.android.build.gradle.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()