| /* |
| * Copyright (C) 2013 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.builder.model; |
| |
| import com.android.annotations.NonNull; |
| import com.android.annotations.Nullable; |
| |
| import java.io.File; |
| |
| /** |
| * The base information for all generated artifacts |
| */ |
| public interface BaseArtifact { |
| |
| /** |
| * Name of the artifact. This should match {@link ArtifactMetaData#getName()}. |
| */ |
| @NonNull |
| String getName(); |
| |
| /** |
| * @return the name of the task used to compile Java code. |
| */ |
| @NonNull |
| String getJavaCompileTaskName(); |
| |
| /** |
| * Returns the name of the task used to generate the artifact output(s). |
| * |
| * @return the name of the task. |
| */ |
| @NonNull |
| String getAssembleTaskName(); |
| |
| /** |
| * Returns the folder containing the class files. This is the output of the java compilation. |
| * |
| * @return a folder. |
| */ |
| @NonNull |
| File getClassesFolder(); |
| |
| /** |
| * Returns the resolved dependencies for this artifact. This is a composite of all the |
| * dependencies for that artifact: default config + build type + flavor(s).s |
| * |
| * @return The dependencies. |
| */ |
| @NonNull |
| Dependencies getDependencies(); |
| |
| /** |
| * A SourceProvider specific to the variant. This can be null if there is no flavors as |
| * the "variant" is equal to the build type. |
| * |
| * @return the variant specific source provider |
| */ |
| @Nullable |
| SourceProvider getVariantSourceProvider(); |
| |
| /** |
| * A SourceProvider specific to the flavor combination. |
| * |
| * For instance if there are 2 dimensions, then this would be Flavor1Flavor2, and would be |
| * common to all variant using these two flavors and any of the build type. |
| * |
| * This can be null if there is less than 2 flavors. |
| * |
| * @return the multi flavor specific source provider |
| */ |
| @Nullable |
| SourceProvider getMultiFlavorSourceProvider(); |
| } |