All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.android.build.gradle.AppExtension Maven / Gradle / Ivy

There is a newer version: 2.3.0
Show newest version
package com.android.build.gradle;

import com.android.annotations.NonNull;
import com.android.build.gradle.api.ApplicationVariant;
import com.android.build.gradle.api.BaseVariant;
import com.android.build.gradle.internal.ExtraModelInfo;
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.DomainObjectSet;
import org.gradle.api.NamedDomainObjectContainer;
import org.gradle.api.internal.DefaultDomainObjectSet;
import org.gradle.api.internal.project.ProjectInternal;
import org.gradle.internal.reflect.Instantiator;

/**
 * {@code android} extension for {@code com.android.application} projects.
 */
public class AppExtension extends TestedExtension {

    private final DefaultDomainObjectSet applicationVariantList
            = new DefaultDomainObjectSet(ApplicationVariant.class);

    public AppExtension(@NonNull ProjectInternal project, @NonNull Instantiator instantiator,
            @NonNull AndroidBuilder androidBuilder, @NonNull SdkHandler sdkHandler,
            @NonNull NamedDomainObjectContainer buildTypes,
            @NonNull NamedDomainObjectContainer productFlavors,
            @NonNull NamedDomainObjectContainer signingConfigs,
            @NonNull ExtraModelInfo extraModelInfo, boolean isLibrary) {
        super(project, instantiator, androidBuilder, sdkHandler, buildTypes, productFlavors,
                signingConfigs, extraModelInfo, isLibrary);
    }

    /**
     * Returns the list of Application variants. Since the collections is built after evaluation, it
     * should be used with Gradle's all iterator to process future items.
     */
    public DomainObjectSet getApplicationVariants() {
        return applicationVariantList;
    }

    @Override
    public void addVariant(BaseVariant variant) {
        applicationVariantList.add((ApplicationVariant) variant);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy