All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ce.sonarlint.core.sonarlint-core.6.2.0.34235.source-code.sonarlint.proto Maven / Gradle / Ivy

There is a newer version: 10.3.2.78498
Show newest version
// 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;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy