diff options
author | 2015-09-26 20:35:57 +0000 | |
---|---|---|
committer | 2015-09-28 11:39:56 +0000 | |
commit | 22616ae8ea53df3909fd16b74e0d9210138dc2c2 (patch) | |
tree | 42740e6f6eba481ff858d7e48cc1605ece0ddb92 /src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java | |
parent | a72be0f1d68ec449d463f825afa0aaabc4f05246 (diff) |
Add Android IDL jar outputs.
These outputs are a jar and source jar for the results of aidl processing.
This is used to add aidl output to IDEs separate from the source code,
similar to annotation output (gen jars).
--
MOS_MIGRATED_REVID=104024453
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java index 5d3ce1c7db..9fe1faf096 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java @@ -97,6 +97,8 @@ public final class AndroidIdeInfoProvider implements TransitiveInfoProvider { private Artifact manifest = null; private Artifact generatedManifest = null; private Artifact apk = null; + private Artifact idlClassJar = null; + private Artifact idlSourceJar = null; private final Set<SourceDirectory> resourceDirs = new LinkedHashSet<>(); private final Set<SourceDirectory> assetDirs = new LinkedHashSet<>(); private final Set<SourceDirectory> idlDirs = new LinkedHashSet<>(); @@ -108,6 +110,8 @@ public final class AndroidIdeInfoProvider implements TransitiveInfoProvider { manifest, generatedManifest, apk, + idlClassJar, + idlSourceJar, ImmutableList.copyOf(assetDirs), ImmutableList.copyOf(resourceDirs), ImmutableList.copyOf(idlDirs), @@ -133,6 +137,18 @@ public final class AndroidIdeInfoProvider implements TransitiveInfoProvider { return this; } + public Builder setIdlClassJar(@Nullable Artifact idlClassJar) { + Preconditions.checkState(this.idlClassJar == null); + this.idlClassJar = idlClassJar; + return this; + } + + public Builder setIdlSourceJar(@Nullable Artifact idlSourceJar) { + Preconditions.checkState(this.idlSourceJar == null); + this.idlSourceJar = idlSourceJar; + return this; + } + /** * Add "idl_srcs" contents. */ @@ -268,6 +284,8 @@ public final class AndroidIdeInfoProvider implements TransitiveInfoProvider { private final Artifact manifest; private final Artifact generatedManifest; private final Artifact signedApk; + @Nullable private final Artifact idlClassJar; + @Nullable private final Artifact idlSourceJar; private final ImmutableCollection<SourceDirectory> resourceDirs; private final ImmutableCollection<SourceDirectory> assetDirs; private final ImmutableCollection<SourceDirectory> idlImports; @@ -277,6 +295,8 @@ public final class AndroidIdeInfoProvider implements TransitiveInfoProvider { AndroidIdeInfoProvider(@Nullable Artifact manifest, @Nullable Artifact generatedManifest, @Nullable Artifact signedApk, + @Nullable Artifact idlClassJar, + @Nullable Artifact idlSourceJar, ImmutableCollection<SourceDirectory> assetDirs, ImmutableCollection<SourceDirectory> resourceDirs, ImmutableCollection<SourceDirectory> idlImports, @@ -285,6 +305,8 @@ public final class AndroidIdeInfoProvider implements TransitiveInfoProvider { this.manifest = manifest; this.generatedManifest = generatedManifest; this.signedApk = signedApk; + this.idlClassJar = idlClassJar; + this.idlSourceJar = idlSourceJar; this.assetDirs = assetDirs; this.resourceDirs = resourceDirs; this.idlImports = idlImports; @@ -311,6 +333,16 @@ public final class AndroidIdeInfoProvider implements TransitiveInfoProvider { return signedApk; } + @Nullable + public Artifact getIdlClassJar() { + return idlClassJar; + } + + @Nullable + public Artifact getIdlSourceJar() { + return idlSourceJar; + } + /** A list of the direct Resource directories. */ public ImmutableCollection<SourceDirectory> getResourceDirs() { return resourceDirs; |