sonarqube.ws-commons.proto Maven / Gradle / Ivy
// SonarLint, open source software quality management tool.
// Copyright (C) 2015-2023 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 = "proto2";
package sonarqube.ws.commons;
option java_package = "org.sonarsource.sonarlint.core.serverapi.proto.sonarqube.ws";
option java_outer_classname = "Common";
option optimize_for = SPEED;
message Paging {
optional int32 pageIndex = 1;
optional int32 pageSize = 2;
optional int32 total = 3;
}
enum Severity {
INFO = 0;
MINOR = 1;
MAJOR = 2;
CRITICAL = 3;
BLOCKER = 4;
}
message Rule {
optional string key = 1;
optional string name = 2;
optional string lang = 3;
optional string langName = 5;
}
message Rules {
repeated Rule rules = 1;
}
// Lines start at 1 and line offsets start at 0
message TextRange {
// Start line. Should never be absent
optional int32 startLine = 1;
// End line (inclusive). Absent means it is same as start line
optional int32 endLine = 2;
// If absent it means range starts at the first offset of start line
optional int32 startOffset = 3;
// If absent it means range ends at the last offset of end line
optional int32 endOffset = 4;
}
message Flow {
repeated Location locations = 1;
}
message Location {
optional string component = 4;
optional string unusedComponentId = 1;
// Only when component is a file. Can be empty for a file if this is an issue global to the file.
optional sonarqube.ws.commons.TextRange textRange = 2;
optional string msg = 3;
}
enum RuleType {
// Zero is required in order to not get CODE_SMELL as default value
// See http://androiddevblog.com/protocol-buffers-pitfall-adding-enum-values/
UNKNOWN = 0;
// same name as in Java enum IssueType,
// same index values as in database (see column ISSUES.ISSUE_TYPE)
CODE_SMELL = 1;
BUG = 2;
VULNERABILITY = 3;
SECURITY_HOTSPOT = 4;
}
enum BranchType {
UNKNOWN_BRANCH_TYPE = 0;
LONG = 1;
SHORT = 2;
PULL_REQUEST = 3;
BRANCH = 4;
}