aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch-protocol
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2015-05-04 19:45:03 +0200
committerJulien HENRY <julien.henry@sonarsource.com>2015-05-05 11:23:41 +0200
commitcc8d5ba68470e7341a3d08809b9f0140e0b36253 (patch)
treedaac04ef0ab7267bdb965592ee154c3254b9d401 /sonar-batch-protocol
parent39707810c59036f0ff64ded7ff50044f4906d23a (diff)
downloadsonarqube-cc8d5ba68470e7341a3d08809b9f0140e0b36253.tar.gz
sonarqube-cc8d5ba68470e7341a3d08809b9f0140e0b36253.zip
SONAR-6457 Feed dependencies in batch report
Diffstat (limited to 'sonar-batch-protocol')
-rw-r--r--sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/ProtobufUtil.java8
-rw-r--r--sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchReportWriter.java5
2 files changed, 13 insertions, 0 deletions
diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/ProtobufUtil.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/ProtobufUtil.java
index a2579c07937..3b85d604365 100644
--- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/ProtobufUtil.java
+++ b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/ProtobufUtil.java
@@ -45,6 +45,14 @@ public class ProtobufUtil {
}
}
+ public static void appendToFile(Message message, File toFile) {
+ try (OutputStream out = new BufferedOutputStream(new FileOutputStream(toFile, true))) {
+ message.writeDelimitedTo(out);
+ } catch (IOException e) {
+ throw new IllegalStateException("Unable to append protocol buffer data to file " + toFile, e);
+ }
+ }
+
public static <MESSAGE extends Message> void writeMessagesToFile(Iterable<MESSAGE> messages, File file) {
try (OutputStream out = new BufferedOutputStream(new FileOutputStream(file, true))) {
for (MESSAGE message : messages) {
diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchReportWriter.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchReportWriter.java
index 33f651ace44..9bfa1e5cad0 100644
--- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchReportWriter.java
+++ b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchReportWriter.java
@@ -130,6 +130,11 @@ public class BatchReportWriter {
ProtobufUtil.writeMessagesToFile(fileDependencies, file);
}
+ public void appendFileDependency(int componentRef, BatchReport.FileDependency fileDependency) {
+ File file = fileStructure.fileFor(FileStructure.Domain.FILE_DEPENDENCIES, componentRef);
+ ProtobufUtil.appendToFile(fileDependency, file);
+ }
+
public void writeModuleDependencies(int componentRef, Iterable<BatchReport.ModuleDependencies.ModuleDependency> dependencies) {
BatchReport.ModuleDependencies.Builder builder = BatchReport.ModuleDependencies.newBuilder();
builder.addAllDep(dependencies);