blob: bb48a2d5a8902cdf7c5e558bd673496632027926 [file] [log] [blame]
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;
}
}