aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch-protocol/src/main/protobuf/file_source_db.proto
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2015-02-03 23:06:45 +0100
committerSimon Brandhof <simon.brandhof@sonarsource.com>2015-02-10 14:05:59 +0100
commit605a62f9e0342e63b55b50e76db3260dee1ef748 (patch)
tree798721d3f9b4af5df1eda911f37353a317deab44 /sonar-batch-protocol/src/main/protobuf/file_source_db.proto
parente1104eb967ad973c40ac2ae7f50732aaef0cc734 (diff)
downloadsonarqube-605a62f9e0342e63b55b50e76db3260dee1ef748.tar.gz
sonarqube-605a62f9e0342e63b55b50e76db3260dee1ef748.zip
SONAR-2570 compress db table FILE_SOURCES
Diffstat (limited to 'sonar-batch-protocol/src/main/protobuf/file_source_db.proto')
-rw-r--r--sonar-batch-protocol/src/main/protobuf/file_source_db.proto72
1 files changed, 72 insertions, 0 deletions
diff --git a/sonar-batch-protocol/src/main/protobuf/file_source_db.proto b/sonar-batch-protocol/src/main/protobuf/file_source_db.proto
new file mode 100644
index 00000000000..bdb0b877949
--- /dev/null
+++ b/sonar-batch-protocol/src/main/protobuf/file_source_db.proto
@@ -0,0 +1,72 @@
+/*
+ SonarQube, open source software quality management tool.
+ Copyright (C) 2008-2015 SonarSource
+ mailto:contact AT sonarsource DOT com
+
+ SonarQube is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ SonarQube is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+/*
+Notes
+
+ - "required" fields are not used as recommended by Google to keep forward-compatibility:
+ https://developers.google.com/protocol-buffers/docs/proto#simple
+
+ - the related Java files are not generated during build. Indeed the existing protoc maven
+ plugins require protobuf to be installed on boxes. That means that generated Java files
+ are updated and committed for each change (see src/main/gen-java).
+*/
+
+// structure of db column FILE_SOURCES.BINARY_DATA
+
+// Temporarily in sonar-batch-protocol as this db table
+// is still fed on batch-side. However generated sources
+// are already in correct package
+
+package org.sonar.server.source.db;
+option optimize_for = SPEED;
+
+message Line {
+ optional int32 line = 1;
+ optional string source = 2;
+
+ // SCM
+ optional string scm_revision = 3;
+ optional string scm_author = 4;
+ optional int64 scm_date = 5;
+
+ // unit tests
+ optional int32 ut_line_hits = 6;
+ optional int32 ut_conditions = 7;
+ optional int32 ut_covered_conditions = 8;
+
+ // integration tests
+ optional int32 it_line_hits = 9;
+ optional int32 it_conditions = 10;
+ optional int32 it_covered_conditions = 11;
+
+ // overall tests
+ optional int32 overall_line_hits = 12;
+ optional int32 overall_conditions = 13;
+ optional int32 overall_covered_conditions = 14;
+
+ optional string highlighting = 15;
+ optional string symbols = 16;
+ repeated int32 duplications = 17;
+}
+
+message Data {
+ repeated Line lines = 1;
+}