aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/ideinfo
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-03-07 16:41:57 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-03-08 03:44:31 +0000
commit8056c4577614f3d6374a01b8b3014a2070e1fe41 (patch)
tree2db52a8be8b0362f85b07c7ef036cd8a5a7a1711 /src/main/java/com/google/devtools/build/lib/ideinfo
parent3a55f01cc98068d0133349ddb5c0043b74555565 (diff)
Support android_resources in Android Studio.
-- MOS_MIGRATED_REVID=116549753
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/ideinfo')
-rw-r--r--src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java71
1 files changed, 38 insertions, 33 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
index 4749ab69bf..5c62c14192 100644
--- a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
@@ -425,24 +425,17 @@ public class AndroidStudioInfoAspect implements ConfiguredNativeAspectFactory {
builder.addResources(artifactLocation);
}
- builder.setJavaPackage(provider.getJavaPackage());
+ if (provider.getJavaPackage() != null) {
+ builder.setJavaPackage(provider.getJavaPackage());
+ }
boolean hasIdlSources = !provider.getIdlSrcs().isEmpty();
builder.setHasIdlSources(hasIdlSources);
if (hasIdlSources) {
- LibraryArtifact.Builder jarBuilder = LibraryArtifact.newBuilder();
- Artifact idlClassJar = provider.getIdlClassJar();
- if (idlClassJar != null) {
- jarBuilder.setJar(makeArtifactLocation(idlClassJar));
- addResolveArtifact(ideResolveArtifacts, idlClassJar);
- }
- Artifact idlSourceJar = provider.getIdlSourceJar();
- if (idlSourceJar != null) {
- jarBuilder.setSourceJar(makeArtifactLocation(idlSourceJar));
- addResolveArtifact(ideResolveArtifacts, idlSourceJar);
- }
- if (idlClassJar != null) {
- builder.setIdlJar(jarBuilder.build());
+ LibraryArtifact idlLibraryArtifact = makeLibraryArtifact(ideResolveArtifacts,
+ provider.getIdlClassJar(), null, provider.getIdlSourceJar());
+ if (idlLibraryArtifact != null) {
+ builder.setIdlJar(idlLibraryArtifact);
}
}
@@ -543,31 +536,43 @@ public class AndroidStudioInfoAspect implements ConfiguredNativeAspectFactory {
JavaRuleIdeInfo.Builder builder,
NestedSetBuilder<Artifact> ideResolveArtifacts,
JavaRuleOutputJarsProvider outputJarsProvider) {
- LibraryArtifact.Builder jarsBuilder = LibraryArtifact.newBuilder();
for (OutputJar outputJar : outputJarsProvider.getOutputJars()) {
- Artifact classJar = outputJar.getClassJar();
- if (classJar != null) {
- jarsBuilder.setJar(makeArtifactLocation(classJar));
- addResolveArtifact(ideResolveArtifacts, classJar);
- }
- Artifact iJar = outputJar.getIJar();
- if (iJar != null) {
- jarsBuilder.setInterfaceJar(makeArtifactLocation(iJar));
- addResolveArtifact(ideResolveArtifacts, iJar);
- }
- Artifact srcJar = outputJar.getSrcJar();
- if (srcJar != null) {
- jarsBuilder.setSourceJar(makeArtifactLocation(srcJar));
- addResolveArtifact(ideResolveArtifacts, srcJar);
- }
+ LibraryArtifact libraryArtifact = makeLibraryArtifact(ideResolveArtifacts,
+ outputJar.getClassJar(), outputJar.getIJar(), outputJar.getSrcJar());
- // We don't want to add anything that doesn't have a class jar
- if (classJar != null) {
- builder.addJars(jarsBuilder.build());
+ if (libraryArtifact != null) {
+ builder.addJars(libraryArtifact);
}
}
}
+ @Nullable
+ private static LibraryArtifact makeLibraryArtifact(
+ NestedSetBuilder<Artifact> ideResolveArtifacts,
+ @Nullable Artifact classJar,
+ @Nullable Artifact iJar,
+ @Nullable Artifact sourceJar
+ ) {
+ // We don't want to add anything that doesn't have a class jar
+ if (classJar == null) {
+ return null;
+ }
+ LibraryArtifact.Builder jarsBuilder = LibraryArtifact.newBuilder();
+ jarsBuilder.setJar(makeArtifactLocation(classJar));
+ addResolveArtifact(ideResolveArtifacts, classJar);
+
+ if (iJar != null) {
+ jarsBuilder.setInterfaceJar(makeArtifactLocation(iJar));
+ addResolveArtifact(ideResolveArtifacts, iJar);
+ }
+ if (sourceJar != null) {
+ jarsBuilder.setSourceJar(makeArtifactLocation(sourceJar));
+ addResolveArtifact(ideResolveArtifacts, sourceJar);
+ }
+
+ return jarsBuilder.build();
+ }
+
private static void collectGenJars(
JavaRuleIdeInfo.Builder builder,
NestedSetBuilder<Artifact> ideResolveArtifacts,