aboutsummaryrefslogtreecommitdiff
path: root/builder-model/src/main/java/com/android/builder/model/AndroidArtifact.java
diff options
context:
space:
mode:
Diffstat (limited to 'builder-model/src/main/java/com/android/builder/model/AndroidArtifact.java')
-rw-r--r--builder-model/src/main/java/com/android/builder/model/AndroidArtifact.java98
1 files changed, 98 insertions, 0 deletions
diff --git a/builder-model/src/main/java/com/android/builder/model/AndroidArtifact.java b/builder-model/src/main/java/com/android/builder/model/AndroidArtifact.java
new file mode 100644
index 0000000..3cfd2f2
--- /dev/null
+++ b/builder-model/src/main/java/com/android/builder/model/AndroidArtifact.java
@@ -0,0 +1,98 @@
+/*
+ * 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;
+import java.util.Collection;
+
+/**
+ * The information for a generated Android artifact.
+ */
+public interface AndroidArtifact extends BaseArtifact {
+
+ /**
+ * Returns the output file for this artifact. Depending on whether the project is an app
+ * or a library project, this could be an apk or an aar file.
+ *
+ * For test artifact for a library project, this would also be an apk.
+ *
+ * @return the output file.
+ */
+ @NonNull
+ File getOutputFile();
+
+ /**
+ * Returns whether the output file is signed. This is always false for the main artifact
+ * of a library project.
+ *
+ * @return true if the app is signed.
+ */
+ boolean isSigned();
+
+ /**
+ * Returns the name of the {@link SigningConfig} used for the signing. If none are setup or
+ * if this is the main artifact of a library project, then this is null.
+ *
+ * @return the name of the setup signing config.
+ */
+ @Nullable
+ String getSigningConfigName();
+
+ /**
+ * Returns the package name of this artifact.
+ *
+ * @return the package name.
+ */
+ @NonNull
+ String getPackageName();
+
+ /**
+ * Returns the name of the task used to generate the source code. The actual value might
+ * depend on the build system front end.
+ *
+ * @return the name of the code generating task.
+ */
+ @NonNull
+ String getSourceGenTaskName();
+
+ /**
+ * The generated manifest for this variant's artifact.
+ */
+ @NonNull
+ File getGeneratedManifest();
+
+ /**
+ * Returns all the source folders that are generated. This is typically folders for the R,
+ * the aidl classes, and the renderscript classes.
+ *
+ * @return a list of folders.
+ */
+ @NonNull
+ Collection<File> getGeneratedSourceFolders();
+
+ /**
+ * Returns all the resource folders that are generated. This is typically the renderscript
+ * output and the merged resources.
+ *
+ * @return a list of folder.
+ */
+ @NonNull
+ Collection<File> getGeneratedResourceFolders();
+}