aboutsummaryrefslogtreecommitdiff
path: root/builder-model/src/main/java/com/android
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2013-04-11 16:33:01 -0700
committerXavier Ducrohet <xav@android.com>2013-04-11 20:16:16 -0700
commite79a6803068c9cbc994008219a53206cd61a3744 (patch)
treeeb8c986d91e56610a8eca9c3184df4e549a4bad7 /builder-model/src/main/java/com/android
parent0d498ccf6f91a12c036b382b7ae2b1a809eb2b9d (diff)
downloadbuild-e79a6803068c9cbc994008219a53206cd61a3744.tar.gz
Add dependencies to the model.
Right now all dependencies are passed as jars now even for jars that are actually Gradle sub-projects. Change-Id: I10baa15f825d4ab0ca20853a5c878f9f536f7a2c
Diffstat (limited to 'builder-model/src/main/java/com/android')
-rw-r--r--builder-model/src/main/java/com/android/builder/model/AndroidLibrary.java111
1 files changed, 111 insertions, 0 deletions
diff --git a/builder-model/src/main/java/com/android/builder/model/AndroidLibrary.java b/builder-model/src/main/java/com/android/builder/model/AndroidLibrary.java
new file mode 100644
index 0000000..df19b16
--- /dev/null
+++ b/builder-model/src/main/java/com/android/builder/model/AndroidLibrary.java
@@ -0,0 +1,111 @@
+/*
+ * 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 java.io.File;
+import java.util.List;
+
+/**
+ * Represents an Android Library, its content and its own dependencies
+ */
+public interface AndroidLibrary {
+
+ /**
+ * Returns the location of the unzipped archive.
+ */
+ @NonNull
+ File getFolder();
+
+ /**
+ * Returns the direct dependency of this dependency.
+ */
+ @NonNull
+ List<? extends AndroidLibrary> getLibraryDependencies();
+
+ /**
+ * Returns the location of the jar file to use for packaging.
+ *
+ * @return a File for the jar file. The file may not point to an existing file.
+ */
+ @NonNull
+ File getJarFile();
+
+ /**
+ * Returns the list of local Jar files that are included in the dependency.
+ * @return a list of File. May be empty but not null.
+ */
+ @NonNull
+ List<File> getLocalJars();
+
+ /**
+ * Returns the location of the res folder.
+ *
+ * @return a File for the res folder. The file may not point to an existing folder.
+ */
+ @NonNull
+ File getResFolder();
+
+ /**
+ * Returns the location of the assets folder.
+ *
+ * @return a File for the assets folder. The file may not point to an existing folder.
+ */
+ @NonNull
+ File getAssetsFolder();
+
+ /**
+ * Returns the location of the jni libraries folder.
+ *
+ * @return a File for the folder. The file may not point to an existing folder.
+ */
+ @NonNull
+ File getJniFolder();
+
+ /**
+ * Returns the location of the aidl import folder.
+ *
+ * @return a File for the folder. The file may not point to an existing folder.
+ */
+ @NonNull
+ File getAidlFolder();
+
+ /**
+ * Returns the location of the renderscript import folder.
+ *
+ * @return a File for the folder. The file may not point to an existing folder.
+ */
+ @NonNull
+ File getRenderscriptFolder();
+
+ /**
+ * Returns the location of the proguard files.
+ *
+ * @return a File for the file. The file may not point to an existing file.
+ */
+ @NonNull
+ File getProguardRules();
+
+ /**
+ * Returns the location of the lint jar.
+ *
+ * @return a File for the jar file. The file may not point to an existing file.
+ */
+ @NonNull
+ File getLintJar();
+}