diff --git a/skripte/12.md b/skripte/12.md new file mode 100644 index 0000000..34cab77 --- /dev/null +++ b/skripte/12.md @@ -0,0 +1,1956 @@ +# Korišćenje SonarCube za Code Coverage +Sadržaj: +* [Uvod](#uvod) + * [Šta je SonarQube?](#šta-je-sonarqube) + * [Šta je pokrivenost koda (Code Coverage)?](#šta-je-pokrivenost-koda-code-coverage) + * [Zašto je pokrivenost koda (Code Coverage) važna?](#zašto-je-pokrivenost-koda-code-coverage-važna) +* [Instalacija i konfiguracija](#instalacija-i-konfiguracija) + * [Instalacija Docker-a](#instalacija-docker-a) + * [Preuzimanje SonarQube Docker Image-a](#preuzimanje-sonarqube-docker-image-a) + * [Pokretanje SonarQube-a](#pokretanje-sonarqube-a) + * [Pristup SonarQube-u](#pristup-sonarqube-u) + * [Preuzimanje C# i Angular Projekat](#preuzimanje-c-i-angular-projekat) + * [Instalacija SonarScanner-a za C#](#instalacija-sonarscanner-a-za-c) + * [Kreiranje Projekta u SonarQube-u](#kreiranje-projekta-u-sonarqube-u) + * [Primena SonarScanner-a na C# Backend Projekat](#primena-sonarscanner-a-na-c-backend-projekat) +* [Analiza pokrivenosti koda (Code Coverage)](#analiza-pokrivenosti-koda-code-coverage) + * [Analiza Kvaliteta Koda Projekta](#analiza-kvaliteta-koda-projekta) + * [Overview (Pregled)](#overview-pregled) + * [Issues (Problemi)](#issues-problemi) + * [Security Hotspots (Sigurnosne Tačke)](#security-hotspots-sigurnosne-tačke) + * [Measures (Metrike)](#measures-metrike) + * [Code (Kod)](#code-kod) + * [Activity (Aktivnost)](#activity-aktivnost) + * [Korišćenje alata za generisanje izveštaja pokrivenosti koda (Code Coverage)](#korišćenje-alata-za-generisanje-izveštaja-pokrivenosti-koda-code-coverage) + * [Importovanje izveštaja pokrivenosti koda (Code Coverage) u SonarQube](#importovanje-izveštaja-pokrivenosti-koda-code-coverage-u-sonarqube) +* [Tumačenje rezultata](#tumačenje-rezultata) +* [Kako se izračunava pokrivenost koda (Code Coverage) i razumevanje različitih metrika?](#kako-se-izračunava-pokrivenost-koda-code-coverage-i-razumevanje-različitih-metrika) +* [Primena SonarQube-a u CI/CD procesima](#primena-sonarqube-a-u-cicd-procesima) + * [GitLab CI/CD](#gitlab-cicd) +* [Prednosti korišćenja SonarQube-a za analizu pokrivenosti koda (Code Coverage)](#prednosti-korišćenja-sonarqube-a-za-analizu-pokrivenosti-koda-code-coverage) + +## Uvod +### Šta je SonarQube? +SonarQube je automatski alat za pregled koda kojim se samostalno upravlja i koji pomaže u isporučivanju čistog koda. Integrira se u postojeće tokove rada kako bi otkrio probleme u kodu i omogućio kontinuirane provere. SonarQube analizira više od 30 različitih programskih jezika i integrira se u pipeline za kontinuiranu integraciju (CI) na DevOps platformama, osiguravajući da kod ispunjava visoke standarde kvaliteta. + +Glavne karakteristike SonarQube-a: + +* Statička analiza koda: SonarQube omogućava automatsku analizu koda bez izvršavanja, kako bi se identifikovale potencijalne greške, sigurnosne ranjivosti i druge probleme u kodu. +* Praćenje tehničkog duga: Alat pomaže u praćenju tehničkog duga, ukazujući na oblasti koda koje treba unaprediti kako bi se smanjio dug i održao kvalitet koda na visokom nivou. +* Identifikacija sigurnosnih ranjivosti: SonarQube identifikuje sigurnosne ranjivosti u kodu, omogućavajući timovima da ih adresiraju pre nego što postanu ozbiljan problem. + +| ![sonar-development-workflow](https://github.com/user-attachments/assets/ffc5a77c-8bfd-4143-993c-8f1ed14de30f) | +|:--:| +| *Izvor: [docs.sonarsource.com](https://docs.sonarsource.com/sonarqube/latest/)* | + +### Šta je pokrivenost koda (Code Coverage)? +Pokrivenost koda (Code Coverage) je metrika razvoja softvera koja se koristi za merenje obima u kom se softverski kod izvršava tokom testiranja. Pokrivenost je kvantitativna mera koja ukazuje na procenat linija koda, grana, iskaza ili drugih strukturnih elemenata pokrivenih skupom testova. Jednostavnije rečeno, pomaže programerima da shvate koliko njihove baze koda koriste njihovi testovi. + +Alati za pokrivenost koda(Code Coverage) obično izražavaju metriku u procentima, pokazujući vam procenat uspešno potvrđenih linija koda u vašim procedurama testiranja, pomažući vam da razumete koliko temeljno testirate svoj kod. + +Tipične metrike pokrivenosti koda uključuju: + +- **Ukupna pokrivenost(Overall Coverage)**: Procenat ukupnog koda koji je izvršen testovima. +- **Pokrivenost linija(Line Coverage)**: Procenat linija koda koji su izvršeni testovima. +- **Pokrivenost grana(Branch Coverage)**: Procenat grana kontrolnog toka (if izjave, petlje itd.) koji su izvršeni testovima. + +*Izvor: [blog.codacy.com](https://blog.codacy.com/what-is-code-coverage), [docs.source.com](https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/test-coverage/overview/)* + +### Zašto je pokrivenost koda (Code Coverage) važna? + +Važnost pokrivenosti koda leži u njenoj sposobnosti da pruži uvid u kvalitet i efikasnost testnog skupa. Metrike pokrivenosti koda mogu pomoći vašem timu u: + +- **Identifikovanju nepokrivenog koda:** koji nije testiran i može sadržati greške ili potencijalne probleme koje testni skup nije obradio. + +- **Poboljšanju održavanja koda ili aktivnosti refaktorisanja:** kada se promene unesu u kod, izveštaji o pokrivenosti koda mogu pomoći da se osigura da bilo kakve izmene ne uvedu nenamerno nove probleme. + +- **Povećanju efikasnosti testiranja:** otkrivanjem da li testovi obuhvataju sve delove koda ili se određeni putevi u kodu zanemaruju. + +- **Identifikovanju nepotrebnih testova:** i njihovom eliminacijom kako bi se ubrzalo testiranje i olakšao kod. + +Važno je napomenuti da, iako je pokrivenost koda vredna metrika, postizanje 100% pokrivenosti ne garantuje aplikaciju bez grešaka. To je samo jedan od mnogih alata i praksi u alatima developera za osiguravanje kvaliteta softvera i koda. Naglasak treba da bude na smislenim testovima koji pokrivaju različite scenarije, uključujući rubne slučajeve i potencijalne greške. + +Neki od alata za analizu pokrivenosti koda, su JaCoCo za Java, Istanbul za JavaScript ili OpenCover za C#, automatski izračunavaju metrike i generišu izveštaje koji pomažu programerima da identifikuju neispravan ili netestiran kod. + +*Izvor: [blog.codacy.com](https://blog.codacy.com/what-is-code-coverage)* + +## Instalacija i konfiguracija +### Instalacija Docker-a +Pre nego što počnemo sa instalacijom SonarQube-a, potrebno je da instalirati Docker. Može se preuzeti i instalirati sa zvanične [Docker](https://www.docker.com/products/docker-desktop/) stranice. +### Preuzimanje SonarQube Docker Image-a +Nakon instalacije Docker-a, sledeći korak je preuzimanje SonarQube [Docker image-a](https://hub.docker.com/_/sonarqube). Ovo se postiže korišćenjem Docker komande "docker pull". U vašem terminalu ili komandnom promptu pokrenite sledeću komandu: +```bash + docker pull sonarqube +``` +### Pokretanje SonarQube-a +Kada je SonarQube image preuzet, možemo pokrenuti SonarQube server. To se radi pomoću Docker komande "docker run" ili klikom na dugme "Start" u Docker Desktop tabu "Containers". SonarQube se po default-u pokreće na portu "9000". + +Terminal: +```bash +docker run -d --name sonarqube -p 9000:9000 sonarqube +``` +Docker Desktop: + +![image](https://github.com/user-attachments/assets/c4d27521-3f0c-4f0f-ac93-74afbae0c81e) + +Ova komanda će pokrenuti SonarQube container u pozadini ("-d" flag) i mapirati port 9000 sa vašeg host sistema na port "9000" unutar container-a. +### Pristup SonarQube-u +Kada se SonarQube uspešno pokrene, možete mu pristupiti putem web browser-a. +```bash +http://localhost:9000 +``` + +![image](https://github.com/user-attachments/assets/ff83a05b-68fc-403c-8cb6-9d6cad238406) + +![image](https://github.com/user-attachments/assets/03ba0a3c-7875-4058-8f2b-a227e01d1372) + +### Preuzimanje C# i Angular Projekat +Za demonstraciju procesa postavljanja i analize koda pomoću SonarQube-a koristimo projekat sa SI predmeta koji uključuje C# za backend i Angular za frontend. Koraci se mogu primeniti na bilo koji drugi projekat. U ovom primeru, fokusiraćemo se na korišćenje SonarQube-a za analizu C# dela projekta, pokazujući kako se SonarQube integriše u C# okruženje i kako se koristi za poboljšanje kvaliteta koda. + +### Instalacija SonarScanner-a za C# +Da bismo koristili SonarQube za analizu C# projekata, potrebno je da instalirate SonarScanner. SonarScanner je alat koji se koristi za pokretanje analize koda i slanje rezultata na SonarQube server. + +[SonarScanner](https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner-for-dotnet/) za .NET Core ili .NET Framework možemo preuzeti sa zvaničnog SonarQube sajta i preuzmemo odgovarajuću verziju SonarScanner-a za našu platformu. Nakon preuzimanja, pratimo uputstva za instalaciju kako bismo alat pripremili za korišćenje u našem C# projektu. + +### Kreiranje Projekta u SonarQube-u +Nakon što smo pristupili SonarQube interfejsu, potrebno je da kreirate novi projekat za analizu. Na početnoj stranici SonarQube-a kliknemo na dugme "Create Project". + +![image](https://github.com/user-attachments/assets/094d151b-73ba-4b9c-b040-02e3f217da39) + +Unesemo naziv našeg projekta i nastavimo sa procesom. + +![image](https://github.com/user-attachments/assets/f320d84d-aa23-4491-8812-0abe204c4b13) +![image](https://github.com/user-attachments/assets/46948a2e-a711-4060-9e32-398f9f491b6c) + +Kliknemo na opciju "Locally" i generišemo projektni token. + +![image](https://github.com/user-attachments/assets/acdbbd0c-156d-4d74-901d-dd650fd6b5b3) +![image](https://github.com/user-attachments/assets/3cff37f4-f53d-4c71-b795-288a3876efad) + +Na kraju, SonarQube će nam dati set komandi koje treba da pokrenemo u terminalu kako bismo analizirali naš C# projekat. + +![image](https://github.com/user-attachments/assets/1b31a57e-120d-41c2-baac-c35df037a6d0) + +### Primena SonarScanner-a na C# Backend Projekat +1. Pokretanje SonarScanner-a za početak analize: +```bash +"SonarScanner installation path"\SonarScanner.MSBuild.exe begin /k:"backAPI" /d:sonar.host.url="http://localhost:9000" /d:sonar.token="sqp_2c7b5abb6f7c8d956663de34db9d67d54860274f" +``` +* SonarScanner.MSBuild.exe begin: Ova komanda inicijalizuje analizu koda i šalje podatke o konfiguraciji SonarQube-u. +* /k:"backAPI": Specifikuje ključ projekta (project key) koji je jedinstven identifikator za naš projekat u SonarQube-u. +* /d:sonar.host.url="http://localhost:9000": Definiše URL SonarQube servera na kojem će se slati podaci. +* /d:sonar.token="sqp_2c7b5abb6f7c8d956663de34db9d67d54860274f": Koristi token za autentifikaciju prema SonarQube serveru. + +![image](https://github.com/user-attachments/assets/3e31d297-4b03-47bc-b2a6-4b2caffab12f) + +2. Kompajliranje projekta koristeći MSBuild: +```bash +& "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MsBuild.exe" C:\syncatech\src\back\backAPI /t:Rebuild +``` +* MsBuild.exe: Alat za gradnju i kompajliranje C# projekta. +* C:\syncatech\src\back\backAPI: Putanja do izvornog koda našeg projekta. +* /t:Rebuild: Komanda za ponovno gradnju (kompilaciju) projekta. Ovo omogućava SonarScanner-u da analizira kod tokom procesa gradnje. + +![image](https://github.com/user-attachments/assets/1d5912fe-4ff4-456b-978d-64802ba14cf5) +![image](https://github.com/user-attachments/assets/c77c3a00-2e3b-456a-85fd-61ce25866d4c) + +3. Završavanje SonarScanner analize: +```bash +"SonarScanner installation path"\SonarScanner.MSBuild.exe end /d:sonar.token="sqp_2c7b5abb6f7c8d956663de34db9d67d54860274f" +``` +* SonarScanner.MSBuild.exe end: Ova komanda završava analizu i šalje sve prikupljene podatke SonarQube serveru. +* /d:sonar.token="sqp_2c7b5abb6f7c8d956663de34db9d67d54860274f": Koristi token za autentifikaciju prema SonarQube serveru, obezbeđujući da se podaci šalju ispravno. + +![image](https://github.com/user-attachments/assets/9108e8c9-758c-4728-9ab0-313552f68b21) +![image](https://github.com/user-attachments/assets/704696ef-3206-4b62-98ed-57f693400f92) + +## Analiza pokrivenosti koda (Code Coverage) +### Analiza Kvaliteta Koda Projekta +Nakon što pokrenemo navedene komande, SonarQube će automatski analizirati C# projekat i prikazati rezultate na web interfejsu. U SonarQube-u, različiti tabovi na stranici za pregled analize koda pružaju različite vrste informacija o kvalitetu i stanju vašeg koda. + +#### Overview (Pregled) +![image](https://github.com/user-attachments/assets/58ced89f-6fd2-4e67-88df-de07632d1787) +**Overview (Pregled)** sadrži Quality Gate Status koji prikazuje trenutni status quality gate-a, koji je skup uslova koje kod mora da zadovolji da bi bio prihvaćen. Ovo uključuje kriterijume kao što su maksimalan broj grešaka ili minimalno 80% pokrivenosti koda. Status quality gate-a pomaže u oceni da li je kod dovoljno kvalitetan za prelazak u sledeću fazu razvoja ili produkcije. + +Takođe prikazuje neke kategorijske metrike koda: +- **Security (Bezbednost):** Pruža informacije o sigurnosnim ranjivostima i pretnjama u kodu. +- **Reliability (Pouzdanost):** Prikazuje podatke o pouzdanosti koda, uključujući broj grešaka i njihove posledice. +- **Accepted Issues (Prihvaćeni Problemi):** Ovaj deo pokazuje broj problema koji su prihvaćeni kao deo trenutnog stanja projekta, što može uključivati i one koje su možda planirane za rešavanje u budućnosti. +- **Coverage (Pokrivenost):** Prikazuje procentualni udeo koda koji je pokriven testovima, ako je uključena pokrivenost testovima. +- **Duplications (Duplikati):** Informacije o duplim delovima koda koji se mogu optimizovati kako bi se poboljšao kvalitet i održivost. +- **Security Hotspots (Sigurnosne Tačke):** Prikazuje delove koda koji su označeni kao sigurnosne tačke i koji zahtevaju dodatnu pažnju ili reviziju. + +*Izvor: [docs.sonarsource.com](https://docs.sonarsource.com/sonarqube/latest/user-guide/quality-gates/)* + +#### Issues (Problemi) +![image](https://github.com/user-attachments/assets/218e0f88-d8a3-4f52-bc50-3078076fb9a6) +**Issues (Problemi)** u SonarQube-u predstavljaju nedostatke u kodu koji sprečavaju da kod bude označen kao "Clean Code." Svaki problem je rezultat kršenja pravila specifičnih za jezik programiranja i utiče na jednu ili više kvaliteta softvera sa različitim nivoima ozbiljnosti. +**Issues (Problemi)** u SonarQube-u predstavljaju nedostatke u kodu koji sprečavaju da kod bude označen kao "Clean Code." Svaki problem je rezultat kršenja pravila specifičnih za jezik programiranja i utiče na jednu ili više kvaliteta softvera sa različitim nivoima ozbiljnosti. + +Šta **Issues** pruža: +- **Dodeljivanje:** Novi problemi se automatski dodeljuju poslednjem autoru koda i mogu se ponovo dodeliti. +- **Kontekst:** Prikazuje gde se problem nalazi u kodu, uključujući primarne i sekundarne lokacije, kao i puteve izvršavanja. +- **Status:** Prikazuje status problema koji se može promeniti tokom njegovog životnog ciklusa (npr. prihvaćen za kasnije rešavanje, označen kao lažni pozitivan). +- **Tagovanje i Komentarisanje:** Omogućava dodavanje oznaka i komentara na probleme radi lakšeg praćenja i komunikacije. + +*Izvor: [docs.sonarsource.com](https://docs.sonarsource.com/sonarqube/latest/user-guide/issues/introduction/)* + +#### Security Hotspots (Sigurnosne Tačke) +![image](https://github.com/user-attachments/assets/107f5638-14d5-4bcb-a4e9-365f42f292bd) +**Security Hotspots (Sigurnosne Tačke)** je deo koda označen kao potencijalno osetljiv. Razvojni programer treba da pregleda ovaj kod da bi procenio da li predstavlja sigurnosni rizik i da li je potrebna neka korekcija. Za razliku od ranjivosti koje su trenutni problemi koji zahtevaju popravku, vruće tačke samo označavaju oblasti zabrinutosti. Odluka o ispravci zavisi od pregleda. + +Važnost sigurnosnih vrućih tačaka + +- **Razumevanje rizika**: Pomaže u razumevanju potencijalnih sigurnosnih rizika i njihovog uticaja. +- **Identifikacija zaštita**: Pregledanje vrućih tačaka pomaže u prepoznavanju i primeni odgovarajućih sigurnosnih mera. +- **Procena uticaja**: Pomaže u određivanju kako primeniti sigurnosne ispravke na osnovu njihovog uticaja na aplikaciju. + +Životni ciklus i statusi + +- **Za pregled**: Nove vruće tačke koje treba proveriti. +- **Potvrđeno**: Pregledano od strane programera; čekanje na rešavanje. +- **Ispravljeno**: Pregledano i rešeno primenom popravke. +- **Sigurno**: Pregledano i određeno da je sigurno bez potrebnih promena. + +Tok rada za pregled vrućih tačaka + +- **Procena rizika**: Razumeti zašto je vruća tačka označena. +- **Određivanje potrebe za ispravkom**: Odlučiti da li je potrebna ispravka na osnovu procene rizika. +- **Primena ispravki**: Implementirati preporučene sigurnosne prakse ako je potrebno. + +Prioritet pregleda + +- **Visok prioritet**: Vruće tačke povezane sa sigurnosnim pravilima velikog uticaja (npr. OWASP Top 10). +- **Srednji/Niski prioritet**: Manje kritične vruće tačke. + +Istorija pregleda + +- **Praćenje promena**: Pregled statusnih promena i komentara vezanih za vruću tačku. + +*Izvor: [docs.sonarsource.com](https://docs.sonarsource.com/sonarqube/latest/user-guide/security-hotspots/)* + +#### Measures (Metrike) +![image](https://github.com/user-attachments/assets/beb0e932-aa80-4825-b0a7-0407c139bb38) +Analizatori jezika izračunavaju različite metrike koda koje će se koristiti za procenu kvaliteta koda: + +- **Metrike koda** koriste se u pravilima za podizanje problema, na primer, kada se dostigne određeni nivo složenosti funkcije u kodu. +- **Metrike koda** koriste se u definiciji kvalitativnih vrata (quality gate). Na primer, možete postaviti uslov na ukupni broj prijavljenih problema u kodu. + +Možemo koristiti različite alate u SonarQube korisničkom interfejsu za praćenje i upoređivanje metrika koda našeg projekta ili portfolija. Takođe, možemo preuzeti vrednosti metrika putem SonarQube Web API-a u slučaju da koristite spoljne sisteme za praćenje. Za metrike koda korišćene u SonarQube rešenju po kategorijama možemo pogledati [dokumentaciju](https://docs.sonarsource.com/sonarqube/latest/user-guide/code-metrics/metrics-definition/). Detaljnije praćenje metrika koda našeg projekta možemo pogledati [dokumentaciju](https://docs.sonarsource.com/sonarqube/latest/user-guide/code-metrics/monitoring-project-metrics/). + +*Izvor: [docs.sonarsource.com](https://docs.sonarsource.com/sonarqube/latest/user-guide/code-metrics/introduction/)* + +#### Code (Kod) +![image](https://github.com/user-attachments/assets/1d2202b8-79ff-4327-b230-ef9ed72fe213) +![image](https://github.com/user-attachments/assets/97c6b799-1683-436f-865b-02e60dafdf52) +![image](https://github.com/user-attachments/assets/603c7522-53f5-421e-9798-2273a3a62164) + +Pregled koda projekta. +#### Activity (Aktivnost) +![image](https://github.com/user-attachments/assets/2edecc33-a4df-4a05-b265-1be22d46a667) +Stranica Aktivnost pruža korisnicima mogućnost da prate evoluciju mera projekta i aplikacije tokom vremena. + +Grafikoni na stranici Aktivnost pomažu korisnicima da razumeju evoluciju do tri mere po njihovom izboru u odnosu jedna na drugu. Kada pređu mišem preko grafikona, prikazuju se vrednosti mera i događaji povezani sa određenim analizama. + +Event (Događaji): + +Naredna tabela grupiše događaje koje možemo pronaći na stranici Activity (Aktivnost): + +| Event | Description | +|----------|----------| +| Definition change (Promena definicije) | Definicija aplikacije je promenjena. | +| Issue detection (Detekcija problema) | Analizator korišćen u projektu je ažuriran.| +| Profile (Profil) | Kvalitetni profil korišćen za analizu projekta je promenjen. Ili je profil izmenjen, ili je korišćen drugi profil za analizu. Takođe prikazuje detalje o ažuriranjima pravila. | +| Quality Gate (Kvalitetna kapija) | Status kvalitetne kapije je promenjen. | +| SonarQube version upgrade (Nadogradnja SonarQube verzije) | Verzija SonarQube-a je ažurirana. Pojavljuje se nakon prve analize nakon nadogradnje. | +| Version (Verzija) | Verzija projekta je promenjena. | +| Other (Drugo) | Događaj je ručno kreiran na snimku. Pogledajte Upravljanje istorijom za više informacija. | + +*Izvor: [docs.sonarsource.com](https://docs.sonarsource.com/sonarqube/latest/user-guide/activity-and-history/)* + +### Korišćenje alata za generisanje izveštaja pokrivenosti koda (Code Coverage) +Generisanje izveštaja o pokrivenosti koda (Code Coverage) uz pomoć alata je ključno za osiguranje kvaliteta koda. Ovi alati omogućavaju programerima da vide koliko je njihov kod pokriven testovima i identifikuju delove koda koji nisu testirani. U ovom projektu, pošto koristimo C#, koristićemo alat OpenCover za generisanje izveštaja o pokrivenosti koda. OpenCover pruža detaljan uvid u to koji delovi koda su pokriveni testovima, pomažući nam da povećamo pokrivenost i poboljšamo kvalitet koda. + +Za uputstvo o korišćenju OpenCover alata možemo se osloniti na [SonarQube dokumentaciju](https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/test-coverage/dotnet-test-coverage/). Takođe, za informacije o generisanju izveštaja o pokrivenosti koda koristeći različite alate za druge programske jezike, možemo pogledati [dokumentaciju](https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/test-coverage/overview/). + +Pre nego što generišemo izveštaj, moramo napraviti Unit test kako bi OpenCover mogao da odredi potrebne metrike za pokrivenost koda na osnovu tog testa. Ovo možemo uraditi koristeći XUnit kao framework za testiranje. + +Instalaciju radimo preko NuGet Solution-a. Takođe, instaliraćemo i FakeItEasy, biblioteku za kreiranje lažnih (mock) objekata u unit testovima. FakeItEasy omogućava lako kreiranje, konfiguraciju i verifikaciju ponašanja objekata koji simuliraju zavisnosti testiranog koda. + +![image](https://github.com/user-attachments/assets/a2d856cb-b297-48b0-90b2-ef51eb62ebe4) + +![image](https://github.com/user-attachments/assets/a11b4bd2-dbd0-4ffc-b49a-ff04818ca291) + +Zatim kreiramo projekat za testiranje i smeštamo test unutar odgovarajućeg direktorijuma, u našem slučaju to je "UsersController", koji se nalazi u direktorijumu "Controllers". U okviru ovog direktorijuma kreiramo test koji će proveravati funkcionalnost metode "GetUsers". + +![image](https://github.com/user-attachments/assets/7f1dee34-acc7-4d3a-9124-7cf13732a898) + +![image](https://github.com/user-attachments/assets/6cc611ab-ac0f-4d55-9f4c-0fb3cbf63611) + +Pokrećemo test kako bismo proverili da li je test uspešno prošao. + +![image](https://github.com/user-attachments/assets/c5ca54a1-2147-4300-b462-2af308586f10) + +![image](https://github.com/user-attachments/assets/859b7a80-58ff-4f52-9581-b7d46024cf07) + +Da bismo generisali izveštaj pomoću OpenCover-a, koristićemo sledeću komandu: + +```bash +& "C:\Users\Miljkovic\.nuget\packages\opencover\4.7.1221\tools\OpenCover.Console.exe" -target:"C:\Program Files\dotnet\dotnet.exe" -targetargs:"test UnitTestSonarQube\bin\Debug\net8.0\UnitTestSonarQube.dll" -output:coverage.xml -register:user +``` + +![image](https://github.com/user-attachments/assets/172d7c2e-1160-46e9-8d0f-acfcf28526a1) + +Za generisanje preglednijeg izveštaja možemo koristi [ReportGenerator](https://reportgenerator.io/) koji će konvertovati XML izveštaj u HTML format. Time ćemo dobiti vizuelno privlačniji i detaljniji prikaz pokrivenosti koda. + +```bash +C:\Users\Miljkovic\.nuget\packages\reportgenerator\5.3.8\tools\net8.0\ReportGenerator.exe -reports:"\coverage.xml" -targetdir:"" +``` +![image](https://github.com/user-attachments/assets/e9ca689b-4c66-476a-b910-4bcb98cc2e19) + +![image](https://github.com/user-attachments/assets/4929dace-c30c-42ae-9f65-77b72606549d) + + +### Importovanje izveštaja pokrivenosti koda (Code Coverage) u SonarQube + +Kada smo generisali izveštaj pomoću OpenCover alata, možemo ga importovati na SonarQube pomoću nekoliko komandi: + +```bash + +dotnet sonarscanner begin /k:"backAPI" /d:sonar.cs.opencover.reportsPaths=coverage.xml /d:sonar.host.url="http://localhost:9000" /d:sonar.token="sqp_3b46e7aa2e1f2a1aec4b4834ff995c3bb5cab869" + +dotnet build --no-incremental + +& "C:\Users\Miljkovic\.nuget\packages\opencover\4.7.1221\tools\OpenCover.Console.exe" -target:"C:\Program Files\dotnet\dotnet.exe" -targetargs:"test UnitTestSonarQube\bin\Debug\net8.0\UnitTestSonarQube.dll" -output:coverage.xml -register:user + +dotnet sonarscanner end /d:sonar.token="sqp_3b46e7aa2e1f2a1aec4b4834ff995c3bb5cab869" +``` + +Na glavnoj strani projekta dobićemo sveobuhvatnu statistiku koja prikazuje delove koda koji su pokriveni, kao i identifikovane probleme, duplikate i sigurnosne tačke koje je potrebno rešiti. + +![image](https://github.com/user-attachments/assets/3e0a0f60-2f54-4289-86ab-49131d7c9bf6) + + +## Tumačenje rezultata +Iako je pokrivenost koda važna metrika, fokusiranje na 100% pokrivenosti koda može dovesti do smanjenja koristi. Evo nekoliko smernica za interpretaciju: + +- **Visoka pokrivenost ne znači visok kvalitet:** Visoka pokrivenost koda ne garantuje visokokvalitetne testove. Treba se uveriti da testovi pokrivaju rubne slučajeve i potencijalne tačke otkazivanja. +- **Težiti smislenoj pokrivenosti:** Cilj je postići pokrivenost koja pruža poverenje u ponašanje koda, umesto da se fokusira isključivo na postizanje visokog procenta. +- **Uskladiti pokrivenost sa drugim metrikama:** Pokrivenost koda treba razmatrati zajedno sa drugim metrikama kvaliteta koje pruža SonarQube, kao što su kod mirisi, greške i sigurnosni propusti. + +*Izvor: [docs.sonarsource.com](https://www.sonarsource.com/blog/sonarqube-code-coverage/)* + +## Kako se izračunava pokrivenost koda (Code Coverage) i razumevanje različitih metrika? +Alati za pokrivanje koda (Code Coverage) će koristiti jedan ili više kriterijuma da bi utvrdili kako je vaš kod uvežbavan ili ne tokom izvršavanja vašeg testnog paketa. Uobičajeni pokazatelji koje možete da vidite da se pominju u vašim izveštajima o pokrivenosti uključuju: + +* Pokrivenost funkcije(Function Coverage): koliko je definisanih funkcija pozvano. +* Pokrivenost iskaza(Statement Coverage): koliko je iskaza u programu izvršeno. +* Pokrivenost grana(Branch Coverage): koliko je grana kontrolnih struktura (ako su izjave na primer) izvršene. +* Pokrivenost uslova(Condition Coverage): koliko je logičkih podizraza testirano na tačnu i lažnu vrednost. +* Pokrivenost linija(Line coverage): koliko je linija izvornog koda testirano. + +Ove metrike su obično predstavljene kao broj stvarno testiranih stavki, stavki pronađenih u vašem kodu i procenat pokrivenosti (testirane stavke / pronađene stavke). + +*Izvor: [www.atlassian.com](https://www.atlassian.com/continuous-delivery/software-testing/code-coverage)* + +## Primena SonarQube-a u CI/CD procesima +CI/CD označava kontinuiranu integraciju i kontinuiranu isporuku (ili implementaciju) i predstavlja ključne komponente moderne razvojne prakse, posebno u kontekstu DevOps-a i Agile metodologija. + +CI/CD je skup procedura za automatizaciju i pojednostavljenje procesa izgradnje, testiranja i implementacije softverskih aplikacija. + +CI/CD osigurava da je kod uvek u stanju spremnom za isporuku i da se nove funkcionalnosti i ispravke grešaka mogu brzo i pouzdano isporučiti u produkciju. + +CI/CD pipeline je skup automatizovanih akcija i praksi koje upravljaju načinom na koji se promene u kodu integrišu, testiraju, isporučuju i potencijalno implementiraju tokom procesa razvoja softvera. + +CI/CD pipeline je složen proces koji može biti izuzetno koristan za organizacije koje žele da redovno objavljuju nove funkcionalnosti, dok istovremeno smanjuju šanse za neuspehe pri implementaciji. + +SonarQube omogućava integraciju sa različitim CI/CD alatima: +- [Jenkins](https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/ci-integration/jenkins-integration/key-features/) +- [GitHub Actions](https://docs.sonarsource.com/sonarqube/latest/devops-platform-integration/github-integration/introduction/) +- [Bitbucket Pipelines](https://docs.sonarsource.com/sonarqube/latest/devops-platform-integration/bitbucket-integration/bitbucket-cloud-integration/) +- [Azure Pipelines](https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarqube-extension-for-azure-devops/) +- [GitLab CI/CD](https://docs.sonarsource.com/sonarqube/latest/devops-platform-integration/gitlab-integration/adding-analysis-to-gitlab-ci-cd/) + + + +Za druge CI/CD alate, može se koristiti parametar sonar.qualitygate.wait=true u konfiguracionom fajlu. Postavljanjem sonar.qualitygate.wait na true, analiza će biti konfigurisana da ponavlja upite ka SonarQube instanci dok status kvalitetnog gate-a ne bude dostupan. Ovo produžava trajanje pipeline-a i uzrokuje da korak analize ne prođe svaki put kada kvalitetni gate ne prođe, čak i ako sama analiza bude uspešna. Ovaj parametar treba koristiti samo ako je to neophodno. + +Takođe se može postaviti svojstvo sonar.qualitygate.timeout na broj sekundi koje skener treba da čeka da se izveštaj obradi. Podrazumevani period je 300 sekundi. + +*Izvor: [docs.sonarsource.com](https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/ci-integration/overview/), [docs.sonarsource.com/guide](https://www.sonarsource.com/learn/ci-cd/)* + +### GitLab CI/CD +Integracija SonarQube-a sa GitLab self-managed i GitLab SaaS pretplatama omogućava održavanje kvaliteta i bezbednosti koda u GitLab projektima. + +Ovom integracijom, korisnici mogu da: + +- Uvezu svoje GitLab repozitorijume: Uvezu GitLab projekte u SonarQube kako bi lako postavili SonarQube projekte. +- Autentifikuju se sa GitLab-om: Prijave se na SonarQube koristeći svoje GitLab akreditive. +- Analiziraju projekte pomoću GitLab CI/CD: Integriraju analizu u svoj build pipeline. Počevši od Developer Edition, SonarScanner-i koji se pokreću u GitLab CI/CD poslovima mogu automatski da detektuju grane ili pull request-ove koji se grade, tako da nije potrebno posebno proslediti te parametre skeneru. +- Izveštavaju o statusu kvalitetnog prolaza na svojim pull request-ovima: Počevši od Developer Edition, mogu videti kvalitetni prolaz i rezultate metrika koda direktno u GitLab-u, tako da znaju da li je bezbedno da spoje svoje promene. +- Izveštavaju o bezbednosnim ranjivostima u GitLab-u: Prikazuju bezbednosne probleme koje je pronašao SonarQube kao ranjivosti u GitLab interfejsu. +- Upravljaju svojim monorepom: Uvezu monorepo u SonarQube kako bi lako upravljali povezanim projektima. + +Zbog ograničenja pretplate, nećemo moći da iskoristimo sve funkcionalnosti SonarQube-a sa GitLab-om, ali ćemo vam prikazati ceo proces na lokalu kako se to radi. +Pokazaće vam ceo proces kako da se SonarQube autentifikuje sa GitLab-om, uvezu projekti, analiziraju pomoću GitLab CI/CD-a i izveštava o statusu kvalitetnog prolaza na pull request-ovima. + +| Kliknemo na dugme "Create Project" u SonarQube-u, a zatim izaberemo opciju "Import Project from DevOps Platforms". | +|:--:| +| ![image](https://github.com/user-attachments/assets/fdd4e8b3-379d-42c1-bdb1-9b3ae51da8c6) | + +| Zatim izaberemo na opciju "Import from GitLab" i kliknemo na dugme "Setup". | +|:--:| +| ![image](https://github.com/user-attachments/assets/1be5bddd-7e36-41f9-a4b8-8de98dbb8bb7) | + +| Otvora nam se popup form-a "Create a configuration", gde unosimo ime konfiguracije, GitLab API URL i Personalni token. | +|:--:| +| ![image](https://github.com/user-attachments/assets/c6365913-2058-4e92-83c3-af98b31f00ce) | + +| Zatim, na stranici "User Settings" izaberemo tab "Access Tokens" gde možemo napraviti Access Token za našu SonarQube konfiguraciju. | +| :--: | +| ![image](https://github.com/user-attachments/assets/0a4c73b5-3981-4e95-be17-51d99c4c60d0) | +| | +| ![image](https://github.com/user-attachments/assets/7c15e08a-fc43-4436-b58e-e8aa4174b26b) | +| | +| ![image](https://github.com/user-attachments/assets/cd3fe172-0342-45db-bce2-78ff19349b41) | + +| Popunimo formu sa potrebnim konfiguracijama i sačuvamo konfiguraciju. | +| :--: | +| ![image](https://github.com/user-attachments/assets/c907c4e6-699b-4063-a4b3-1fdd3da85794) | + +| Upisemo "Access token" kako bi SonarQube dobio listu svih projekata. | +| :--: | +| ![image](https://github.com/user-attachments/assets/42e77876-bcc3-49c6-8547-4cf20647d19c) | + +| Izaberemo projekat i importujemo ga. | +| :--: | +| ![image](https://github.com/user-attachments/assets/58901933-c266-4607-9800-a79fbb73ac05) | + +| Zatim izaberemo opciju "Use the global settings", koja svaku izmenu tretira kao novi kod. | +| :--: | +| ![image](https://github.com/user-attachments/assets/22f93c66-3d25-4e45-832c-4fafb5b4d047) | + +| Importovali smo projekat i sada možemo da analiziramo kod, ali pre nego što počnemo sa analizom pokazaćemo kako da autentifikujemo SonarQube sa GitLab-om. | +| :--: | +| ![image](https://github.com/user-attachments/assets/16a819e5-1e36-4b4a-a22f-cd73a48fa587) | + +| Postavimo u "General Settings" opciju "Server base URL". | +| :--: | +| ![image](https://github.com/user-attachments/assets/77bd04e5-46e6-4449-9e39-ea58cb954707) | + +| Otvorimo form-u gde unosimo konfiguraciju za autentifikaciju sa GitLab-om. | +| :--: | +| ![image](https://github.com/user-attachments/assets/800d0854-ca7b-4850-83b2-9b93f397cb0c) | +| | +| ![image](https://github.com/user-attachments/assets/2df8691a-e013-4b6d-ac78-c99a6cfb3db3) | + +| Na stranici "User Settings" izaberemo tab "Applications" tab unesemo proizvoljni naziv aplikacije i [Redirect URI](https://docs.gitlab.com/ee/integration/oauth_provider.html). | +| :--: | +| ![image](https://github.com/user-attachments/assets/f2a40937-26e7-48c2-8c7c-ea6b1e6affab) | +| | +| ![image](https://github.com/user-attachments/assets/23d8e4fc-3569-4dd8-8feb-ab7d066571f9) | + +| Uspešno smo kreirali aplikaciju i dobili informacije kao što su Application ID, Secret, Callback URL, Credential i Scopes. | +| :--: | +| ![image](https://github.com/user-attachments/assets/67549fe5-8259-4665-9e23-3143c41e17e0) | + +| Popunimo formu sa potrebnim konfiguracijama i sačuvamo konfiguraciju. Veoma je bitno da se GitLab URL promeni ako imate specifičan URL vašeg GitLab servera, koji nije isti kao "gitlab.com". | +| :--: | +| ![image](https://github.com/user-attachments/assets/3be61684-5090-4057-9e71-6971d5dc588f) | +| | +| ![image](https://github.com/user-attachments/assets/1af2b15a-96e5-4dce-8e8d-d3cf60cd3f65) | + +| Kada se izlogujemo sa SonarQube-a, možemo videti da smo dobili opciju prijavljivanja na SonarQube putem GitLab-a. | +| :--: | +| ![image](https://github.com/user-attachments/assets/3d6c30d0-fe61-4b7d-86b4-4edc6476f8f9) | + +| Sada možemo započeti proces analize. Kliknemo na opciju "With GitLab CI", gde nam se otvara uputstvo kako da analiziramo projekat sa GitLab-om. | +| :--: | +| ![image](https://github.com/user-attachments/assets/81eed5d1-43b2-4611-b383-c74ba859ebfc) | +| | +| ![image](https://github.com/user-attachments/assets/789f5d0b-20ee-4332-8de0-86726b161df9) | + +| Generišemo token projekta. | +| :--: | +| ![image](https://github.com/user-attachments/assets/ba5cb7e4-0eef-43a4-b263-6ed19dc53157) | +| | +| ![image](https://github.com/user-attachments/assets/fdf1c83e-5480-4eb4-bb76-951273c360f6) | + +| Izaberemo programski jezik koji koristi nas projekat da bi dobili odgovarajuci ".gtilab-ci.yml" konfiguracioni fajl. **Važno je napomenuti da konfiguracija za `sonarqube-vulnerability-report` može se koristiti isključivo ako je pretplata GitLab-a Ultimate. Pošto je naš GitLab Community, ovu konfiguraciju ćemo izbrisati.** | +| :--: | +| ![image](https://github.com/user-attachments/assets/dc9b0df8-ac4e-434b-9653-b85e490ba33d) | +| | +| ![image](https://github.com/user-attachments/assets/65576d54-2179-46ec-b2a5-d03ed03aa1ae) | + +| Kao Owner ili Maintainer u GitLab-u, možete pristupiti stranici Settings u svom GitLab projektu. Na ovoj stranici, u sekciji CI/CD, možete dodati varijable okruženja, poput SONAR_TOKEN i SONAR_HOST_URL, koje su potrebne za konfiguraciju SonarQube analize. | +| :--: | +| ![image](https://github.com/user-attachments/assets/d4b7427d-fe00-4e8e-9c37-8ae612afb354) | +| | +| ![image](https://github.com/user-attachments/assets/1dc2bd53-d7a4-407b-8bb4-03e7540e1c58) | +| | +| ![image](https://github.com/user-attachments/assets/5bef46cf-b723-49c5-9bd3-bfaaa5c69933) | +| | +| ![image](https://github.com/user-attachments/assets/c77ea0e2-5d54-455b-92df-0b7268cb6d61) | + +![image](https://github.com/user-attachments/assets/6d9d3768-3733-4917-a1fe-a3c73dd4466d) + +| Zatim, u tabu "CI/CD" kliknemo na "Edit", gde dodajemo pipeline konfiguraciju. | +| :--: | +| ![image](https://github.com/user-attachments/assets/3d5e586e-2e00-4d51-aaf9-71c5c465fb04) | +| | +| ![image](https://github.com/user-attachments/assets/dd3b1e49-2cfc-4fb6-bfff-f520af66681b) | + +Potrebno je izvršiti izmene u ".gitlab-ci.yml" konfiguracionom fajlu kako bi se postigla neophodna konfiguracija. + +Verzija "sdk:8.0" se koristi umesto "sdk:7.0" zbog kompatabilnosti sa projektom: +```bash +image: mcr.microsoft.com/dotnet/sdk:8.0 +``` +Koristi se za postavljanje Git kredencijala pre nego što se izvrše glavni skripti u CI/CD pipeline-u: +```bash +before_script: + - git config --global credential.helper store + - echo "https://de46ycGUQLTriKzoUzvz:@gitlab.pmf.kg.ac.rs" > ~/.git-credentials +``` +Dodavanje "/d:sonar.sources=\"syncatech/src/back/backAPI\" omogućava SonarScanner-u da zna koji direktorijum treba da analizira: +```bash +"dotnet sonarscanner begin /k:\"si2024_syncatech_5a52d6db-6164-45f2-b0f8-0663fdfd7f3f\" /d:sonar.token=\"$SONAR_TOKEN\" /d:\"sonar.host.url=$SONAR_HOST_URL\" /d:sonar.sources=\"syncatech/src/back/backAPI\" " +``` +Putanja projekta na kojem se radi "dotnet build" je: +```bash +"dotnet build src/back/backAPI/backAPI.sln" +``` + +| ".gitlab-ci.yml" konfiguracioni fajl | +| :--: | +| ![image](https://github.com/user-attachments/assets/4e22ef6e-2f3e-4e74-803e-553245aa1444) | + +| Kako bismo analizirali projekat, potreban nam je GitLab Runner. U "Settings" izaberemo tab "CI/CD" i sekciju "Runners". Dobijaćemo razne opcije za kreiranje Runner-a, ali ćemo namestiti manuelno specifičan Runner. | +| :--: | +| ![image](https://github.com/user-attachments/assets/679a11e2-60e8-4e66-b61b-ab11a5a8b66c) | + +| Kliknemo na "Show Runner installation instructions". Otvoriće se popup sa uputstvom kako da instaliramo Runner lokalno. | +| :--: | +| ![image](https://github.com/user-attachments/assets/52ef5386-bcd3-4385-98e4-b6145c4b5df7) | + +Zbog starije verzije našeg GitLab-a, ne možemo koristiti najnoviji GitLab Runner, jer je deprecated (ne podržava starije verzije GitLab-a). Zato ćemo instalirati verziju 15.5 umesto verzije 15.6. Preuzimanje odgovarajuće verzije Runner-a možemo obaviti preko sledećeg linka [gitlab-runner-downloads.s3.amazonaws.com](https://gitlab-runner-downloads.s3.amazonaws.com/v15.5.0/index.html) ili komandom: +```bash +Invoke-WebRequest -Uri "https://gitlab-runner-downloads.s3.amazonaws.com/v15.5.0/binaries/gitlab-runner-windows-amd64.exe" -OutFile "gitlab-runner.exe" +``` + +| Potrebno je da se napravi folder C:/GitLab-Runner i sačuva preuzeta verzija GitLab Runner-a u tom folderu, ili da se otvori PowerShell kao administrator, pređe u taj folder i pokrene komanda za instalaciju ako je potrebno. | +| :--: | +| ![image](https://github.com/user-attachments/assets/5a6ebc8e-99e1-42b4-8535-d53b4f7cf7db) | +| | +| ![image](https://github.com/user-attachments/assets/e979634e-898a-4c4a-a8df-0efb6cb78fda) | + +| Na osnovu uputstva koje smo dobili, registrujemo GitLab Runner Job, pri čemu umesto `http` koristimo `https` za naš GitLab URL. | +| :--: | +| ![image](https://github.com/user-attachments/assets/e24fb16a-c017-4682-a646-3152905dee8b) | + +| Možemo videti da je kreiran "config.toml" fajl, koji predstavlja konfiguraciju sa lokalnim Docker-om. Potrebno je dodati u toj konfiguraciji `clone_url = "https://gitlab.pmf.kg.ac.rs/"`, kako bismo uspostavili konekciju sa repozitorijumom na GitLab-u. | +| :--: | +| ![image](https://github.com/user-attachments/assets/197c63cc-68b3-4b5f-91ba-97a0de4ce105) | +| | +| ![image](https://github.com/user-attachments/assets/63073a53-8c3b-4be0-8cf3-f09dc382ea01) | + +| Kada pokrenemo Runner, potrebno je da čekiramo opciju "Run untagged jobs" kako bi Runner mogao da preuzme poslove bez tag-a. Takođe, treba da ugasimo "Shared Runners", jer bi inače naš Runner ne bi mogao da se koristi, s obzirom na to da "Shared Runners" imaju veće privilegije. | +| :--: | +| ![image](https://github.com/user-attachments/assets/9754f297-7c0f-440c-a87a-08f38741f439) | +| | +| ![image](https://github.com/user-attachments/assets/8efcb86c-15f3-43b0-88fc-2fe36c7470c0) | +| | +| ![image](https://github.com/user-attachments/assets/f95145eb-567d-4b6f-8680-eceb5818f9f6) | + +| Veoma bitna stvar kada se radi na lokalu je da koristimo IP adresu `http://192.168.1.12:9000` naše SonarQube Docker mašine kako bi Runner mogao da komunicira sa SonarQube-om. | +| :--: | +| ![image](https://github.com/user-attachments/assets/dddb38ca-9529-4222-99c1-2200d17f3239) | + + +| Sada pokrećemo pipeline kako bi proverili da li sve radi. | +| :--: | +| ![image](https://github.com/user-attachments/assets/81f3a748-a243-4343-9d11-f9816838e5bc) | +| | +| ![image](https://github.com/user-attachments/assets/d98d1275-976b-4559-bc39-236ecd664809) | + +| Job sonarqube-check je uspešan. | +| :--: | +| ![image](https://github.com/user-attachments/assets/e63ac4f3-4ba5-49c0-a90a-5360779c4d94) | + + +---------------------------------------------------------- + +
+ Click to expand log output: + + Primer uspešnog ".log" fajla: + ```log + + Running with gitlab-runner 15.5.0 (0d4137b8) + on SonarQubeAnalysis S8VpSeXM + Preparing the "docker" executor 00:02 + Using Docker executor with image mcr.microsoft.com/dotnet/sdk:8.0 ... + Pulling docker image mcr.microsoft.com/dotnet/sdk:8.0 ... + Using docker image sha256:46734cde5d40345af78463e9ec951699111bcf567a6de691bc13eeb8888b2da2 for mcr.microsoft.com/dotnet/sdk:8.0 with digest mcr.microsoft.com/dotnet/sdk@sha256:8c6beed050a602970c3d275756ed3c19065e42ce6ca0809f5a6fcbf5d36fd305 ... + Preparing environment 00:00 + Running on runner-s8vpsexm-project-220-concurrent-0 via DESKTOP-EHUO157... + Getting source from Git repository 00:02 + Fetching changes... + Reinitialized existing Git repository in /builds/si2024/syncatech/.git/ + Checking out eeef7c3f as master... + Removing .sonar/ + Removing .sonarqube/ + Removing src/back/backAPI/backAPI/bin/ + Removing src/back/backAPI/backAPI/obj/ + Skipping Git submodules setup + Restoring cache 00:01 + Checking cache for eeef7c3f-1... + No URL provided, cache will not be downloaded from shared cache server. Instead a local version of cache will be extracted. + Successfully extracted cache + Executing "step_script" stage of the job script 01:45 + Using docker image sha256:46734cde5d40345af78463e9ec951699111bcf567a6de691bc13eeb8888b2da2 for mcr.microsoft.com/dotnet/sdk:8.0 with digest mcr.microsoft.com/dotnet/sdk@sha256:8c6beed050a602970c3d275756ed3c19065e42ce6ca0809f5a6fcbf5d36fd305 ... + $ git config --global credential.helper store + $ echo "https://de46ycGUQLTriKzoUzvz:@gitlab.pmf.kg.ac.rs" > ~/.git-credentials + $ apt-get update + Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB] + Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] + Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] + Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8788 kB] + Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [13.8 kB] + Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [176 kB] + Fetched 9232 kB in 2s (4444 kB/s) + Reading package lists... + $ apt-get install --yes --no-install-recommends openjdk-17-jre + Reading package lists... + Building dependency tree... + Reading state information... + The following additional packages will be installed: + adwaita-icon-theme at-spi2-common ca-certificates-java fontconfig + fontconfig-config fonts-dejavu-core gtk-update-icon-cache hicolor-icon-theme + java-common libasound2 libasound2-data libatk1.0-0 libavahi-client3 + libavahi-common-data libavahi-common3 libbsd0 libcairo2 libcups2 libdatrie1 + libdbus-1-3 libdeflate0 libdrm-amdgpu1 libdrm-common libdrm-intel1 + libdrm-nouveau2 libdrm-radeon1 libdrm2 libedit2 libelf1 libfontconfig1 + libfreetype6 libfribidi0 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 + libgl1 libgl1-mesa-dri libglapi-mesa libglib2.0-0 libglvnd0 libglx-mesa0 + libglx0 libgraphite2-3 libgtk2.0-0 libgtk2.0-common libharfbuzz0b libjbig0 + libjpeg62-turbo liblcms2-2 liblerc4 libllvm15 libnspr4 libnss3 + libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpciaccess0 + libpcsclite1 libpixman-1-0 libpng16-16 libsensors-config libsensors5 + libsqlite3-0 libthai-data libthai0 libtiff6 libwebp7 libx11-6 libx11-data + libx11-xcb1 libxau6 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 + libxcb-randr0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1 + libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 + libxinerama1 libxml2 libxrandr2 libxrender1 libxshmfence1 libxtst6 + libxxf86vm1 libz3-4 openjdk-17-jre-headless shared-mime-info x11-common + Suggested packages: + default-jre libasound2-plugins alsa-utils cups-common low-memory-monitor + gvfs liblcms2-utils pciutils pcscd lm-sensors libnss-mdns fonts-dejavu-extra + fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei + | fonts-wqy-zenhei fonts-indic + Recommended packages: + librsvg2-common alsa-ucm-conf alsa-topology-conf dbus libgdk-pixbuf2.0-bin + libglib2.0-data xdg-user-dirs libgail-common libgtk2.0-bin + libatk-wrapper-java-jni fonts-dejavu-extra + The following NEW packages will be installed: + adwaita-icon-theme at-spi2-common ca-certificates-java fontconfig + fontconfig-config fonts-dejavu-core gtk-update-icon-cache hicolor-icon-theme + java-common libasound2 libasound2-data libatk1.0-0 libavahi-client3 + libavahi-common-data libavahi-common3 libbsd0 libcairo2 libcups2 libdatrie1 + libdbus-1-3 libdeflate0 libdrm-amdgpu1 libdrm-common libdrm-intel1 + libdrm-nouveau2 libdrm-radeon1 libdrm2 libedit2 libelf1 libfontconfig1 + libfreetype6 libfribidi0 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 + libgl1 libgl1-mesa-dri libglapi-mesa libglib2.0-0 libglvnd0 libglx-mesa0 + libglx0 libgraphite2-3 libgtk2.0-0 libgtk2.0-common libharfbuzz0b libjbig0 + libjpeg62-turbo liblcms2-2 liblerc4 libllvm15 libnspr4 libnss3 + libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpciaccess0 + libpcsclite1 libpixman-1-0 libpng16-16 libsensors-config libsensors5 + libsqlite3-0 libthai-data libthai0 libtiff6 libwebp7 libx11-6 libx11-data + libx11-xcb1 libxau6 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 + libxcb-randr0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1 + libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 + libxinerama1 libxml2 libxrandr2 libxrender1 libxshmfence1 libxtst6 + libxxf86vm1 libz3-4 openjdk-17-jre openjdk-17-jre-headless shared-mime-info + x11-common + 0 upgraded, 100 newly installed, 0 to remove and 0 not upgraded. + Need to get 110 MB of archives. + After this operation, 461 MB of additional disk space will be used. + Get:1 http://deb.debian.org/debian bookworm/main amd64 hicolor-icon-theme all 0.17-2 [11.4 kB] + Get:2 http://deb.debian.org/debian bookworm/main amd64 libgdk-pixbuf2.0-common all 2.42.10+dfsg-1+deb12u1 [306 kB] + Get:3 http://deb.debian.org/debian bookworm/main amd64 libglib2.0-0 amd64 2.74.6-2+deb12u3 [1400 kB] + Get:4 http://deb.debian.org/debian bookworm/main amd64 libxml2 amd64 2.9.14+dfsg-1.3~deb12u1 [687 kB] + Get:5 http://deb.debian.org/debian bookworm/main amd64 shared-mime-info amd64 2.2-1 [729 kB] + Get:6 http://deb.debian.org/debian bookworm/main amd64 libjpeg62-turbo amd64 1:2.1.5-2 [166 kB] + Get:7 http://deb.debian.org/debian bookworm/main amd64 libpng16-16 amd64 1.6.39-2 [276 kB] + Get:8 http://deb.debian.org/debian bookworm/main amd64 libdeflate0 amd64 1.14-1 [61.4 kB] + Get:9 http://deb.debian.org/debian bookworm/main amd64 libjbig0 amd64 2.1-6.1 [31.7 kB] + Get:10 http://deb.debian.org/debian bookworm/main amd64 liblerc4 amd64 4.0.0+ds-2 [170 kB] + Get:11 http://deb.debian.org/debian bookworm/main amd64 libwebp7 amd64 1.2.4-0.2+deb12u1 [286 kB] + Get:12 http://deb.debian.org/debian bookworm/main amd64 libtiff6 amd64 4.5.0-6+deb12u1 [316 kB] + Get:13 http://deb.debian.org/debian bookworm/main amd64 libgdk-pixbuf-2.0-0 amd64 2.42.10+dfsg-1+deb12u1 [139 kB] + Get:14 http://deb.debian.org/debian bookworm/main amd64 gtk-update-icon-cache amd64 3.24.38-2~deb12u1 [44.0 kB] + Get:15 http://deb.debian.org/debian bookworm/main amd64 adwaita-icon-theme all 43-1 [5124 kB] + Get:16 http://deb.debian.org/debian bookworm/main amd64 at-spi2-common all 2.46.0-5 [162 kB] + Get:17 http://deb.debian.org/debian bookworm/main amd64 ca-certificates-java all 20230710~deb12u1 [11.9 kB] + Get:18 http://deb.debian.org/debian bookworm/main amd64 libfreetype6 amd64 2.12.1+dfsg-5+deb12u3 [398 kB] + Get:19 http://deb.debian.org/debian bookworm/main amd64 fonts-dejavu-core all 2.37-6 [1068 kB] + Get:20 http://deb.debian.org/debian bookworm/main amd64 fontconfig-config amd64 2.14.1-4 [315 kB] + Get:21 http://deb.debian.org/debian bookworm/main amd64 libfontconfig1 amd64 2.14.1-4 [386 kB] + Get:22 http://deb.debian.org/debian bookworm/main amd64 fontconfig amd64 2.14.1-4 [449 kB] + Get:23 http://deb.debian.org/debian bookworm/main amd64 java-common all 0.74 [6388 B] + Get:24 http://deb.debian.org/debian bookworm/main amd64 libasound2-data all 1.2.8-1 [20.5 kB] + Get:25 http://deb.debian.org/debian bookworm/main amd64 libasound2 amd64 1.2.8-1+b1 [362 kB] + Get:26 http://deb.debian.org/debian bookworm/main amd64 libatk1.0-0 amd64 2.46.0-5 [49.6 kB] + Get:27 http://deb.debian.org/debian bookworm/main amd64 libavahi-common-data amd64 0.8-10 [107 kB] + Get:28 http://deb.debian.org/debian bookworm/main amd64 libavahi-common3 amd64 0.8-10 [41.6 kB] + Get:29 http://deb.debian.org/debian bookworm/main amd64 libdbus-1-3 amd64 1.14.10-1~deb12u1 [201 kB] + Get:30 http://deb.debian.org/debian bookworm/main amd64 libavahi-client3 amd64 0.8-10 [45.5 kB] + Get:31 http://deb.debian.org/debian bookworm/main amd64 libbsd0 amd64 0.11.7-2 [117 kB] + Get:32 http://deb.debian.org/debian bookworm/main amd64 libpixman-1-0 amd64 0.42.2-1 [546 kB] + Get:33 http://deb.debian.org/debian bookworm/main amd64 libxau6 amd64 1:1.0.9-1 [19.7 kB] + Get:34 http://deb.debian.org/debian bookworm/main amd64 libxdmcp6 amd64 1:1.1.2-3 [26.3 kB] + Get:35 http://deb.debian.org/debian bookworm/main amd64 libxcb1 amd64 1.15-1 [144 kB] + Get:36 http://deb.debian.org/debian bookworm/main amd64 libx11-data all 2:1.8.4-2+deb12u2 [292 kB] + Get:37 http://deb.debian.org/debian bookworm/main amd64 libx11-6 amd64 2:1.8.4-2+deb12u2 [760 kB] + Get:38 http://deb.debian.org/debian bookworm/main amd64 libxcb-render0 amd64 1.15-1 [115 kB] + Get:39 http://deb.debian.org/debian bookworm/main amd64 libxcb-shm0 amd64 1.15-1 [105 kB] + Get:40 http://deb.debian.org/debian bookworm/main amd64 libxext6 amd64 2:1.3.4-1+b1 [52.9 kB] + Get:41 http://deb.debian.org/debian bookworm/main amd64 libxrender1 amd64 1:0.9.10-1.1 [33.2 kB] + Get:42 http://deb.debian.org/debian bookworm/main amd64 libcairo2 amd64 1.16.0-7 [575 kB] + Get:43 http://deb.debian.org/debian bookworm/main amd64 libcups2 amd64 2.4.2-3+deb12u5 [245 kB] + Get:44 http://deb.debian.org/debian bookworm/main amd64 libdatrie1 amd64 0.2.13-2+b1 [43.3 kB] + Get:45 http://deb.debian.org/debian bookworm/main amd64 libdrm-common all 2.4.114-1 [7112 B] + Get:46 http://deb.debian.org/debian bookworm/main amd64 libdrm2 amd64 2.4.114-1+b1 [37.5 kB] + Get:47 http://deb.debian.org/debian bookworm/main amd64 libdrm-amdgpu1 amd64 2.4.114-1+b1 [20.9 kB] + Get:48 http://deb.debian.org/debian bookworm/main amd64 libpciaccess0 amd64 0.17-2 [51.4 kB] + Get:49 http://deb.debian.org/debian bookworm/main amd64 libdrm-intel1 amd64 2.4.114-1+b1 [64.0 kB] + Get:50 http://deb.debian.org/debian bookworm/main amd64 libdrm-nouveau2 amd64 2.4.114-1+b1 [19.1 kB] + Get:51 http://deb.debian.org/debian bookworm/main amd64 libdrm-radeon1 amd64 2.4.114-1+b1 [21.8 kB] + Get:52 http://deb.debian.org/debian bookworm/main amd64 libedit2 amd64 3.1-20221030-2 [93.0 kB] + Get:53 http://deb.debian.org/debian bookworm/main amd64 libelf1 amd64 0.188-2.1 [174 kB] + Get:54 http://deb.debian.org/debian bookworm/main amd64 libfribidi0 amd64 1.0.8-2.1 [65.0 kB] + Get:55 http://deb.debian.org/debian bookworm/main amd64 libgif7 amd64 5.2.1-2.5 [46.9 kB] + Get:56 http://deb.debian.org/debian bookworm/main amd64 libglvnd0 amd64 1.6.0-1 [51.8 kB] + Get:57 http://deb.debian.org/debian bookworm/main amd64 libglapi-mesa amd64 22.3.6-1+deb12u1 [35.7 kB] + Get:58 http://deb.debian.org/debian bookworm/main amd64 libx11-xcb1 amd64 2:1.8.4-2+deb12u2 [192 kB] + Get:59 http://deb.debian.org/debian bookworm/main amd64 libxcb-dri2-0 amd64 1.15-1 [107 kB] + Get:60 http://deb.debian.org/debian bookworm/main amd64 libxcb-dri3-0 amd64 1.15-1 [107 kB] + Get:61 http://deb.debian.org/debian bookworm/main amd64 libxcb-glx0 amd64 1.15-1 [122 kB] + Get:62 http://deb.debian.org/debian bookworm/main amd64 libxcb-present0 amd64 1.15-1 [105 kB] + Get:63 http://deb.debian.org/debian bookworm/main amd64 libxcb-randr0 amd64 1.15-1 [117 kB] + Get:64 http://deb.debian.org/debian bookworm/main amd64 libxcb-sync1 amd64 1.15-1 [109 kB] + Get:65 http://deb.debian.org/debian bookworm/main amd64 libxcb-xfixes0 amd64 1.15-1 [109 kB] + Get:66 http://deb.debian.org/debian bookworm/main amd64 libxfixes3 amd64 1:6.0.0-2 [22.7 kB] + Get:67 http://deb.debian.org/debian bookworm/main amd64 libxshmfence1 amd64 1.3-1 [8820 B] + Get:68 http://deb.debian.org/debian bookworm/main amd64 libxxf86vm1 amd64 1:1.1.4-1+b2 [20.8 kB] + Get:69 http://deb.debian.org/debian bookworm/main amd64 libz3-4 amd64 4.8.12-3.1 [7216 kB] + Get:70 http://deb.debian.org/debian bookworm/main amd64 libllvm15 amd64 1:15.0.6-4+b1 [23.1 MB] + Get:71 http://deb.debian.org/debian bookworm/main amd64 libsensors-config all 1:3.6.0-7.1 [14.3 kB] + Get:72 http://deb.debian.org/debian bookworm/main amd64 libsensors5 amd64 1:3.6.0-7.1 [34.2 kB] + Get:73 http://deb.debian.org/debian bookworm/main amd64 libgl1-mesa-dri amd64 22.3.6-1+deb12u1 [7239 kB] + Get:74 http://deb.debian.org/debian bookworm/main amd64 libglx-mesa0 amd64 22.3.6-1+deb12u1 [147 kB] + Get:75 http://deb.debian.org/debian bookworm/main amd64 libglx0 amd64 1.6.0-1 [34.4 kB] + Get:76 http://deb.debian.org/debian bookworm/main amd64 libgl1 amd64 1.6.0-1 [88.4 kB] + Get:77 http://deb.debian.org/debian bookworm/main amd64 libgraphite2-3 amd64 1.3.14-1 [81.2 kB] + Get:78 http://deb.debian.org/debian bookworm/main amd64 libgtk2.0-common all 2.24.33-2 [2700 kB] + Get:79 http://deb.debian.org/debian bookworm/main amd64 libharfbuzz0b amd64 6.0.0+dfsg-3 [1945 kB] + Get:80 http://deb.debian.org/debian bookworm/main amd64 libthai-data all 0.1.29-1 [176 kB] + Get:81 http://deb.debian.org/debian bookworm/main amd64 libthai0 amd64 0.1.29-1 [57.5 kB] + Get:82 http://deb.debian.org/debian bookworm/main amd64 libpango-1.0-0 amd64 1.50.12+ds-1 [212 kB] + Get:83 http://deb.debian.org/debian bookworm/main amd64 libpangoft2-1.0-0 amd64 1.50.12+ds-1 [47.4 kB] + Get:84 http://deb.debian.org/debian bookworm/main amd64 libpangocairo-1.0-0 amd64 1.50.12+ds-1 [34.2 kB] + Get:85 http://deb.debian.org/debian bookworm/main amd64 libxcomposite1 amd64 1:0.4.5-1 [16.6 kB] + Get:86 http://deb.debian.org/debian bookworm/main amd64 libxcursor1 amd64 1:1.2.1-1 [40.9 kB] + Get:87 http://deb.debian.org/debian bookworm/main amd64 libxdamage1 amd64 1:1.1.6-1 [15.1 kB] + Get:88 http://deb.debian.org/debian bookworm/main amd64 libxi6 amd64 2:1.8-1+b1 [84.2 kB] + Get:89 http://deb.debian.org/debian bookworm/main amd64 libxinerama1 amd64 2:1.1.4-3 [17.8 kB] + Get:90 http://deb.debian.org/debian bookworm/main amd64 libxrandr2 amd64 2:1.5.2-2+b1 [39.2 kB] + Get:91 http://deb.debian.org/debian bookworm/main amd64 libgtk2.0-0 amd64 2.24.33-2 [1855 kB] + Get:92 http://deb.debian.org/debian bookworm/main amd64 liblcms2-2 amd64 2.14-2 [154 kB] + Get:93 http://deb.debian.org/debian bookworm/main amd64 libnspr4 amd64 2:4.35-1 [113 kB] + Get:94 http://deb.debian.org/debian bookworm/main amd64 libsqlite3-0 amd64 3.40.1-2 [837 kB] + Get:95 http://deb.debian.org/debian bookworm/main amd64 libnss3 amd64 2:3.87.1-1 [1331 kB] + Get:96 http://deb.debian.org/debian bookworm/main amd64 libpcsclite1 amd64 1.9.9-2 [49.7 kB] + Get:97 http://deb.debian.org/debian bookworm/main amd64 x11-common all 1:7.7+23 [252 kB] + Get:98 http://deb.debian.org/debian bookworm/main amd64 libxtst6 amd64 2:1.2.3-1.1 [28.0 kB] + Get:99 http://deb.debian.org/debian-security bookworm-security/main amd64 openjdk-17-jre-headless amd64 17.0.12+7-2~deb12u1 [43.7 MB] + Get:100 http://deb.debian.org/debian-security bookworm-security/main amd64 openjdk-17-jre amd64 17.0.12+7-2~deb12u1 [184 kB] + debconf: delaying package configuration, since apt-utils is not installed + Fetched 110 MB in 4s (25.4 MB/s) + Selecting previously unselected package hicolor-icon-theme. + (Reading database ... 9927 files and directories currently installed.) + Preparing to unpack .../00-hicolor-icon-theme_0.17-2_all.deb ... + Unpacking hicolor-icon-theme (0.17-2) ... + Selecting previously unselected package libgdk-pixbuf2.0-common. + Preparing to unpack .../01-libgdk-pixbuf2.0-common_2.42.10+dfsg-1+deb12u1_all.deb ... + Unpacking libgdk-pixbuf2.0-common (2.42.10+dfsg-1+deb12u1) ... + Selecting previously unselected package libglib2.0-0:amd64. + Preparing to unpack .../02-libglib2.0-0_2.74.6-2+deb12u3_amd64.deb ... + Unpacking libglib2.0-0:amd64 (2.74.6-2+deb12u3) ... + Selecting previously unselected package libxml2:amd64. + Preparing to unpack .../03-libxml2_2.9.14+dfsg-1.3~deb12u1_amd64.deb ... + Unpacking libxml2:amd64 (2.9.14+dfsg-1.3~deb12u1) ... + Selecting previously unselected package shared-mime-info. + Preparing to unpack .../04-shared-mime-info_2.2-1_amd64.deb ... + Unpacking shared-mime-info (2.2-1) ... + Selecting previously unselected package libjpeg62-turbo:amd64. + Preparing to unpack .../05-libjpeg62-turbo_1%3a2.1.5-2_amd64.deb ... + Unpacking libjpeg62-turbo:amd64 (1:2.1.5-2) ... + Selecting previously unselected package libpng16-16:amd64. + Preparing to unpack .../06-libpng16-16_1.6.39-2_amd64.deb ... + Unpacking libpng16-16:amd64 (1.6.39-2) ... + Selecting previously unselected package libdeflate0:amd64. + Preparing to unpack .../07-libdeflate0_1.14-1_amd64.deb ... + Unpacking libdeflate0:amd64 (1.14-1) ... + Selecting previously unselected package libjbig0:amd64. + Preparing to unpack .../08-libjbig0_2.1-6.1_amd64.deb ... + Unpacking libjbig0:amd64 (2.1-6.1) ... + Selecting previously unselected package liblerc4:amd64. + Preparing to unpack .../09-liblerc4_4.0.0+ds-2_amd64.deb ... + Unpacking liblerc4:amd64 (4.0.0+ds-2) ... + Selecting previously unselected package libwebp7:amd64. + Preparing to unpack .../10-libwebp7_1.2.4-0.2+deb12u1_amd64.deb ... + Unpacking libwebp7:amd64 (1.2.4-0.2+deb12u1) ... + Selecting previously unselected package libtiff6:amd64. + Preparing to unpack .../11-libtiff6_4.5.0-6+deb12u1_amd64.deb ... + Unpacking libtiff6:amd64 (4.5.0-6+deb12u1) ... + Selecting previously unselected package libgdk-pixbuf-2.0-0:amd64. + Preparing to unpack .../12-libgdk-pixbuf-2.0-0_2.42.10+dfsg-1+deb12u1_amd64.deb ... + Unpacking libgdk-pixbuf-2.0-0:amd64 (2.42.10+dfsg-1+deb12u1) ... + Selecting previously unselected package gtk-update-icon-cache. + Preparing to unpack .../13-gtk-update-icon-cache_3.24.38-2~deb12u1_amd64.deb ... + Unpacking gtk-update-icon-cache (3.24.38-2~deb12u1) ... + Selecting previously unselected package adwaita-icon-theme. + Preparing to unpack .../14-adwaita-icon-theme_43-1_all.deb ... + Unpacking adwaita-icon-theme (43-1) ... + Selecting previously unselected package at-spi2-common. + Preparing to unpack .../15-at-spi2-common_2.46.0-5_all.deb ... + Unpacking at-spi2-common (2.46.0-5) ... + Selecting previously unselected package ca-certificates-java. + Preparing to unpack .../16-ca-certificates-java_20230710~deb12u1_all.deb ... + Unpacking ca-certificates-java (20230710~deb12u1) ... + Selecting previously unselected package libfreetype6:amd64. + Preparing to unpack .../17-libfreetype6_2.12.1+dfsg-5+deb12u3_amd64.deb ... + Unpacking libfreetype6:amd64 (2.12.1+dfsg-5+deb12u3) ... + Selecting previously unselected package fonts-dejavu-core. + Preparing to unpack .../18-fonts-dejavu-core_2.37-6_all.deb ... + Unpacking fonts-dejavu-core (2.37-6) ... + Selecting previously unselected package fontconfig-config. + Preparing to unpack .../19-fontconfig-config_2.14.1-4_amd64.deb ... + Unpacking fontconfig-config (2.14.1-4) ... + Selecting previously unselected package libfontconfig1:amd64. + Preparing to unpack .../20-libfontconfig1_2.14.1-4_amd64.deb ... + Unpacking libfontconfig1:amd64 (2.14.1-4) ... + Selecting previously unselected package fontconfig. + Preparing to unpack .../21-fontconfig_2.14.1-4_amd64.deb ... + Unpacking fontconfig (2.14.1-4) ... + Selecting previously unselected package java-common. + Preparing to unpack .../22-java-common_0.74_all.deb ... + Unpacking java-common (0.74) ... + Selecting previously unselected package libasound2-data. + Preparing to unpack .../23-libasound2-data_1.2.8-1_all.deb ... + Unpacking libasound2-data (1.2.8-1) ... + Selecting previously unselected package libasound2:amd64. + Preparing to unpack .../24-libasound2_1.2.8-1+b1_amd64.deb ... + Unpacking libasound2:amd64 (1.2.8-1+b1) ... + Selecting previously unselected package libatk1.0-0:amd64. + Preparing to unpack .../25-libatk1.0-0_2.46.0-5_amd64.deb ... + Unpacking libatk1.0-0:amd64 (2.46.0-5) ... + Selecting previously unselected package libavahi-common-data:amd64. + Preparing to unpack .../26-libavahi-common-data_0.8-10_amd64.deb ... + Unpacking libavahi-common-data:amd64 (0.8-10) ... + Selecting previously unselected package libavahi-common3:amd64. + Preparing to unpack .../27-libavahi-common3_0.8-10_amd64.deb ... + Unpacking libavahi-common3:amd64 (0.8-10) ... + Selecting previously unselected package libdbus-1-3:amd64. + Preparing to unpack .../28-libdbus-1-3_1.14.10-1~deb12u1_amd64.deb ... + Unpacking libdbus-1-3:amd64 (1.14.10-1~deb12u1) ... + Selecting previously unselected package libavahi-client3:amd64. + Preparing to unpack .../29-libavahi-client3_0.8-10_amd64.deb ... + Unpacking libavahi-client3:amd64 (0.8-10) ... + Selecting previously unselected package libbsd0:amd64. + Preparing to unpack .../30-libbsd0_0.11.7-2_amd64.deb ... + Unpacking libbsd0:amd64 (0.11.7-2) ... + Selecting previously unselected package libpixman-1-0:amd64. + Preparing to unpack .../31-libpixman-1-0_0.42.2-1_amd64.deb ... + Unpacking libpixman-1-0:amd64 (0.42.2-1) ... + Selecting previously unselected package libxau6:amd64. + Preparing to unpack .../32-libxau6_1%3a1.0.9-1_amd64.deb ... + Unpacking libxau6:amd64 (1:1.0.9-1) ... + Selecting previously unselected package libxdmcp6:amd64. + Preparing to unpack .../33-libxdmcp6_1%3a1.1.2-3_amd64.deb ... + Unpacking libxdmcp6:amd64 (1:1.1.2-3) ... + Selecting previously unselected package libxcb1:amd64. + Preparing to unpack .../34-libxcb1_1.15-1_amd64.deb ... + Unpacking libxcb1:amd64 (1.15-1) ... + Selecting previously unselected package libx11-data. + Preparing to unpack .../35-libx11-data_2%3a1.8.4-2+deb12u2_all.deb ... + Unpacking libx11-data (2:1.8.4-2+deb12u2) ... + Selecting previously unselected package libx11-6:amd64. + Preparing to unpack .../36-libx11-6_2%3a1.8.4-2+deb12u2_amd64.deb ... + Unpacking libx11-6:amd64 (2:1.8.4-2+deb12u2) ... + Selecting previously unselected package libxcb-render0:amd64. + Preparing to unpack .../37-libxcb-render0_1.15-1_amd64.deb ... + Unpacking libxcb-render0:amd64 (1.15-1) ... + Selecting previously unselected package libxcb-shm0:amd64. + Preparing to unpack .../38-libxcb-shm0_1.15-1_amd64.deb ... + Unpacking libxcb-shm0:amd64 (1.15-1) ... + Selecting previously unselected package libxext6:amd64. + Preparing to unpack .../39-libxext6_2%3a1.3.4-1+b1_amd64.deb ... + Unpacking libxext6:amd64 (2:1.3.4-1+b1) ... + Selecting previously unselected package libxrender1:amd64. + Preparing to unpack .../40-libxrender1_1%3a0.9.10-1.1_amd64.deb ... + Unpacking libxrender1:amd64 (1:0.9.10-1.1) ... + Selecting previously unselected package libcairo2:amd64. + Preparing to unpack .../41-libcairo2_1.16.0-7_amd64.deb ... + Unpacking libcairo2:amd64 (1.16.0-7) ... + Selecting previously unselected package libcups2:amd64. + Preparing to unpack .../42-libcups2_2.4.2-3+deb12u5_amd64.deb ... + Unpacking libcups2:amd64 (2.4.2-3+deb12u5) ... + Selecting previously unselected package libdatrie1:amd64. + Preparing to unpack .../43-libdatrie1_0.2.13-2+b1_amd64.deb ... + Unpacking libdatrie1:amd64 (0.2.13-2+b1) ... + Selecting previously unselected package libdrm-common. + Preparing to unpack .../44-libdrm-common_2.4.114-1_all.deb ... + Unpacking libdrm-common (2.4.114-1) ... + Selecting previously unselected package libdrm2:amd64. + Preparing to unpack .../45-libdrm2_2.4.114-1+b1_amd64.deb ... + Unpacking libdrm2:amd64 (2.4.114-1+b1) ... + Selecting previously unselected package libdrm-amdgpu1:amd64. + Preparing to unpack .../46-libdrm-amdgpu1_2.4.114-1+b1_amd64.deb ... + Unpacking libdrm-amdgpu1:amd64 (2.4.114-1+b1) ... + Selecting previously unselected package libpciaccess0:amd64. + Preparing to unpack .../47-libpciaccess0_0.17-2_amd64.deb ... + Unpacking libpciaccess0:amd64 (0.17-2) ... + Selecting previously unselected package libdrm-intel1:amd64. + Preparing to unpack .../48-libdrm-intel1_2.4.114-1+b1_amd64.deb ... + Unpacking libdrm-intel1:amd64 (2.4.114-1+b1) ... + Selecting previously unselected package libdrm-nouveau2:amd64. + Preparing to unpack .../49-libdrm-nouveau2_2.4.114-1+b1_amd64.deb ... + Unpacking libdrm-nouveau2:amd64 (2.4.114-1+b1) ... + Selecting previously unselected package libdrm-radeon1:amd64. + Preparing to unpack .../50-libdrm-radeon1_2.4.114-1+b1_amd64.deb ... + Unpacking libdrm-radeon1:amd64 (2.4.114-1+b1) ... + Selecting previously unselected package libedit2:amd64. + Preparing to unpack .../51-libedit2_3.1-20221030-2_amd64.deb ... + Unpacking libedit2:amd64 (3.1-20221030-2) ... + Selecting previously unselected package libelf1:amd64. + Preparing to unpack .../52-libelf1_0.188-2.1_amd64.deb ... + Unpacking libelf1:amd64 (0.188-2.1) ... + Selecting previously unselected package libfribidi0:amd64. + Preparing to unpack .../53-libfribidi0_1.0.8-2.1_amd64.deb ... + Unpacking libfribidi0:amd64 (1.0.8-2.1) ... + Selecting previously unselected package libgif7:amd64. + Preparing to unpack .../54-libgif7_5.2.1-2.5_amd64.deb ... + Unpacking libgif7:amd64 (5.2.1-2.5) ... + Selecting previously unselected package libglvnd0:amd64. + Preparing to unpack .../55-libglvnd0_1.6.0-1_amd64.deb ... + Unpacking libglvnd0:amd64 (1.6.0-1) ... + Selecting previously unselected package libglapi-mesa:amd64. + Preparing to unpack .../56-libglapi-mesa_22.3.6-1+deb12u1_amd64.deb ... + Unpacking libglapi-mesa:amd64 (22.3.6-1+deb12u1) ... + Selecting previously unselected package libx11-xcb1:amd64. + Preparing to unpack .../57-libx11-xcb1_2%3a1.8.4-2+deb12u2_amd64.deb ... + Unpacking libx11-xcb1:amd64 (2:1.8.4-2+deb12u2) ... + Selecting previously unselected package libxcb-dri2-0:amd64. + Preparing to unpack .../58-libxcb-dri2-0_1.15-1_amd64.deb ... + Unpacking libxcb-dri2-0:amd64 (1.15-1) ... + Selecting previously unselected package libxcb-dri3-0:amd64. + Preparing to unpack .../59-libxcb-dri3-0_1.15-1_amd64.deb ... + Unpacking libxcb-dri3-0:amd64 (1.15-1) ... + Selecting previously unselected package libxcb-glx0:amd64. + Preparing to unpack .../60-libxcb-glx0_1.15-1_amd64.deb ... + Unpacking libxcb-glx0:amd64 (1.15-1) ... + Selecting previously unselected package libxcb-present0:amd64. + Preparing to unpack .../61-libxcb-present0_1.15-1_amd64.deb ... + Unpacking libxcb-present0:amd64 (1.15-1) ... + Selecting previously unselected package libxcb-randr0:amd64. + Preparing to unpack .../62-libxcb-randr0_1.15-1_amd64.deb ... + Unpacking libxcb-randr0:amd64 (1.15-1) ... + Selecting previously unselected package libxcb-sync1:amd64. + Preparing to unpack .../63-libxcb-sync1_1.15-1_amd64.deb ... + Unpacking libxcb-sync1:amd64 (1.15-1) ... + Selecting previously unselected package libxcb-xfixes0:amd64. + Preparing to unpack .../64-libxcb-xfixes0_1.15-1_amd64.deb ... + Unpacking libxcb-xfixes0:amd64 (1.15-1) ... + Selecting previously unselected package libxfixes3:amd64. + Preparing to unpack .../65-libxfixes3_1%3a6.0.0-2_amd64.deb ... + Unpacking libxfixes3:amd64 (1:6.0.0-2) ... + Selecting previously unselected package libxshmfence1:amd64. + Preparing to unpack .../66-libxshmfence1_1.3-1_amd64.deb ... + Unpacking libxshmfence1:amd64 (1.3-1) ... + Selecting previously unselected package libxxf86vm1:amd64. + Preparing to unpack .../67-libxxf86vm1_1%3a1.1.4-1+b2_amd64.deb ... + Unpacking libxxf86vm1:amd64 (1:1.1.4-1+b2) ... + Selecting previously unselected package libz3-4:amd64. + Preparing to unpack .../68-libz3-4_4.8.12-3.1_amd64.deb ... + Unpacking libz3-4:amd64 (4.8.12-3.1) ... + Selecting previously unselected package libllvm15:amd64. + Preparing to unpack .../69-libllvm15_1%3a15.0.6-4+b1_amd64.deb ... + Unpacking libllvm15:amd64 (1:15.0.6-4+b1) ... + Selecting previously unselected package libsensors-config. + Preparing to unpack .../70-libsensors-config_1%3a3.6.0-7.1_all.deb ... + Unpacking libsensors-config (1:3.6.0-7.1) ... + Selecting previously unselected package libsensors5:amd64. + Preparing to unpack .../71-libsensors5_1%3a3.6.0-7.1_amd64.deb ... + Unpacking libsensors5:amd64 (1:3.6.0-7.1) ... + Selecting previously unselected package libgl1-mesa-dri:amd64. + Preparing to unpack .../72-libgl1-mesa-dri_22.3.6-1+deb12u1_amd64.deb ... + Unpacking libgl1-mesa-dri:amd64 (22.3.6-1+deb12u1) ... + Selecting previously unselected package libglx-mesa0:amd64. + Preparing to unpack .../73-libglx-mesa0_22.3.6-1+deb12u1_amd64.deb ... + Unpacking libglx-mesa0:amd64 (22.3.6-1+deb12u1) ... + Selecting previously unselected package libglx0:amd64. + Preparing to unpack .../74-libglx0_1.6.0-1_amd64.deb ... + Unpacking libglx0:amd64 (1.6.0-1) ... + Selecting previously unselected package libgl1:amd64. + Preparing to unpack .../75-libgl1_1.6.0-1_amd64.deb ... + Unpacking libgl1:amd64 (1.6.0-1) ... + Selecting previously unselected package libgraphite2-3:amd64. + Preparing to unpack .../76-libgraphite2-3_1.3.14-1_amd64.deb ... + Unpacking libgraphite2-3:amd64 (1.3.14-1) ... + Selecting previously unselected package libgtk2.0-common. + Preparing to unpack .../77-libgtk2.0-common_2.24.33-2_all.deb ... + Unpacking libgtk2.0-common (2.24.33-2) ... + Selecting previously unselected package libharfbuzz0b:amd64. + Preparing to unpack .../78-libharfbuzz0b_6.0.0+dfsg-3_amd64.deb ... + Unpacking libharfbuzz0b:amd64 (6.0.0+dfsg-3) ... + Selecting previously unselected package libthai-data. + Preparing to unpack .../79-libthai-data_0.1.29-1_all.deb ... + Unpacking libthai-data (0.1.29-1) ... + Selecting previously unselected package libthai0:amd64. + Preparing to unpack .../80-libthai0_0.1.29-1_amd64.deb ... + Unpacking libthai0:amd64 (0.1.29-1) ... + Selecting previously unselected package libpango-1.0-0:amd64. + Preparing to unpack .../81-libpango-1.0-0_1.50.12+ds-1_amd64.deb ... + Unpacking libpango-1.0-0:amd64 (1.50.12+ds-1) ... + Selecting previously unselected package libpangoft2-1.0-0:amd64. + Preparing to unpack .../82-libpangoft2-1.0-0_1.50.12+ds-1_amd64.deb ... + Unpacking libpangoft2-1.0-0:amd64 (1.50.12+ds-1) ... + Selecting previously unselected package libpangocairo-1.0-0:amd64. + Preparing to unpack .../83-libpangocairo-1.0-0_1.50.12+ds-1_amd64.deb ... + Unpacking libpangocairo-1.0-0:amd64 (1.50.12+ds-1) ... + Selecting previously unselected package libxcomposite1:amd64. + Preparing to unpack .../84-libxcomposite1_1%3a0.4.5-1_amd64.deb ... + Unpacking libxcomposite1:amd64 (1:0.4.5-1) ... + Selecting previously unselected package libxcursor1:amd64. + Preparing to unpack .../85-libxcursor1_1%3a1.2.1-1_amd64.deb ... + Unpacking libxcursor1:amd64 (1:1.2.1-1) ... + Selecting previously unselected package libxdamage1:amd64. + Preparing to unpack .../86-libxdamage1_1%3a1.1.6-1_amd64.deb ... + Unpacking libxdamage1:amd64 (1:1.1.6-1) ... + Selecting previously unselected package libxi6:amd64. + Preparing to unpack .../87-libxi6_2%3a1.8-1+b1_amd64.deb ... + Unpacking libxi6:amd64 (2:1.8-1+b1) ... + Selecting previously unselected package libxinerama1:amd64. + Preparing to unpack .../88-libxinerama1_2%3a1.1.4-3_amd64.deb ... + Unpacking libxinerama1:amd64 (2:1.1.4-3) ... + Selecting previously unselected package libxrandr2:amd64. + Preparing to unpack .../89-libxrandr2_2%3a1.5.2-2+b1_amd64.deb ... + Unpacking libxrandr2:amd64 (2:1.5.2-2+b1) ... + Selecting previously unselected package libgtk2.0-0:amd64. + Preparing to unpack .../90-libgtk2.0-0_2.24.33-2_amd64.deb ... + Unpacking libgtk2.0-0:amd64 (2.24.33-2) ... + Selecting previously unselected package liblcms2-2:amd64. + Preparing to unpack .../91-liblcms2-2_2.14-2_amd64.deb ... + Unpacking liblcms2-2:amd64 (2.14-2) ... + Selecting previously unselected package libnspr4:amd64. + Preparing to unpack .../92-libnspr4_2%3a4.35-1_amd64.deb ... + Unpacking libnspr4:amd64 (2:4.35-1) ... + Selecting previously unselected package libsqlite3-0:amd64. + Preparing to unpack .../93-libsqlite3-0_3.40.1-2_amd64.deb ... + Unpacking libsqlite3-0:amd64 (3.40.1-2) ... + Selecting previously unselected package libnss3:amd64. + Preparing to unpack .../94-libnss3_2%3a3.87.1-1_amd64.deb ... + Unpacking libnss3:amd64 (2:3.87.1-1) ... + Selecting previously unselected package libpcsclite1:amd64. + Preparing to unpack .../95-libpcsclite1_1.9.9-2_amd64.deb ... + Unpacking libpcsclite1:amd64 (1.9.9-2) ... + Selecting previously unselected package x11-common. + Preparing to unpack .../96-x11-common_1%3a7.7+23_all.deb ... + Unpacking x11-common (1:7.7+23) ... + Selecting previously unselected package libxtst6:amd64. + Preparing to unpack .../97-libxtst6_2%3a1.2.3-1.1_amd64.deb ... + Unpacking libxtst6:amd64 (2:1.2.3-1.1) ... + Selecting previously unselected package openjdk-17-jre-headless:amd64. + Preparing to unpack .../98-openjdk-17-jre-headless_17.0.12+7-2~deb12u1_amd64.deb ... + Unpacking openjdk-17-jre-headless:amd64 (17.0.12+7-2~deb12u1) ... + Selecting previously unselected package openjdk-17-jre:amd64. + Preparing to unpack .../99-openjdk-17-jre_17.0.12+7-2~deb12u1_amd64.deb ... + Unpacking openjdk-17-jre:amd64 (17.0.12+7-2~deb12u1) ... + Setting up libgraphite2-3:amd64 (1.3.14-1) ... + Setting up liblcms2-2:amd64 (2.14-2) ... + Setting up libpixman-1-0:amd64 (0.42.2-1) ... + Setting up libpciaccess0:amd64 (0.17-2) ... + Setting up libxau6:amd64 (1:1.0.9-1) ... + Setting up liblerc4:amd64 (4.0.0+ds-2) ... + Setting up hicolor-icon-theme (0.17-2) ... + Setting up java-common (0.74) ... + Setting up libdatrie1:amd64 (0.2.13-2+b1) ... + Setting up libglib2.0-0:amd64 (2.74.6-2+deb12u3) ... + No schema files found: doing nothing. + Setting up libglvnd0:amd64 (1.6.0-1) ... + Setting up libsqlite3-0:amd64 (3.40.1-2) ... + Setting up libgdk-pixbuf2.0-common (2.42.10+dfsg-1+deb12u1) ... + Setting up x11-common (1:7.7+23) ... + debconf: unable to initialize frontend: Dialog + debconf: (TERM is not set, so the dialog frontend is not usable.) + debconf: falling back to frontend: Readline + debconf: unable to initialize frontend: Readline + debconf: (This frontend requires a controlling tty.) + debconf: falling back to frontend: Teletype + invoke-rc.d: could not determine current runlevel + invoke-rc.d: policy-rc.d denied execution of restart. + Setting up libsensors-config (1:3.6.0-7.1) ... + Setting up libdeflate0:amd64 (1.14-1) ... + Setting up libjbig0:amd64 (2.1-6.1) ... + Setting up libasound2-data (1.2.8-1) ... + Setting up libz3-4:amd64 (4.8.12-3.1) ... + Setting up libjpeg62-turbo:amd64 (1:2.1.5-2) ... + Setting up libx11-data (2:1.8.4-2+deb12u2) ... + Setting up libnspr4:amd64 (2:4.35-1) ... + Setting up libavahi-common-data:amd64 (0.8-10) ... + Setting up libdbus-1-3:amd64 (1.14.10-1~deb12u1) ... + Setting up libfribidi0:amd64 (1.0.8-2.1) ... + Setting up libpng16-16:amd64 (1.6.39-2) ... + Setting up fonts-dejavu-core (2.37-6) ... + Setting up libpcsclite1:amd64 (1.9.9-2) ... + Setting up libsensors5:amd64 (1:3.6.0-7.1) ... + Setting up libglapi-mesa:amd64 (22.3.6-1+deb12u1) ... + Setting up libwebp7:amd64 (1.2.4-0.2+deb12u1) ... + Setting up libgif7:amd64 (5.2.1-2.5) ... + Setting up libxshmfence1:amd64 (1.3-1) ... + Setting up at-spi2-common (2.46.0-5) ... + Setting up libtiff6:amd64 (4.5.0-6+deb12u1) ... + Setting up libasound2:amd64 (1.2.8-1+b1) ... + Setting up libthai-data (0.1.29-1) ... + Setting up libgtk2.0-common (2.24.33-2) ... + Setting up libatk1.0-0:amd64 (2.46.0-5) ... + Setting up ca-certificates-java (20230710~deb12u1) ... + No JRE found. Skipping Java certificates setup. + Setting up libbsd0:amd64 (0.11.7-2) ... + Setting up libdrm-common (2.4.114-1) ... + Setting up libelf1:amd64 (0.188-2.1) ... + Setting up libxml2:amd64 (2.9.14+dfsg-1.3~deb12u1) ... + Setting up libxdmcp6:amd64 (1:1.1.2-3) ... + Setting up libxcb1:amd64 (1.15-1) ... + Setting up libxcb-xfixes0:amd64 (1.15-1) ... + Setting up libxcb-render0:amd64 (1.15-1) ... + Setting up fontconfig-config (2.14.1-4) ... + debconf: unable to initialize frontend: Dialog + debconf: (TERM is not set, so the dialog frontend is not usable.) + debconf: falling back to frontend: Readline + debconf: unable to initialize frontend: Readline + debconf: (This frontend requires a controlling tty.) + debconf: falling back to frontend: Teletype + Setting up libxcb-glx0:amd64 (1.15-1) ... + Setting up libedit2:amd64 (3.1-20221030-2) ... + Setting up libavahi-common3:amd64 (0.8-10) ... + Setting up libnss3:amd64 (2:3.87.1-1) ... + Setting up libxcb-shm0:amd64 (1.15-1) ... + Setting up libxcb-present0:amd64 (1.15-1) ... + Setting up libthai0:amd64 (0.1.29-1) ... + Setting up libfreetype6:amd64 (2.12.1+dfsg-5+deb12u3) ... + Setting up libxcb-sync1:amd64 (1.15-1) ... + Setting up shared-mime-info (2.2-1) ... + Setting up libxcb-dri2-0:amd64 (1.15-1) ... + Setting up libdrm2:amd64 (2.4.114-1+b1) ... + Setting up libxcb-randr0:amd64 (1.15-1) ... + Setting up libllvm15:amd64 (1:15.0.6-4+b1) ... + Setting up libx11-6:amd64 (2:1.8.4-2+deb12u2) ... + Setting up libharfbuzz0b:amd64 (6.0.0+dfsg-3) ... + Setting up libgdk-pixbuf-2.0-0:amd64 (2.42.10+dfsg-1+deb12u1) ... + Setting up libfontconfig1:amd64 (2.14.1-4) ... + Setting up libxcomposite1:amd64 (1:0.4.5-1) ... + Setting up libavahi-client3:amd64 (0.8-10) ... + Setting up libdrm-amdgpu1:amd64 (2.4.114-1+b1) ... + Setting up libxcb-dri3-0:amd64 (1.15-1) ... + Setting up gtk-update-icon-cache (3.24.38-2~deb12u1) ... + Setting up libx11-xcb1:amd64 (2:1.8.4-2+deb12u2) ... + Setting up fontconfig (2.14.1-4) ... + Regenerating fonts cache... done. + Setting up libdrm-nouveau2:amd64 (2.4.114-1+b1) ... + Setting up libxdamage1:amd64 (1:1.1.6-1) ... + Setting up libxrender1:amd64 (1:0.9.10-1.1) ... + Setting up libdrm-radeon1:amd64 (2.4.114-1+b1) ... + Setting up libpango-1.0-0:amd64 (1.50.12+ds-1) ... + Setting up libdrm-intel1:amd64 (2.4.114-1+b1) ... + Setting up libgl1-mesa-dri:amd64 (22.3.6-1+deb12u1) ... + Setting up libxext6:amd64 (2:1.3.4-1+b1) ... + Setting up libcairo2:amd64 (1.16.0-7) ... + Setting up libxxf86vm1:amd64 (1:1.1.4-1+b2) ... + Setting up adwaita-icon-theme (43-1) ... + update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode + Setting up libxfixes3:amd64 (1:6.0.0-2) ... + Setting up libxinerama1:amd64 (2:1.1.4-3) ... + Setting up libxrandr2:amd64 (2:1.5.2-2+b1) ... + Setting up libcups2:amd64 (2.4.2-3+deb12u5) ... + Setting up libpangoft2-1.0-0:amd64 (1.50.12+ds-1) ... + Setting up libpangocairo-1.0-0:amd64 (1.50.12+ds-1) ... + Setting up libglx-mesa0:amd64 (22.3.6-1+deb12u1) ... + Setting up libxi6:amd64 (2:1.8-1+b1) ... + Setting up libglx0:amd64 (1.6.0-1) ... + Setting up libxtst6:amd64 (2:1.2.3-1.1) ... + Setting up libxcursor1:amd64 (1:1.2.1-1) ... + Setting up libgl1:amd64 (1.6.0-1) ... + Setting up openjdk-17-jre-headless:amd64 (17.0.12+7-2~deb12u1) ... + update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode + update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode + update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode + update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode + update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode + Setting up libgtk2.0-0:amd64 (2.24.33-2) ... + Processing triggers for libc-bin (2.36-9+deb12u7) ... + Processing triggers for ca-certificates-java (20230710~deb12u1) ... + Adding debian:ACCVRAIZ1.pem + Adding debian:AC_RAIZ_FNMT-RCM.pem + Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem + Adding debian:ANF_Secure_Server_Root_CA.pem + Adding debian:Actalis_Authentication_Root_CA.pem + Adding debian:AffirmTrust_Commercial.pem + Adding debian:AffirmTrust_Networking.pem + Adding debian:AffirmTrust_Premium.pem + Adding debian:AffirmTrust_Premium_ECC.pem + Adding debian:Amazon_Root_CA_1.pem + Adding debian:Amazon_Root_CA_2.pem + Adding debian:Amazon_Root_CA_3.pem + Adding debian:Amazon_Root_CA_4.pem + Adding debian:Atos_TrustedRoot_2011.pem + Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem + Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068_2.pem + Adding debian:Baltimore_CyberTrust_Root.pem + Adding debian:Buypass_Class_2_Root_CA.pem + Adding debian:Buypass_Class_3_Root_CA.pem + Adding debian:CA_Disig_Root_R2.pem + Adding debian:CFCA_EV_ROOT.pem + Adding debian:COMODO_Certification_Authority.pem + Adding debian:COMODO_ECC_Certification_Authority.pem + Adding debian:COMODO_RSA_Certification_Authority.pem + Adding debian:Certainly_Root_E1.pem + Adding debian:Certainly_Root_R1.pem + Adding debian:Certigna.pem + Adding debian:Certigna_Root_CA.pem + Adding debian:Certum_EC-384_CA.pem + Adding debian:Certum_Trusted_Network_CA.pem + Adding debian:Certum_Trusted_Network_CA_2.pem + Adding debian:Certum_Trusted_Root_CA.pem + Adding debian:Comodo_AAA_Services_root.pem + Adding debian:D-TRUST_BR_Root_CA_1_2020.pem + Adding debian:D-TRUST_EV_Root_CA_1_2020.pem + Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem + Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem + Adding debian:DigiCert_Assured_ID_Root_CA.pem + Adding debian:DigiCert_Assured_ID_Root_G2.pem + Adding debian:DigiCert_Assured_ID_Root_G3.pem + Adding debian:DigiCert_Global_Root_CA.pem + Adding debian:DigiCert_Global_Root_G2.pem + Adding debian:DigiCert_Global_Root_G3.pem + Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem + Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem + Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem + Adding debian:DigiCert_Trusted_Root_G4.pem + Adding debian:E-Tugra_Certification_Authority.pem + Adding debian:E-Tugra_Global_Root_CA_ECC_v3.pem + Adding debian:E-Tugra_Global_Root_CA_RSA_v3.pem + Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem + Adding debian:Entrust_Root_Certification_Authority.pem + Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem + Adding debian:Entrust_Root_Certification_Authority_-_G2.pem + Adding debian:Entrust_Root_Certification_Authority_-_G4.pem + Adding debian:GDCA_TrustAUTH_R5_ROOT.pem + Adding debian:GLOBALTRUST_2020.pem + Adding debian:GTS_Root_R1.pem + Adding debian:GTS_Root_R2.pem + Adding debian:GTS_Root_R3.pem + Adding debian:GTS_Root_R4.pem + Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem + Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem + Adding debian:GlobalSign_Root_CA.pem + Adding debian:GlobalSign_Root_CA_-_R3.pem + Adding debian:GlobalSign_Root_CA_-_R6.pem + Adding debian:GlobalSign_Root_E46.pem + Adding debian:GlobalSign_Root_R46.pem + Adding debian:Go_Daddy_Class_2_CA.pem + Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem + Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem + Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem + Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem + Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem + Adding debian:HiPKI_Root_CA_-_G1.pem + Adding debian:Hongkong_Post_Root_CA_1.pem + Adding debian:Hongkong_Post_Root_CA_3.pem + Adding debian:ISRG_Root_X1.pem + Adding debian:ISRG_Root_X2.pem + Adding debian:IdenTrust_Commercial_Root_CA_1.pem + Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem + Adding debian:Izenpe.com.pem + Adding debian:Microsec_e-Szigno_Root_CA_2009.pem + Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem + Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem + Adding debian:NAVER_Global_Root_Certification_Authority.pem + Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem + Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem + Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem + Adding debian:QuoVadis_Root_CA_1_G3.pem + Adding debian:QuoVadis_Root_CA_2.pem + Adding debian:QuoVadis_Root_CA_2_G3.pem + Adding debian:QuoVadis_Root_CA_3.pem + Adding debian:QuoVadis_Root_CA_3_G3.pem + Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem + Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem + Adding debian:SSL.com_Root_Certification_Authority_ECC.pem + Adding debian:SSL.com_Root_Certification_Authority_RSA.pem + Adding debian:SZAFIR_ROOT_CA2.pem + Adding debian:SecureSign_RootCA11.pem + Adding debian:SecureTrust_CA.pem + Adding debian:Secure_Global_CA.pem + Adding debian:Security_Communication_ECC_RootCA1.pem + Adding debian:Security_Communication_RootCA2.pem + Adding debian:Security_Communication_RootCA3.pem + Adding debian:Security_Communication_Root_CA.pem + Adding debian:Starfield_Class_2_CA.pem + Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem + Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem + Adding debian:SwissSign_Gold_CA_-_G2.pem + Adding debian:SwissSign_Silver_CA_-_G2.pem + Adding debian:T-TeleSec_GlobalRoot_Class_2.pem + Adding debian:T-TeleSec_GlobalRoot_Class_3.pem + Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem + Adding debian:TWCA_Global_Root_CA.pem + Adding debian:TWCA_Root_Certification_Authority.pem + Adding debian:TeliaSonera_Root_CA_v1.pem + Adding debian:Telia_Root_CA_v2.pem + Adding debian:TrustCor_ECA-1.pem + Adding debian:TrustCor_RootCert_CA-1.pem + Adding debian:TrustCor_RootCert_CA-2.pem + Adding debian:Trustwave_Global_Certification_Authority.pem + Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem + Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem + Adding debian:TunTrust_Root_CA.pem + Adding debian:UCA_Extended_Validation_Root.pem + Adding debian:UCA_Global_G2_Root.pem + Adding debian:USERTrust_ECC_Certification_Authority.pem + Adding debian:USERTrust_RSA_Certification_Authority.pem + Adding debian:XRamp_Global_CA_Root.pem + Adding debian:certSIGN_ROOT_CA.pem + Adding debian:certSIGN_Root_CA_G2.pem + Adding debian:e-Szigno_Root_CA_2017.pem + Adding debian:ePKI_Root_Certification_Authority.pem + Adding debian:emSign_ECC_Root_CA_-_C3.pem + Adding debian:emSign_ECC_Root_CA_-_G3.pem + Adding debian:emSign_Root_CA_-_C1.pem + Adding debian:emSign_Root_CA_-_G1.pem + Adding debian:vTrus_ECC_Root_CA.pem + Adding debian:vTrus_Root_CA.pem + done. + Setting up openjdk-17-jre:amd64 (17.0.12+7-2~deb12u1) ... + $ dotnet tool install --global dotnet-sonarscanner + Tools directory '/root/.dotnet/tools' is not currently on the PATH environment variable. + If you are using bash, you can add it to your profile by running the following command: + cat << \EOF >> ~/.bash_profile + # Add .NET Core SDK tools + export PATH="$PATH:/root/.dotnet/tools" + EOF + You can add it to the current session by running the following command: + export PATH="$PATH:/root/.dotnet/tools" + You can invoke the tool using the following command: dotnet-sonarscanner + Tool 'dotnet-sonarscanner' (version '8.0.1') was successfully installed. + $ export PATH="$PATH:$HOME/.dotnet/tools" + $ dotnet sonarscanner begin /k:"si2024_syncatech_2b88ec70-ecf8-49ad-8898-d6ec19e911cc" /d:sonar.token="$SONAR_TOKEN" /d:"sonar.host.url=$SONAR_HOST_URL" /d:sonar.sources="syncatech/src/back/backAPI" + SonarScanner for MSBuild 8.0.1 + Using the .NET Core version of the Scanner for MSBuild + Pre-processing started. + Preparing working directories... + 16:12:09.444 Updating build integration targets... + 16:12:09.521 Using SonarQube v10.6.0.92116. + 16:12:09.66 The JRE provisioning is a time consuming operation. + JRE provisioned: OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz. + If you already have a compatible java version installed, please add either the parameter "/d:sonar.scanner.skipJreProvisioning=true" or "/d:sonar.scanner.javaExePath=". + 16:12:13.04 Fetching analysis configuration settings... + 16:12:15.317 Provisioning analyzer assemblies for cs... + 16:12:15.318 Installing required Roslyn analyzers... + 16:12:15.319 Processing plugin: csharp version 9.27.0.93347 + 16:12:15.435 Processing plugin: vbnet version 9.27.0.93347 + 16:12:16.457 Provisioning analyzer assemblies for vbnet... + 16:12:16.457 Installing required Roslyn analyzers... + 16:12:16.457 Processing plugin: csharp version 9.27.0.93347 + 16:12:16.458 Processing plugin: vbnet version 9.27.0.93347 + 16:12:16.464 Incremental PR analysis: Base branch parameter was not provided. + 16:12:16.465 Cache data is empty. A full analysis will be performed. + 16:12:16.496 Pre-processing succeeded. + $ dotnet build src/back/backAPI/backAPI.sln + Determining projects to restore... + Restored /builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj (in 24.57 sec). + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(373,1): warning S125: Remove this commented out code. (https://rules.sonarsource.com/csharp/RSPEC-125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UsersController.cs(20,12): warning S1135: Complete the task associated to this 'TODO' comment. (https://rules.sonarsource.com/csharp/RSPEC-1135) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(34,1): warning S125: Remove this commented out code. (https://rules.sonarsource.com/csharp/RSPEC-125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(186,9): warning S4663: Remove this empty comment (https://rules.sonarsource.com/csharp/RSPEC-4663) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(187,9): warning S4663: Remove this empty comment (https://rules.sonarsource.com/csharp/RSPEC-4663) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(189,9): warning S4663: Remove this empty comment (https://rules.sonarsource.com/csharp/RSPEC-4663) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(190,9): warning S4663: Remove this empty comment (https://rules.sonarsource.com/csharp/RSPEC-4663) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(172,39): warning S1192: Define a constant instead of using this literal 'Admin' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/PresenceTracker.cs(82,17): warning S125: Remove this commented out code. (https://rules.sonarsource.com/csharp/RSPEC-125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/AccountController.cs(19,43): warning S4487: Remove this unread private field '_usersRepository' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(15,23): warning S1192: Define a constant instead of using this literal 'AspNetRoles' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(18,50): warning S1192: Define a constant instead of using this literal 'INTEGER' 71 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(19,37): warning S1192: Define a constant instead of using this literal 'Sqlite:Autoincrement' 22 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(30,23): warning S1192: Define a constant instead of using this literal 'CompanyRoles' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(48,23): warning S1192: Define a constant instead of using this literal 'IssuePriorities' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(74,23): warning S1192: Define a constant instead of using this literal 'IssueType' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(87,23): warning S1192: Define a constant instead of using this literal 'ProjectTypes' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(100,23): warning S1192: Define a constant instead of using this literal 'ProjectVisibilities' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(134,23): warning S1192: Define a constant instead of using this literal 'AspNetUsers' 19 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(220,23): warning S1192: Define a constant instead of using this literal 'AspNetUserRoles' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(270,23): warning S1192: Define a constant instead of using this literal 'ChatMessages' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(320,23): warning S1192: Define a constant instead of using this literal 'Projects' 13 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(386,23): warning S1192: Define a constant instead of using this literal 'IssueGroups' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(449,23): warning S1192: Define a constant instead of using this literal 'UsersOnProjects' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(476,23): warning S1192: Define a constant instead of using this literal 'Issues' 12 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(530,23): warning S1192: Define a constant instead of using this literal 'IssueComments' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(559,23): warning S1192: Define a constant instead of using this literal 'IssueDependencies' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(607,23): warning S1192: Define a constant instead of using this literal 'UsersOnIssues' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(648,25): warning S1192: Define a constant instead of using this literal 'UserId' 6 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(725,25): warning S1192: Define a constant instead of using this literal 'ProjectId' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/BaseApiController.cs(9,48): warning S5332: Using http protocol is insecure. Use https instead. (https://rules.sonarsource.com/csharp/RSPEC-5332) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/BaseApiController.cs(9,30): warning S1104: Make this field 'private' and encapsulate it in a 'public' property. (https://rules.sonarsource.com/csharp/RSPEC-1104) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/BaseApiController.cs(9,30): warning S2223: Change the visibility of 'BaseFrontendUrl' or make it 'const' or 'readonly'. (https://rules.sonarsource.com/csharp/RSPEC-2223) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/BaseApiController.cs(9,48): warning S1075: Refactor your code not to use hardcoded absolute paths or URIs. (https://rules.sonarsource.com/csharp/RSPEC-1075) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UsersController.cs(16,40): warning S4487: Remove this unread private field '_emailService' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Services/Implementation/EmailService.cs(9,32): warning S2933: Make '_configuration' 'readonly'. (https://rules.sonarsource.com/csharp/RSPEC-2933) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(737,42): warning S4136: All 'UpdateUsersOnIssue' method overloads should be adjacent. (https://rules.sonarsource.com/csharp/RSPEC-4136) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(713,35): warning S1192: Define a constant instead of using this literal 'Not valid call' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Services/Implementation/EmailService.cs(23,36): warning S1192: Define a constant instead of using this literal 'EmailConfiguration:Email' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Other/Logger/ColoredConsoleLoggerProvider.cs(2,18): warning S3881: Fix this implementation of 'IDisposable' to conform to the dispose pattern. (https://rules.sonarsource.com/csharp/RSPEC-3881) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(25,49): warning S4487: Remove this unread private field '_userOnIssueRepository' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/ImageRepository.cs(8,46): warning S4487: Remove this unread private field '_webHostEnvironment' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/StatisticsController.cs(26,35): warning S1192: Define a constant instead of using this literal 'There is not project with the given name' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/CommentsHub.cs(17,38): warning S4487: Remove this unread private field '_dataContext' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/LogsService.cs(9,47): warning S4487: Remove this unread private field '_hubContext' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(18,49): warning S4487: Remove this unread private field '_userOnIssueRepository' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(87,88): warning S1192: Define a constant instead of using this literal '' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(606,57): warning S1192: Define a constant instead of using this literal 'createdDate' 8 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(612,61): warning S1192: Define a constant instead of using this literal 'dueDate' 8 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(690,56): warning S1192: Define a constant instead of using this literal 'typeName' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(696,61): warning S1192: Define a constant instead of using this literal 'statusName' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(702,65): warning S1192: Define a constant instead of using this literal 'priorityName' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(708,69): warning S1192: Define a constant instead of using this literal 'groupName' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(764,57): warning S1192: Define a constant instead of using this literal 'updatedDate' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(794,77): warning S1192: Define a constant instead of using this literal 'completed' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(15,41): warning S4487: Remove this unread private field 'configuration' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(225,53): warning S1192: Define a constant instead of using this literal 'username' 10 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(311,57): warning S1192: Define a constant instead of using this literal 'createdAt' 8 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(403,49): warning S1192: Define a constant instead of using this literal 'email' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(409,53): warning S1192: Define a constant instead of using this literal 'companyRoleName' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/PresenceTracker.cs(68,46): warning S1854: Remove this useless assignment to local variable 'returnValue'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/PresenceTracker.cs(78,50): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UsersController.cs(167,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UserOnProjectController.cs(24,39): warning S107: Constructor has 8 parameters, which is greater than the 7 authorized. (https://rules.sonarsource.com/csharp/RSPEC-107) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/UserDto.cs(20,21): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/UserDto.cs(22,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/UserDto.cs(23,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/UserDto.cs(25,24): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UserOnProjectController.cs(153,23): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UserOnProjectController.cs(190,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/CommentsHub.cs(67,9): warning S1185: Remove this method 'OnDisconnectedAsync' to simply inherit its behavior. (https://rules.sonarsource.com/csharp/RSPEC-1185) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Data/DataContext.cs(22,62): warning S927: Rename parameter 'modelBuilder' to 'builder' to match the base class declaration. (https://rules.sonarsource.com/csharp/RSPEC-927) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(113,6): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(124,5): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(133,6): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(144,5): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(153,5): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(161,5): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(172,6): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(202,1): warning S6966: Await RunAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/AccountController.cs(135,42): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/AccountController.cs(151,41): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/AccountController.cs(126,59): warning S3776: Refactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed. (https://rules.sonarsource.com/csharp/RSPEC-3776) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(30,34): warning S107: Constructor has 13 parameters, which is greater than the 7 authorized. (https://rules.sonarsource.com/csharp/RSPEC-107) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Services/Implementation/TokenService.cs(22,20): warning S6781: JWT secret keys should not be disclosed. (https://rules.sonarsource.com/csharp/RSPEC-6781) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(96,17): warning S1066: Merge this if statement with the enclosing one. (https://rules.sonarsource.com/csharp/RSPEC-1066) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(100,17): warning S1066: Merge this if statement with the enclosing one. (https://rules.sonarsource.com/csharp/RSPEC-1066) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(87,71): warning S927: Rename parameter 'request' to 'user' to match the interface declaration. (https://rules.sonarsource.com/csharp/RSPEC-927) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(114,13): warning S1656: Remove or correct this useless self-assignment. (https://rules.sonarsource.com/csharp/RSPEC-1656) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Projects/ProjectDto.cs(12,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Projects/ProjectDto.cs(13,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(360,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(345,17): warning S1481: Remove the unused local variable 'temp'. (https://rules.sonarsource.com/csharp/RSPEC-1481) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(380,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(396,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Chat/ChatMessageDto.cs(8,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Chat/ChatMessageDto.cs(12,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Chat/ChatMessageDto.cs(13,30): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/CompanyrolesController.cs(126,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/NotificationController.cs(68,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/NotificationController.cs(84,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesGroupController.cs(55,27): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(34,32): warning S107: Constructor has 11 parameters, which is greater than the 7 authorized. (https://rules.sonarsource.com/csharp/RSPEC-107) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Extensions/IdentityServiceExtensions.cs(34,44): warning S6781: JWT secret keys should not be disclosed. (https://rules.sonarsource.com/csharp/RSPEC-6781) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(203,75): warning S3776: Refactor this method to reduce its Cognitive Complexity from 313 to the 15 allowed. (https://rules.sonarsource.com/csharp/RSPEC-3776) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(214,21): warning S1854: Remove this useless assignment to local variable 'users3'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(213,21): warning S1854: Remove this useless assignment to local variable 'users2'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(393,21): warning S1854: Remove this useless assignment to local variable 'orderdUsers'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(221,29): warning S2219: Use the 'is' operator instead. (https://rules.sonarsource.com/csharp/RSPEC-2219) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(307,33): warning S2219: Use the 'is' operator instead. (https://rules.sonarsource.com/csharp/RSPEC-2219) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(388,35): warning S6966: Await CountAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueCreationDto.cs(15,36): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueCreationDto.cs(16,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueCreationDto.cs(17,36): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueCreationDto.cs(27,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(712,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(722,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueUpdateDatesDto.cs(3,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueUpdateDatesDto.cs(4,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueUpdateDatesDto.cs(5,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(34,45): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(13,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(15,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(16,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(17,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(24,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(35,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/UsersOnIssueDto.cs(7,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(473,17): warning S1481: Remove the unused local variable 'groups'. (https://rules.sonarsource.com/csharp/RSPEC-1481) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueDependenciesUpdateDto.cs(4,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueDependenciesUpdateDto.cs(5,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueDependenciesUpdateDto.cs(6,21): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(780,17): warning S1481: Remove the unused local variable 'changed'. (https://rules.sonarsource.com/csharp/RSPEC-1481) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(53,45): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(72,45): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesCommentController.cs(22,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JCommentDto.cs(5,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(92,45): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssueDocumentationController.cs(35,67): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(117,32): warning S6562: Provide the "DateTimeKind" when creating this object. (https://rules.sonarsource.com/csharp/RSPEC-6562) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(118,32): warning S6562: Provide the "DateTimeKind" when creating this object. (https://rules.sonarsource.com/csharp/RSPEC-6562) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssueDocumentationController.cs(72,37): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(108,37): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(135,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(127,26): warning S1244: Do not check floating point equality with exact values, use a range instead. (https://rules.sonarsource.com/csharp/RSPEC-1244) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(157,27): warning S1244: Do not check floating point equality with exact values, use a range instead. (https://rules.sonarsource.com/csharp/RSPEC-1244) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(161,34): warning S1244: Do not check floating point equality with exact values, use a range instead. (https://rules.sonarsource.com/csharp/RSPEC-1244) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssueDocumentationController.cs(130,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(172,29): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(187,27): warning S1244: Do not check floating point equality with exact values, use a range instead. (https://rules.sonarsource.com/csharp/RSPEC-1244) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/DocumentsController.cs(38,69): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/DocumentsController.cs(69,37): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Projects/UserOnProjectRepository.cs(82,62): warning S927: Rename parameter 'projectname' to 'projectName' to match the interface declaration. (https://rules.sonarsource.com/csharp/RSPEC-927) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/DocumentsController.cs(119,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/ChatRepository.cs(164,35): warning S2971: Use 'Count' property here instead. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Projects/ProjectDocumentationRepository.cs(80,50): warning S2971: Use 'Count' property here instead. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/CompanyRolesRepository.cs(71,17): warning S1066: Merge this if statement with the enclosing one. (https://rules.sonarsource.com/csharp/RSPEC-1066) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/ImageRepository.cs(26,32): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/ImageRepository.cs(31,21): warning S2589: Change this condition so that it does not always evaluate to 'False'. (https://rules.sonarsource.com/csharp/RSPEC-2589) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/UserOnIssueRepository.cs(34,66): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/NotificationRepository.cs(70,32): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/NotificationRepository.cs(72,29): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueCommentRepository.cs(27,27): warning S6580: Use a format provider when parsing date and time. (https://rules.sonarsource.com/csharp/RSPEC-6580) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(29,31): warning S107: Constructor has 8 parameters, which is greater than the 7 authorized. (https://rules.sonarsource.com/csharp/RSPEC-107) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/LogsRepository.cs(33,41): warning S2971: Use 'Count' property here instead. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(115,117): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(126,117): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(143,156): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(144,169): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(201,172): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(202,175): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(254,125): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(332,128): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(384,126): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(488,57): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(476,77): warning S3776: Refactor this method to reduce its Cognitive Complexity from 603 to the 15 allowed. (https://rules.sonarsource.com/csharp/RSPEC-3776) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(509,21): warning S1854: Remove this useless assignment to local variable 'issues3'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(508,21): warning S1854: Remove this useless assignment to local variable 'issues2'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(742,21): warning S1854: Remove this useless assignment to local variable 'orderdIssues'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(516,29): warning S2219: Use the 'is' operator instead. (https://rules.sonarsource.com/csharp/RSPEC-2219) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(602,33): warning S2219: Use the 'is' operator instead. (https://rules.sonarsource.com/csharp/RSPEC-2219) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(736,35): warning S6966: Await CountAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + backAPI -> /builds/si2024/syncatech/src/back/backAPI/backAPI/bin/Debug/net8.0/backAPI.dll + Sonar: (backAPI.csproj) Project processed successfully + Build succeeded. + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(373,1): warning S125: Remove this commented out code. (https://rules.sonarsource.com/csharp/RSPEC-125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UsersController.cs(20,12): warning S1135: Complete the task associated to this 'TODO' comment. (https://rules.sonarsource.com/csharp/RSPEC-1135) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(34,1): warning S125: Remove this commented out code. (https://rules.sonarsource.com/csharp/RSPEC-125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(186,9): warning S4663: Remove this empty comment (https://rules.sonarsource.com/csharp/RSPEC-4663) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(187,9): warning S4663: Remove this empty comment (https://rules.sonarsource.com/csharp/RSPEC-4663) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(189,9): warning S4663: Remove this empty comment (https://rules.sonarsource.com/csharp/RSPEC-4663) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(190,9): warning S4663: Remove this empty comment (https://rules.sonarsource.com/csharp/RSPEC-4663) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(172,39): warning S1192: Define a constant instead of using this literal 'Admin' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/PresenceTracker.cs(82,17): warning S125: Remove this commented out code. (https://rules.sonarsource.com/csharp/RSPEC-125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/AccountController.cs(19,43): warning S4487: Remove this unread private field '_usersRepository' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(15,23): warning S1192: Define a constant instead of using this literal 'AspNetRoles' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(18,50): warning S1192: Define a constant instead of using this literal 'INTEGER' 71 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(19,37): warning S1192: Define a constant instead of using this literal 'Sqlite:Autoincrement' 22 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(30,23): warning S1192: Define a constant instead of using this literal 'CompanyRoles' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(48,23): warning S1192: Define a constant instead of using this literal 'IssuePriorities' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(74,23): warning S1192: Define a constant instead of using this literal 'IssueType' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(87,23): warning S1192: Define a constant instead of using this literal 'ProjectTypes' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(100,23): warning S1192: Define a constant instead of using this literal 'ProjectVisibilities' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(134,23): warning S1192: Define a constant instead of using this literal 'AspNetUsers' 19 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(220,23): warning S1192: Define a constant instead of using this literal 'AspNetUserRoles' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(270,23): warning S1192: Define a constant instead of using this literal 'ChatMessages' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(320,23): warning S1192: Define a constant instead of using this literal 'Projects' 13 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(386,23): warning S1192: Define a constant instead of using this literal 'IssueGroups' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(449,23): warning S1192: Define a constant instead of using this literal 'UsersOnProjects' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(476,23): warning S1192: Define a constant instead of using this literal 'Issues' 12 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(530,23): warning S1192: Define a constant instead of using this literal 'IssueComments' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(559,23): warning S1192: Define a constant instead of using this literal 'IssueDependencies' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(607,23): warning S1192: Define a constant instead of using this literal 'UsersOnIssues' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(648,25): warning S1192: Define a constant instead of using this literal 'UserId' 6 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Migrations/20240522020413_MigrationMergeChatTheme.cs(725,25): warning S1192: Define a constant instead of using this literal 'ProjectId' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/BaseApiController.cs(9,48): warning S5332: Using http protocol is insecure. Use https instead. (https://rules.sonarsource.com/csharp/RSPEC-5332) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/BaseApiController.cs(9,30): warning S1104: Make this field 'private' and encapsulate it in a 'public' property. (https://rules.sonarsource.com/csharp/RSPEC-1104) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/BaseApiController.cs(9,30): warning S2223: Change the visibility of 'BaseFrontendUrl' or make it 'const' or 'readonly'. (https://rules.sonarsource.com/csharp/RSPEC-2223) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/BaseApiController.cs(9,48): warning S1075: Refactor your code not to use hardcoded absolute paths or URIs. (https://rules.sonarsource.com/csharp/RSPEC-1075) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UsersController.cs(16,40): warning S4487: Remove this unread private field '_emailService' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Services/Implementation/EmailService.cs(9,32): warning S2933: Make '_configuration' 'readonly'. (https://rules.sonarsource.com/csharp/RSPEC-2933) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(737,42): warning S4136: All 'UpdateUsersOnIssue' method overloads should be adjacent. (https://rules.sonarsource.com/csharp/RSPEC-4136) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(713,35): warning S1192: Define a constant instead of using this literal 'Not valid call' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Services/Implementation/EmailService.cs(23,36): warning S1192: Define a constant instead of using this literal 'EmailConfiguration:Email' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Other/Logger/ColoredConsoleLoggerProvider.cs(2,18): warning S3881: Fix this implementation of 'IDisposable' to conform to the dispose pattern. (https://rules.sonarsource.com/csharp/RSPEC-3881) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(25,49): warning S4487: Remove this unread private field '_userOnIssueRepository' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/ImageRepository.cs(8,46): warning S4487: Remove this unread private field '_webHostEnvironment' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/StatisticsController.cs(26,35): warning S1192: Define a constant instead of using this literal 'There is not project with the given name' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/CommentsHub.cs(17,38): warning S4487: Remove this unread private field '_dataContext' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/LogsService.cs(9,47): warning S4487: Remove this unread private field '_hubContext' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(18,49): warning S4487: Remove this unread private field '_userOnIssueRepository' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(87,88): warning S1192: Define a constant instead of using this literal '' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(606,57): warning S1192: Define a constant instead of using this literal 'createdDate' 8 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(612,61): warning S1192: Define a constant instead of using this literal 'dueDate' 8 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(690,56): warning S1192: Define a constant instead of using this literal 'typeName' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(696,61): warning S1192: Define a constant instead of using this literal 'statusName' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(702,65): warning S1192: Define a constant instead of using this literal 'priorityName' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(708,69): warning S1192: Define a constant instead of using this literal 'groupName' 5 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(764,57): warning S1192: Define a constant instead of using this literal 'updatedDate' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(794,77): warning S1192: Define a constant instead of using this literal 'completed' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(15,41): warning S4487: Remove this unread private field 'configuration' or refactor the code to use its value. (https://rules.sonarsource.com/csharp/RSPEC-4487) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(225,53): warning S1192: Define a constant instead of using this literal 'username' 10 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(311,57): warning S1192: Define a constant instead of using this literal 'createdAt' 8 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(403,49): warning S1192: Define a constant instead of using this literal 'email' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(409,53): warning S1192: Define a constant instead of using this literal 'companyRoleName' 4 times. (https://rules.sonarsource.com/csharp/RSPEC-1192) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/PresenceTracker.cs(68,46): warning S1854: Remove this useless assignment to local variable 'returnValue'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/PresenceTracker.cs(78,50): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UsersController.cs(167,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UserOnProjectController.cs(24,39): warning S107: Constructor has 8 parameters, which is greater than the 7 authorized. (https://rules.sonarsource.com/csharp/RSPEC-107) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/UserDto.cs(20,21): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/UserDto.cs(22,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/UserDto.cs(23,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/UserDto.cs(25,24): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UserOnProjectController.cs(153,23): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/UserOnProjectController.cs(190,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/SignalR/CommentsHub.cs(67,9): warning S1185: Remove this method 'OnDisconnectedAsync' to simply inherit its behavior. (https://rules.sonarsource.com/csharp/RSPEC-1185) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Data/DataContext.cs(22,62): warning S927: Rename parameter 'modelBuilder' to 'builder' to match the base class declaration. (https://rules.sonarsource.com/csharp/RSPEC-927) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(113,6): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(124,5): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(133,6): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(144,5): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(153,5): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(161,5): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(172,6): warning S6966: Await AnyAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Program.cs(202,1): warning S6966: Await RunAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/AccountController.cs(135,42): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/AccountController.cs(151,41): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/AccountController.cs(126,59): warning S3776: Refactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed. (https://rules.sonarsource.com/csharp/RSPEC-3776) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(30,34): warning S107: Constructor has 13 parameters, which is greater than the 7 authorized. (https://rules.sonarsource.com/csharp/RSPEC-107) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Services/Implementation/TokenService.cs(22,20): warning S6781: JWT secret keys should not be disclosed. (https://rules.sonarsource.com/csharp/RSPEC-6781) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(96,17): warning S1066: Merge this if statement with the enclosing one. (https://rules.sonarsource.com/csharp/RSPEC-1066) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(100,17): warning S1066: Merge this if statement with the enclosing one. (https://rules.sonarsource.com/csharp/RSPEC-1066) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(87,71): warning S927: Rename parameter 'request' to 'user' to match the interface declaration. (https://rules.sonarsource.com/csharp/RSPEC-927) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(114,13): warning S1656: Remove or correct this useless self-assignment. (https://rules.sonarsource.com/csharp/RSPEC-1656) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Projects/ProjectDto.cs(12,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Projects/ProjectDto.cs(13,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(360,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(345,17): warning S1481: Remove the unused local variable 'temp'. (https://rules.sonarsource.com/csharp/RSPEC-1481) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(380,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/ProjectsController.cs(396,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Chat/ChatMessageDto.cs(8,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Chat/ChatMessageDto.cs(12,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Chat/ChatMessageDto.cs(13,30): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/CompanyrolesController.cs(126,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/NotificationController.cs(68,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/NotificationController.cs(84,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesGroupController.cs(55,27): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(34,32): warning S107: Constructor has 11 parameters, which is greater than the 7 authorized. (https://rules.sonarsource.com/csharp/RSPEC-107) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Extensions/IdentityServiceExtensions.cs(34,44): warning S6781: JWT secret keys should not be disclosed. (https://rules.sonarsource.com/csharp/RSPEC-6781) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(203,75): warning S3776: Refactor this method to reduce its Cognitive Complexity from 313 to the 15 allowed. (https://rules.sonarsource.com/csharp/RSPEC-3776) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(214,21): warning S1854: Remove this useless assignment to local variable 'users3'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(213,21): warning S1854: Remove this useless assignment to local variable 'users2'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(393,21): warning S1854: Remove this useless assignment to local variable 'orderdUsers'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(221,29): warning S2219: Use the 'is' operator instead. (https://rules.sonarsource.com/csharp/RSPEC-2219) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(307,33): warning S2219: Use the 'is' operator instead. (https://rules.sonarsource.com/csharp/RSPEC-2219) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/UsersRepository.cs(388,35): warning S6966: Await CountAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueCreationDto.cs(15,36): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueCreationDto.cs(16,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueCreationDto.cs(17,36): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueCreationDto.cs(27,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(712,24): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(722,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueUpdateDatesDto.cs(3,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueUpdateDatesDto.cs(4,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueUpdateDatesDto.cs(5,25): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(34,45): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(13,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(15,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(16,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(17,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(24,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JIssueDto.cs(35,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/UsersOnIssueDto.cs(7,23): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(473,17): warning S1481: Remove the unused local variable 'groups'. (https://rules.sonarsource.com/csharp/RSPEC-1481) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueDependenciesUpdateDto.cs(4,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueDependenciesUpdateDto.cs(5,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/IssueDependenciesUpdateDto.cs(6,21): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesController.cs(780,17): warning S1481: Remove the unused local variable 'changed'. (https://rules.sonarsource.com/csharp/RSPEC-1481) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(53,45): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(72,45): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssuesCommentController.cs(22,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/DTO/Issues/JCommentDto.cs(5,20): warning S6964: Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting. (https://rules.sonarsource.com/csharp/RSPEC-6964) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(92,45): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssueDocumentationController.cs(35,67): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(117,32): warning S6562: Provide the "DateTimeKind" when creating this object. (https://rules.sonarsource.com/csharp/RSPEC-6562) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(118,32): warning S6562: Provide the "DateTimeKind" when creating this object. (https://rules.sonarsource.com/csharp/RSPEC-6562) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssueDocumentationController.cs(72,37): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(108,37): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(135,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(127,26): warning S1244: Do not check floating point equality with exact values, use a range instead. (https://rules.sonarsource.com/csharp/RSPEC-1244) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(157,27): warning S1244: Do not check floating point equality with exact values, use a range instead. (https://rules.sonarsource.com/csharp/RSPEC-1244) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(161,34): warning S1244: Do not check floating point equality with exact values, use a range instead. (https://rules.sonarsource.com/csharp/RSPEC-1244) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/IssueDocumentationController.cs(130,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(172,29): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/StatisticsRepository.cs(187,27): warning S1244: Do not check floating point equality with exact values, use a range instead. (https://rules.sonarsource.com/csharp/RSPEC-1244) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/DocumentsController.cs(38,69): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/DocumentsController.cs(69,37): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Projects/UserOnProjectRepository.cs(82,62): warning S927: Rename parameter 'projectname' to 'projectName' to match the interface declaration. (https://rules.sonarsource.com/csharp/RSPEC-927) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Controllers/DocumentsController.cs(119,25): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/ChatRepository.cs(164,35): warning S2971: Use 'Count' property here instead. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Projects/ProjectDocumentationRepository.cs(80,50): warning S2971: Use 'Count' property here instead. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/CompanyRolesRepository.cs(71,17): warning S1066: Merge this if statement with the enclosing one. (https://rules.sonarsource.com/csharp/RSPEC-1066) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/ImageRepository.cs(26,32): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/ImageRepository.cs(31,21): warning S2589: Change this condition so that it does not always evaluate to 'False'. (https://rules.sonarsource.com/csharp/RSPEC-2589) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/UserOnIssueRepository.cs(34,66): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/NotificationRepository.cs(70,32): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/NotificationRepository.cs(72,29): warning S2971: Drop 'Where' and move the condition into the 'Count'. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueCommentRepository.cs(27,27): warning S6580: Use a format provider when parsing date and time. (https://rules.sonarsource.com/csharp/RSPEC-6580) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(29,31): warning S107: Constructor has 8 parameters, which is greater than the 7 authorized. (https://rules.sonarsource.com/csharp/RSPEC-107) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/LogsRepository.cs(33,41): warning S2971: Use 'Count' property here instead. (https://rules.sonarsource.com/csharp/RSPEC-2971) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(115,117): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(126,117): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(143,156): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(144,169): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(201,172): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(202,175): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(254,125): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(332,128): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(384,126): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(488,57): warning S1125: Remove the unnecessary Boolean literal(s). (https://rules.sonarsource.com/csharp/RSPEC-1125) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(476,77): warning S3776: Refactor this method to reduce its Cognitive Complexity from 603 to the 15 allowed. (https://rules.sonarsource.com/csharp/RSPEC-3776) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(509,21): warning S1854: Remove this useless assignment to local variable 'issues3'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(508,21): warning S1854: Remove this useless assignment to local variable 'issues2'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(742,21): warning S1854: Remove this useless assignment to local variable 'orderdIssues'. (https://rules.sonarsource.com/csharp/RSPEC-1854) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(516,29): warning S2219: Use the 'is' operator instead. (https://rules.sonarsource.com/csharp/RSPEC-2219) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(602,33): warning S2219: Use the 'is' operator instead. (https://rules.sonarsource.com/csharp/RSPEC-2219) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + /builds/si2024/syncatech/src/back/backAPI/backAPI/Repositories/Implementation/Issues/IssueRepository.cs(736,35): warning S6966: Await CountAsync instead. (https://rules.sonarsource.com/csharp/RSPEC-6966) [/builds/si2024/syncatech/src/back/backAPI/backAPI/backAPI.csproj] + 182 Warning(s) + 0 Error(s) + Time Elapsed 00:00:42.86 + $ dotnet sonarscanner end /d:sonar.token="$SONAR_TOKEN" + SonarScanner for MSBuild 8.0.1 + Using the .NET Core version of the Scanner for MSBuild + Post-processing started. + 16:13:00.442 16:13:00.442 WARNING: Multi-Language analysis is enabled. If this was not intended and you have issues such as hitting your LOC limit or analyzing unwanted files, please set "/d:sonar.scanner.scanAll=false" in the begin step. + 16:13:00.76 16:13:00.76 WARNING: The support for multi-language analysis may not function correctly if sonar.sources is set. If this is the case, please explicitly set "sonar.scanner.scanAll=false" to disable the multi-language analysis. + Calling the SonarScanner CLI... + INFO: Scanner configuration file: /root/.dotnet/tools/.store/dotnet-sonarscanner/8.0.1/dotnet-sonarscanner/8.0.1/tools/netcoreapp3.1/any/sonar-scanner-5.0.1.3006/conf/sonar-scanner.properties + INFO: Project root configuration file: /builds/si2024/syncatech/.sonarqube/out/sonar-project.properties + INFO: SonarScanner 5.0.1.3006 + INFO: Java 17.0.11 Eclipse Adoptium (64-bit) + INFO: Linux 5.15.153.1-microsoft-standard-WSL2 amd64 + INFO: User cache: /builds/si2024/syncatech/.sonar/cache + INFO: Analyzing on SonarQube server 10.6.0.92116 + INFO: Default locale: "en_US", source code encoding: "US-ASCII" (analysis is platform dependent) + INFO: Load global settings + INFO: Load global settings (done) | time=83ms + INFO: Server id: 147B411E-AZFYP4g31RZwf0ZENpRC + INFO: Loading required plugins + INFO: Load plugins index + INFO: Load plugins index (done) | time=52ms + INFO: Load/download plugins + INFO: Load/download plugins (done) | time=1762ms + INFO: Process project properties + INFO: Process project properties (done) | time=19ms + INFO: Project key: si2024_syncatech_2b88ec70-ecf8-49ad-8898-d6ec19e911cc + INFO: Base dir: /builds/si2024/syncatech + INFO: Working dir: /builds/si2024/syncatech/.sonarqube/out/.sonar + INFO: Load project settings for component key: 'si2024_syncatech_2b88ec70-ecf8-49ad-8898-d6ec19e911cc' + INFO: Load project settings for component key: 'si2024_syncatech_2b88ec70-ecf8-49ad-8898-d6ec19e911cc' (done) | time=36ms + INFO: Load quality profiles + INFO: Load quality profiles (done) | time=83ms + INFO: Auto-configuring with CI 'Gitlab CI' + INFO: Load active rules + INFO: Load active rules (done) | time=7939ms + INFO: Load analysis cache + INFO: Load analysis cache (404) | time=19ms + INFO: Preprocessing files... + INFO: 2 languages detected in 145 preprocessed files + INFO: 5 files ignored because of scm ignore settings + INFO: Loading plugins for detected languages + INFO: Load/download plugins + INFO: Load/download plugins (done) | time=211ms + INFO: Executing phase 2 project builders + INFO: Executing phase 2 project builders (done) | time=36ms + INFO: Load project repositories + INFO: Load project repositories (done) | time=29ms + INFO: Indexing files... + INFO: Project configuration: + INFO: Indexing files of module 'backAPI' + INFO: Base dir: /builds/si2024/syncatech/src/back/backAPI/backAPI + INFO: Source paths: Controllers/AccountController.cs, Controllers/BaseApiControll... + INFO: Indexing files of module 'si2024_syncatech_2b88ec70-ecf8-49ad-8898-d6ec19e911cc' + INFO: Base dir: /builds/si2024/syncatech + INFO: 143 files indexed + INFO: Quality profile for cs: Sonar way + INFO: Quality profile for json: Sonar way + INFO: ------------- Run sensors on module backAPI + INFO: Load metrics repository + INFO: Load metrics repository (done) | time=23ms + INFO: Sensor C# Project Type Information [csharp] + INFO: Sensor C# Project Type Information [csharp] (done) | time=3ms + INFO: Sensor C# Analysis Log [csharp] + INFO: Roslyn version: 4.11.0.0 + INFO: Language version: CSharp12 + INFO: Concurrent execution: enabled + INFO: Sensor C# Analysis Log [csharp] (done) | time=7ms + INFO: Sensor C# Properties [csharp] + INFO: Sensor C# Properties [csharp] (done) | time=2ms + INFO: Sensor JaCoCo XML Report Importer [jacoco] + INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml + INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer + INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=2ms + INFO: Sensor IaC CloudFormation Sensor [iac] + INFO: 0 source files to be analyzed + INFO: 0/0 source files have been analyzed + INFO: Sensor IaC CloudFormation Sensor [iac] (done) | time=23ms + INFO: Sensor IaC AzureResourceManager Sensor [iac] + INFO: 0 source files to be analyzed + INFO: 0/0 source files have been analyzed + INFO: Sensor IaC AzureResourceManager Sensor [iac] (done) | time=126ms + INFO: Sensor Java Config Sensor [iac] + INFO: 0 source files to be analyzed + INFO: 0/0 source files have been analyzed + INFO: Sensor Java Config Sensor [iac] (done) | time=15ms + INFO: Sensor IaC Docker Sensor [iac] + INFO: 0 source files to be analyzed + INFO: 0/0 source files have been analyzed + INFO: Sensor IaC Docker Sensor [iac] (done) | time=35ms + INFO: ------------- Run sensors on module si2024_syncatech_2b88ec70-ecf8-49ad-8898-d6ec19e911cc + INFO: Sensor C# Project Type Information [csharp] + INFO: Sensor C# Project Type Information [csharp] (done) | time=0ms + INFO: Sensor C# Analysis Log [csharp] + INFO: Sensor C# Analysis Log [csharp] (done) | time=0ms + INFO: Sensor C# Properties [csharp] + INFO: Sensor C# Properties [csharp] (done) | time=0ms + INFO: Sensor JaCoCo XML Report Importer [jacoco] + INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml + INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer + INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=0ms + INFO: Sensor Java Config Sensor [iac] + INFO: 0 source files to be analyzed + INFO: 0/0 source files have been analyzed + INFO: Sensor Java Config Sensor [iac] (done) | time=2ms + INFO: Sensor IaC Docker Sensor [iac] + INFO: 0 source files to be analyzed + INFO: 0/0 source files have been analyzed + INFO: Sensor IaC Docker Sensor [iac] (done) | time=11ms + INFO: Sensor TextAndSecretsSensor [text] + INFO: Available processors: 4 + INFO: Using 4 threads for analysis. + INFO: The property "sonar.tests" is not set. To improve the analysis accuracy, we categorize a file as a test file if any of the following is true: + * The filename starts with "test" + * The filename contains "test." or "tests." + * Any directory in the file path is named: "doc", "docs", "test" or "tests" + * Any directory in the file path has a name ending in "test" or "tests" + INFO: Using git CLI to retrieve untracked files + INFO: Analyzing language associated files and files included via "sonar.text.inclusions" that are tracked by git + INFO: 143 source files to be analyzed + INFO: 143/143 source files have been analyzed + INFO: Sensor TextAndSecretsSensor [text] (done) | time=1051ms + INFO: ------------- Run sensors on project + INFO: Sensor C# [csharp] + INFO: Importing results from 6 proto files in '/builds/si2024/syncatech/.sonarqube/out/0/output-cs' + INFO: Importing 1 Roslyn report + INFO: Found 1 MSBuild C# project: 1 MAIN project. + INFO: Sensor C# [csharp] (done) | time=681ms + INFO: Sensor Analysis Warnings import [csharp] + INFO: Sensor Analysis Warnings import [csharp] (done) | time=7ms + INFO: Sensor C# File Caching Sensor [csharp] + INFO: Sensor C# File Caching Sensor [csharp] (done) | time=20ms + INFO: Sensor Zero Coverage Sensor + INFO: Sensor Zero Coverage Sensor (done) | time=27ms + INFO: SCM Publisher SCM provider for this project is: git + INFO: SCM Publisher 140 source files to be analyzed + INFO: SCM Publisher 140/140 source files have been analyzed (done) | time=1398ms + INFO: CPD Executor 43 files had no CPD blocks + INFO: CPD Executor Calculating CPD for 97 files + INFO: CPD Executor CPD calculation finished (done) | time=83ms + INFO: SCM revision ID 'eeef7c3f4516c58396f5533a8c4c9e0f8e1f19ba' + INFO: Analysis report generated in 118ms, dir size=1.1 MB + INFO: Analysis report compressed in 312ms, zip size=442.1 kB + INFO: Analysis report uploaded in 71ms + INFO: ANALYSIS SUCCESSFUL, you can find the results at: http://localhost:9000/dashboard?id=si2024_syncatech_2b88ec70-ecf8-49ad-8898-d6ec19e911cc + INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report + INFO: More about the report processing at http://localhost:9000/api/ce/task?id=a55837af-3fc9-4b4c-ace7-7a6f1da151f0 + INFO: Analysis total time: 14.615 s + INFO: ------------------------------------------------------------------------ + INFO: EXECUTION SUCCESS + INFO: ------------------------------------------------------------------------ + INFO: Total time: 21.363s + INFO: Final Memory: 13M/54M + INFO: ------------------------------------------------------------------------ + The SonarScanner CLI has finished + 16:13:22.58 Post-processing succeeded. + Saving cache for successful job 00:02 + Not uploading cache eeef7c3f-1 due to policy + Cleaning up project directory and file based variables 00:01 + Job succeeded + + ``` +
+ +---------------------------------------------------------- + +| Analiza koda je uspešna, što možemo potvrditi u SonarQube-u. | +| :--: | +| ![image](https://github.com/user-attachments/assets/cde25979-f33a-4718-8a63-f9e6fd096ca0) | + +| Sada ćemo testirati proces analize tako što ćemo kreirati novu granu, izvršiti izmene na njoj, napraviti pull request, i zatim izvršiti merge. | +| :--: | +| ![image](https://github.com/user-attachments/assets/fb582661-95bd-473b-bda3-0965afd06428) | +| | +| ![image](https://github.com/user-attachments/assets/e37fe3fe-50eb-44de-b309-0724ef41da4d) | +| | +| ![image](https://github.com/user-attachments/assets/60ae720d-1d27-46e9-ba55-9ff2909a2fc1) | +| | +| ![image](https://github.com/user-attachments/assets/e1faa59d-631a-421b-8e02-ce9b267059da) | +| | +| ![image](https://github.com/user-attachments/assets/5b5001e4-84e7-491e-ae3f-4c24db1cf462) | +| | +| ![image](https://github.com/user-attachments/assets/bb620d8a-9568-42d3-9069-9041905c64c5) | +| | +| ![image](https://github.com/user-attachments/assets/46e5c0e1-843e-4fa7-8507-6fd7982411f1) | + +| Kao što se može videti u sekciji **"New Code"**, nove izmene su prepoznate i možemo pregledati statistiku analize. | +| :--: | +| ![image](https://github.com/user-attachments/assets/de8d3120-a8e6-499f-9c55-f1626aaa4a75) | +| | +| ![image](https://github.com/user-attachments/assets/73e351e6-8d0e-4d55-a581-74529f786fb3) | + +*Izvor: [www.youtube.com](https://www.youtube.com/watch?v=XX0ey4rRvms), [docs.sonarsource.com](https://docs.sonarsource.com/sonarqube/latest/devops-platform-integration/gitlab-integration/introduction/)* + +## Prednosti korišćenja SonarQube-a za analizu pokrivenosti koda (Code Coverage) +1. Poboljšana pouzdanost i održivost: Veća pokrivenost koda znači da se veći deo vašeg koda testira kroz različite scenarije, čime se obuhvataju razne putanje kroz koje kod može da prođe. Kada testovi pokrivaju više scenarija i grana koda, veća je verovatnoća da će se pronaći i ispraviti greške pre nego što kod dospe u produkciju. To vodi do stabilnijeg i pouzdanijeg softvera jer se problemi otkrivaju i rešavaju u ranoj fazi, pre nego što postanu ozbiljni i skupi za popravku. + +2. Povećano poverenje programera: Značajna prednost pokrivenosti koda (Code Coverage) je poverenje koje pruža prilikom unošenja izmena. Sa visokom pokrivenošću, programeri mogu odmah videti uticaj svojih promena ukoliko dođe do neželjenih efekata, testovi će odmah pasti. Ova trenutna povratna informacija omogućava brzo otkrivanje problema i osigurava stabilnost koda. Dobro testirana baza koda sa visokom pokrivenošću uliva poverenje programerima i smanjuje rizik od unošenja novih grešaka u produkciju. + +3. Detaljni izveštaji: SonarQube nudi detaljne izveštaje o pokrivenosti koda, koji jasno ukazuju na delove koda koji nisu testirani. Ovi izveštaji prikazuju pokrivenost po linijama i fajlovima, pružajući precizan uvid u obuhvaćenost testovima. Takvi izveštaji omogućavaju da se zainteresovanim stranama i potencijalnim klijentima pokaže kvalitet i temeljnost procesa testiranja. + +4. Akcioni uvidi: Pored samog izveštavanja o procentima pokrivenosti, SonarQube nudi akcione uvide u kontekstu naše baze koda. Naglašava područja s niskom pokrivenošću, pružajući metrike kao što su neproverene linije i uslovi. Pogledati *[dokumentaciju](https://docs.sonarsource.com/sonarqube/latest/user-guide/code-metrics/metrics-definition/#tests)* za sve metrike koje SonarQube izveštava za pokrivenost testova. + +*Izvor: [docs.sonarsource.com](https://www.sonarsource.com/blog/sonarqube-code-coverage/)* diff --git a/skripte/README.md b/skripte/README.md index e2e23f7..828792e 100644 --- a/skripte/README.md +++ b/skripte/README.md @@ -6,6 +6,7 @@ - [JUnit API 5](./07.md) (**IN PROGRESS**) - [TestNG & Selenium](./10.md) - [POM & PageFactory](./11.md) +- [SonarQube](./12.md) ---