ce.sonarlint.core.sonarlint-core.6.1.0.33448.source-code.sonarlint.proto Maven / Gradle / Ivy
// SonarLint, open source software quality management tool.
// Copyright (C) 2015-2017 SonarSource
// mailto:contact AT sonarsource DOT com
//
// SonarLint 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.
//
// SonarLint 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.
syntax = "proto3";
package sonarlint;
// The java package can be changed without breaking compatibility.
// it impacts only the generated Java code.
option java_package = "org.sonarsource.sonarlint.core.proto";
option optimize_for = SPEED;
message StorageStatus {
string storage_version = 1;
string sonarlint_core_version = 2;
int64 update_timestamp = 4;
}
message ServerInfos {
string id = 1;
string version = 2;
string status = 3;
}
message PluginReferences {
repeated PluginReference reference = 1;
message PluginReference {
string key = 1;
string hash = 2;
string filename = 3;
}
}
message GlobalProperties {
map properties = 1;
}
message Rules {
map rules_by_key = 1;
message Rule {
string repo = 1;
string key = 2;
string name = 3;
string severity = 4;
string lang = 5;
string internal_key = 6;
string html_desc = 7;
bool is_template = 8;
string template_key = 9;
string html_note = 10;
string type = 11;
}
}
message QProfiles {
map qprofilesByKey = 1;
map defaultQProfilesByLanguage = 2;
message QProfile {
string key = 1;
string name = 2;
string language = 3;
string language_name = 4;
int64 active_rule_count = 5;
string rules_updated_at = 6;
string user_updated_at = 7;
}
}
message ActiveRules {
map active_rules_by_key = 1;
message ActiveRule {
string repo = 1;
string key = 2;
string severity = 3;
map params = 4;
}
}
message ServerIssue {
string rule_repository = 3;
string rule_key = 4;
string severity = 7;
string resolution = 9;
string status = 10;
string line_hash = 11;
string assignee_login = 12;
int64 creation_date = 13;
string type = 14;
string key = 15;
Location primary_location = 16;
repeated Flow flow = 17;
message Flow {
repeated Location location = 1;
}
message Location {
string path = 1;
string msg = 2;
TextRange text_range = 3;
string code_snippet = 4;
}
message TextRange {
int32 start_line = 1;
int32 start_line_offset = 2;
int32 end_line = 3;
int32 end_line_offset = 4;
}
}
message ProjectList {
map projects_by_key = 1;
message Project {
string key = 1;
string name = 2;
}
}
message ProjectConfiguration {
map qprofile_per_language = 1;
map properties = 2;
map module_path_by_key = 3;
}
message ProjectComponents {
repeated string component = 1;
}
message Issues {
repeated Issue issue = 1;
message Issue {
// used for matching
string serverIssueKey = 1;
string ruleKey = 2;
int32 line = 3;
string message = 4;
int32 checksum = 5;
// values carried forward
string assignee = 6;
int64 creationDate = 7;
bool resolved = 8;
}
}
message StorageIndex {
map mapped_path_by_key = 1;
}