Skip to content

Commit

Permalink
Add project's render JARs to getModuleExternalLibraries
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 449766349
  • Loading branch information
Googler authored and copybara-github committed May 19, 2022
1 parent bd56e6e commit 5fe9ab5
Showing 1 changed file with 18 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,14 @@
*/
package com.google.idea.blaze.android.sync.model.idea;

import static com.google.common.collect.ImmutableList.toImmutableList;

import com.android.tools.idea.model.ClassJarProvider;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.idea.blaze.android.libraries.RenderJarCache;
import com.google.idea.blaze.android.sync.model.AndroidResourceModuleRegistry;
import com.google.idea.blaze.android.targetmaps.TargetToBinaryMap;
import com.google.idea.blaze.base.build.BlazeBuildService;
import com.google.idea.blaze.base.command.buildresult.OutputArtifactResolver;
import com.google.idea.blaze.base.ideinfo.ArtifactLocation;
Expand All @@ -32,6 +35,7 @@
import com.google.idea.blaze.base.sync.data.BlazeProjectDataManager;
import com.google.idea.blaze.base.sync.workspace.ArtifactLocationDecoder;
import com.google.idea.blaze.base.targetmaps.TransitiveDependencyMap;
import com.google.idea.common.experiments.BoolExperiment;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.module.Module;
Expand All @@ -47,9 +51,12 @@
import com.intellij.psi.search.GlobalSearchScope;
import java.io.File;
import java.util.List;
import java.util.Objects;

/** Collects class jars from the user's build. */
public class BlazeClassJarProvider implements ClassJarProvider {
private static final BoolExperiment useRenderJarForExternalLibraries =
new BoolExperiment("aswb.classjars.renderjar.as.libraries", true);
private final Project project;

public BlazeClassJarProvider(final Project project) {
Expand All @@ -68,9 +75,19 @@ public List<File> getModuleExternalLibraries(Module module) {
TargetMap targetMap = blazeProjectData.getTargetMap();
ArtifactLocationDecoder decoder = blazeProjectData.getArtifactLocationDecoder();

if (useRenderJarForExternalLibraries.getValue()) {
return TargetToBinaryMap.getInstance(project).getSourceBinaryTargets().stream()
.filter(targetMap::contains)
.map(
(binaryTarget) ->
RenderJarCache.getInstance(project)
.getCachedJarForBinaryTarget(decoder, targetMap.get(binaryTarget)))
.filter(Objects::nonNull)
.collect(toImmutableList());
}

AndroidResourceModuleRegistry registry = AndroidResourceModuleRegistry.getInstance(project);
TargetIdeInfo target = targetMap.get(registry.getTargetKey(module));

if (target == null) {
return ImmutableList.of();
}
Expand Down

0 comments on commit 5fe9ab5

Please sign in to comment.