diff options
author | Xavier Ducrohet <xav@android.com> | 2012-09-13 17:05:09 -0700 |
---|---|---|
committer | Xavier Ducrohet <xav@android.com> | 2012-09-13 17:06:14 -0700 |
commit | df01802807d79bc1c509bd3039eb81fa8c4eca73 (patch) | |
tree | 80439220996943648c1aa33b11a519470eabd6f7 /builder | |
parent | 996695cea77ef846a540c8675d31e62898dae93b (diff) | |
download | build-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.java | 35 |
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 |