diff options
author | Googler <noreply@google.com> | 2016-05-26 03:05:46 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-05-27 08:44:58 +0000 |
commit | 09a6a7e3a517342f2347fb40fc52f5f8a45f055b (patch) | |
tree | ad679c907df21d817fd3be9e08c3a07790bd85c1 /src | |
parent | 08c028501ea08b6f043f1e1cd1a0ff8d62d0fa64 (diff) |
Defer converting IDE aspect output to string.
If we convert the aspect to a string it's kept in the analysis cache
along with the original proto, even if the associated action is
never used.
--
MOS_MIGRATED_REVID=123280808
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java | 14 |
1 files changed, 10 insertions, 4 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 619150a553..be98426590 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 @@ -41,7 +41,6 @@ import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.TransitiveInfoCollection; import com.google.devtools.build.lib.analysis.actions.BinaryFileWriteAction; import com.google.devtools.build.lib.analysis.actions.CustomCommandLine; -import com.google.devtools.build.lib.analysis.actions.FileWriteAction; import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.cmdline.Label; @@ -79,8 +78,10 @@ import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.protobuf.MessageLite; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.List; @@ -536,12 +537,17 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config /*makeExecutable =*/ false); } - private static FileWriteAction makeProtoTextWriteAction( + private static BinaryFileWriteAction makeProtoTextWriteAction( ActionOwner actionOwner, final MessageLite message, Artifact artifact) { - return new FileWriteAction( + return new BinaryFileWriteAction( actionOwner, artifact, - message.toString(), + new ByteSource() { + @Override + public InputStream openStream() throws IOException { + return new ByteArrayInputStream(message.toString().getBytes(StandardCharsets.UTF_8)); + } + }, /*makeExecutable =*/ false); } |