GitLab Repositories with dots result in wrong paths for the SARIF converter

Aperta
#10 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
csharp
Ambito
tooling

Direzione di ricerca

Start at CodeQualityToGitlab/SarifConverters/Converter1.cs around line 87 and inspect how MakeRelativeUri handles a project path such as /builds/my_group/ns.myproject. Compare this behavior with the roslynator converter's root-path handling. Done means SARIF paths under project roots containing dots are converted to the correct relative paths.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

https://github.com/codecentric/dotnet_gitlab_code_quality/blob/63ec7e8061f38fa65189dabde3aeb7d832e1257d/CodeQualityToGitlab/SarifConverters/Converter1.cs#L87

If the project path contains any dots, e.g.: /builds/my_group/ns.myproject the roslynator converter correctly transforms the root paths.

However the Sarif Converters make use of the MakeRelativeUri function, which will treat the string wrong.

I suggest using something more robust like

var uri = new Uri(pathRoot);
var absolutePath = begin.ResultFile.Uri.LocalPath;
var rootPath = uri.LocalPath;

if (absolutePath.StartsWith(rootPath))
{
   return absolutePath.Substring(rootPath.Length).Replace("//", "\\");
}

return begin.ResultFile.Uri.MakeRelativeUri(uri).ToString().Replace("//", "\\");
Lingua principale
C#
Stelle
14
Fork
8
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di codecentric/dotnet_gitlab_code_quality

Tutte le issue di codecentric/dotnet_gitlab_code_quality

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.