aboutsummaryrefslogtreecommitdiff
path: root/builder
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-09-13 17:05:09 -0700
committerXavier Ducrohet <xav@android.com>2012-09-13 17:06:14 -0700
commitdf01802807d79bc1c509bd3039eb81fa8c4eca73 (patch)
tree80439220996943648c1aa33b11a519470eabd6f7 /builder
parent996695cea77ef846a540c8675d31e62898dae93b (diff)
downloadbuild-df01802807d79bc1c509bd3039eb81fa8c4eca73.tar.gz
Fix setting up classpath with jars from libraries.
Change-Id: I5dfa2ee3d21c748450b3ebaf2316fdf8d757f68e
Diffstat (limited to 'builder')
-rw-r--r--builder/src/main/java/com/android/builder/VariantConfiguration.java35
1 files changed, 22 insertions, 13 deletions
diff --git a/builder/src/main/java/com/android/builder/VariantConfiguration.java b/builder/src/main/java/com/android/builder/VariantConfiguration.java
index 33507de..a074858 100644
--- a/builder/src/main/java/com/android/builder/VariantConfiguration.java
+++ b/builder/src/main/java/com/android/builder/VariantConfiguration.java
@@ -26,6 +26,9 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
/**
* A Variant configuration.
*/
@@ -37,6 +40,7 @@ public class VariantConfiguration {
private final SourceSet mDefaultSourceSet;
private final BuildType mBuildType;
+ /** SourceSet for the BuildType. Can be null */
private final SourceSet mBuildTypeSourceSet;
private final List<ProductFlavor> mFlavorConfigs = new ArrayList<ProductFlavor>();
@@ -112,19 +116,15 @@ public class VariantConfiguration {
*/
public VariantConfiguration(
@NonNull ProductFlavor defaultConfig, @NonNull SourceSet defaultSourceSet,
- @NonNull BuildType buildType, @NonNull SourceSet buildTypeSourceSet,
+ @NonNull BuildType buildType, SourceSet buildTypeSourceSet,
@NonNull Type type, @Nullable VariantConfiguration testedConfig) {
- mDefaultConfig = defaultConfig;
- mDefaultSourceSet = defaultSourceSet;
- mBuildType = buildType;
+ mDefaultConfig = checkNotNull(defaultConfig);
+ mDefaultSourceSet = checkNotNull(defaultSourceSet);
+ mBuildType = checkNotNull(buildType);
mBuildTypeSourceSet = buildTypeSourceSet;
- mType = type;
+ mType = checkNotNull(type);
mTestedConfig = testedConfig;
-
- assert mType != Type.TEST || mTestedConfig != null;
- assert mTestedConfig == null ||
- mTestedConfig.mType != Type.LIBRARY ||
- mTestedConfig.mOutput != null;
+ checkState(mType != Type.TEST || mTestedConfig != null);
mMergedFlavor = mDefaultConfig;
@@ -224,6 +224,9 @@ public class VariantConfiguration {
return mBuildType;
}
+ /**
+ * The SourceSet for the BuildType. Can be null.
+ */
public SourceSet getBuildTypeSourceSet() {
return mBuildTypeSourceSet;
}
@@ -410,9 +413,11 @@ public class VariantConfiguration {
inputs.add(defaultManifest);
}
- File typeLocation = mBuildTypeSourceSet.getAndroidManifest();
- if (typeLocation != null && typeLocation.isFile()) {
- inputs.add(typeLocation);
+ if (mBuildTypeSourceSet != null) {
+ File typeLocation = mBuildTypeSourceSet.getAndroidManifest();
+ if (typeLocation != null && typeLocation.isFile()) {
+ inputs.add(typeLocation);
+ }
}
for (SourceSet sourceSet : mFlavorSourceSets) {
@@ -512,6 +517,10 @@ public class VariantConfiguration {
}
}
+ for (AndroidDependency lib : mFlatLibraryProjects) {
+ classpath.add(lib.getJarFile());
+ }
+
if (mType == Type.TEST && mTestedConfig.mType == Type.LIBRARY) {
// the tested library is added to the main app so we need its compile classpath as well.
// which starts with its output