| package com.android.build.gradle; |
| |
| import com.android.annotations.NonNull; |
| import com.android.build.gradle.api.BaseVariant; |
| import com.android.build.gradle.api.LibraryVariant; |
| import com.android.build.gradle.internal.ExtraModelInfo; |
| import com.android.build.gradle.internal.LoggingUtil; |
| import com.android.build.gradle.internal.SdkHandler; |
| import com.android.build.gradle.internal.dsl.BuildType; |
| import com.android.build.gradle.internal.dsl.ProductFlavor; |
| import com.android.build.gradle.internal.dsl.SigningConfig; |
| import com.android.builder.core.AndroidBuilder; |
| |
| import org.gradle.api.NamedDomainObjectContainer; |
| import org.gradle.api.internal.DefaultDomainObjectSet; |
| import org.gradle.api.internal.project.ProjectInternal; |
| import org.gradle.internal.reflect.Instantiator; |
| |
| /** |
| * 'android' extension for 'com.android.library' project. |
| */ |
| public class LibraryExtension extends TestedExtension { |
| |
| private final DefaultDomainObjectSet<LibraryVariant> libraryVariantList |
| = new DefaultDomainObjectSet<LibraryVariant>(LibraryVariant.class); |
| |
| private boolean packageBuildConfig = true; |
| |
| public LibraryExtension(@NonNull ProjectInternal project, @NonNull Instantiator instantiator, |
| @NonNull AndroidBuilder androidBuilder, @NonNull SdkHandler sdkHandler, |
| @NonNull NamedDomainObjectContainer<BuildType> buildTypes, |
| @NonNull NamedDomainObjectContainer<ProductFlavor> productFlavors, |
| @NonNull NamedDomainObjectContainer<SigningConfig> signingConfigs, |
| @NonNull ExtraModelInfo extraModelInfo, boolean isLibrary) { |
| super(project, instantiator, androidBuilder, sdkHandler, buildTypes, productFlavors, |
| signingConfigs, extraModelInfo, isLibrary); |
| } |
| |
| /** |
| * Returns the list of library variants. Since the collections is built after evaluation, it |
| * should be used with Gradle's <code>all</code> iterator to process future items. |
| */ |
| public DefaultDomainObjectSet<LibraryVariant> getLibraryVariants() { |
| return libraryVariantList; |
| } |
| |
| @Override |
| public void addVariant(BaseVariant variant) { |
| libraryVariantList.add((LibraryVariant) variant); |
| } |
| |
| // --------------- |
| // TEMP for compatibility |
| // STOPSHIP Remove in 1.0 |
| |
| public void packageBuildConfig(boolean value) { |
| if (!value) { |
| LoggingUtil.displayDeprecationWarning(logger, project, |
| "Support for not packaging BuildConfig is deprecated and will be removed in 1.0"); |
| } |
| |
| packageBuildConfig = value; |
| } |
| |
| public void setPackageBuildConfig(boolean value) { |
| packageBuildConfig(value); |
| } |
| |
| @Override |
| public Boolean getPackageBuildConfig() { |
| return packageBuildConfig; |
| } |
| } |