use of com.google.idea.blaze.base.ideinfo.LibraryArtifact in project intellij by bazelbuild.
the class BlazeAndroidLibrarySource method getLibraries.
@Override
public List<BlazeLibrary> getLibraries() {
BlazeAndroidSyncData syncData = blazeProjectData.syncState.get(BlazeAndroidSyncData.class);
if (syncData == null) {
return ImmutableList.of();
}
ImmutableList.Builder<BlazeLibrary> libraries = ImmutableList.builder();
if (syncData.importResult.resourceLibrary != null) {
libraries.add(syncData.importResult.resourceLibrary);
}
if (syncData.importResult.javacJar != null) {
libraries.add(new BlazeJarLibrary(new LibraryArtifact(null, syncData.importResult.javacJar, ImmutableList.of())));
}
libraries.addAll(syncData.importResult.aarLibraries);
return libraries.build();
}
use of com.google.idea.blaze.base.ideinfo.LibraryArtifact in project intellij by bazelbuild.
the class BlazeJavaWorkspaceImporter method addProtoLegacyLibrariesFromDirectDepsForFlavor.
private void addProtoLegacyLibrariesFromDirectDepsForFlavor(TargetMap targetMap, ProtoLibraryLegacyInfo.ApiFlavor apiFlavor, List<TargetKey> targetKeys, Map<LibraryKey, BlazeJarLibrary> result) {
for (TargetKey key : targetKeys) {
TargetIdeInfo target = targetMap.get(key);
if (target == null) {
continue;
}
ProtoLibraryLegacyInfo protoLibraryLegacyInfo = target.protoLibraryLegacyInfo;
if (protoLibraryLegacyInfo == null) {
continue;
}
final Collection<LibraryArtifact> libraries;
switch(apiFlavor) {
case VERSION_1:
libraries = protoLibraryLegacyInfo.jarsV1;
break;
case MUTABLE:
libraries = protoLibraryLegacyInfo.jarsMutable;
break;
case IMMUTABLE:
libraries = protoLibraryLegacyInfo.jarsImmutable;
break;
default:
// Can't happen
libraries = null;
break;
}
if (libraries != null) {
for (LibraryArtifact libraryArtifact : libraries) {
BlazeJarLibrary library = new BlazeJarLibrary(libraryArtifact);
result.put(library.key, library);
}
}
}
}
use of com.google.idea.blaze.base.ideinfo.LibraryArtifact in project intellij by bazelbuild.
the class BlazeJavaWorkspaceImporter method addTargetAsSource.
private void addTargetAsSource(WorkspaceBuilder workspaceBuilder, TargetIdeInfo target, Collection<ArtifactLocation> javaSources) {
JavaIdeInfo javaIdeInfo = target.javaIdeInfo;
if (javaIdeInfo == null) {
return;
}
TargetKey targetKey = target.key;
Collection<String> jars = jdepsMap.getDependenciesForTarget(targetKey);
if (jars != null) {
workspaceBuilder.jdeps.addAll(jars);
}
// Add all deps if this rule is in the current working set
if (workingSet == null || workingSet.isTargetInWorkingSet(target)) {
// Add self, so we pick up our own gen jars if in working set
workspaceBuilder.directDeps.add(targetKey);
for (Dependency dep : target.dependencies) {
if (dep.dependencyType != DependencyType.COMPILE_TIME) {
continue;
}
// forward deps from java proto_library aspect targets
TargetIdeInfo depTarget = targetMap.get(dep.targetKey);
if (depTarget != null && Kind.JAVA_PROTO_LIBRARY_KINDS.contains(depTarget.kind)) {
workspaceBuilder.directDeps.addAll(depTarget.dependencies.stream().map(d -> d.targetKey).collect(Collectors.toList()));
} else {
workspaceBuilder.directDeps.add(dep.targetKey);
}
}
}
for (ArtifactLocation artifactLocation : javaSources) {
if (artifactLocation.isSource()) {
duplicateSourceDetector.add(targetKey, artifactLocation);
workspaceBuilder.sourceArtifacts.add(new SourceArtifact(targetKey, artifactLocation));
workspaceBuilder.addedSourceFiles.add(artifactLocation);
}
}
ArtifactLocation manifest = javaIdeInfo.packageManifest;
if (manifest != null) {
workspaceBuilder.javaPackageManifests.put(targetKey, manifest);
}
for (LibraryArtifact libraryArtifact : javaIdeInfo.jars) {
ArtifactLocation classJar = libraryArtifact.classJar;
if (classJar != null) {
workspaceBuilder.buildOutputJars.add(classJar);
}
}
workspaceBuilder.generatedJarsFromSourceTargets.addAll(javaIdeInfo.generatedJars.stream().map(BlazeJarLibrary::new).collect(Collectors.toList()));
if (javaIdeInfo.filteredGenJar != null) {
workspaceBuilder.generatedJarsFromSourceTargets.add(new BlazeJarLibrary(javaIdeInfo.filteredGenJar));
}
for (BlazeJavaSyncAugmenter augmenter : augmenters) {
augmenter.addJarsForSourceTarget(workspaceLanguageSettings, projectViewSet, target, workspaceBuilder.outputJarsFromSourceTargets.get(targetKey), workspaceBuilder.generatedJarsFromSourceTargets);
}
}
use of com.google.idea.blaze.base.ideinfo.LibraryArtifact in project intellij by bazelbuild.
the class BlazeJavaWorkspaceImporter method addLibraryToJdeps.
private void addLibraryToJdeps(Map<String, BlazeJarLibrary> jdepsPathToLibrary, BlazeJarLibrary library) {
LibraryArtifact libraryArtifact = library.libraryArtifact;
ArtifactLocation interfaceJar = libraryArtifact.interfaceJar;
if (interfaceJar != null) {
jdepsPathToLibrary.put(interfaceJar.getExecutionRootRelativePath(), library);
}
ArtifactLocation classJar = libraryArtifact.classJar;
if (classJar != null) {
jdepsPathToLibrary.put(classJar.getExecutionRootRelativePath(), library);
}
}
Aggregations