ค้นหาเว็บไซต์

node.js - sonar.coverage.exclusions ไม่เกิดผลเมื่อรัน Sonar scanner ในกรณีของฉัน


ฉันกำลังพัฒนาโปรเจกต์ node.js (Nestjs) ด้วย TypeScript ฉันมีคอนเทนเนอร์ SonarQube ที่กำลังรันอยู่บนแล็ปท็อปของฉัน (ในอีกคำหนึ่ง แล็ปท็อปของฉันคือโฮสต์ของ Docker)

ฉันได้ดาวน์โหลด SonarScanner และกำหนดค่า sonar-scanner-4.6.2.2472-macosx/conf/sonar-scanner.properties ให้ชี้ไปยังคอนเทนเนอร์ SonarQube ของฉันซึ่งเปิดเผยพอร์ต 9000:

#----- Default SonarQube server
sonar.host.url=http://localhost:9000

ภายใต้โฟลเดอร์รากของโปรเจกต์ของฉัน ฉันมี sonar-project.properties:

...
sonar.inclusions=src/**/*
sonar.exclusions=src/generated/*
sonar.coverage.inclusions=src/**/*
sonar.coverage.exclusions=src/generated/*

ตามที่คุณเห็น ฉันได้บอกอย่างชัดเจนให้ยกเว้นไฟล์ใด ๆ ภายใต้ src/generated/

(ใน .gitignore ของฉัน ฉันยังได้เพิ่มเส้นทาง src/generated/ ไว้ด้วย)

แต่เมื่อฉันรัน sonar scanner ภายใต้รากโครงการของฉัน: sonar-scanner -Dsonar.login=<MY_PROJECT_TOKEN>

เอาต์พุตของคอนโซลประกอบด้วยข้อมูลดังต่อไปนี้:

...
INFO: Project configuration:
INFO:   Included sources: src/**/*
INFO:   Excluded sources: src/generated/*
INFO:   Excluded sources for coverage: src/generated/*, 
...
...
WARN: Could not resolve 2 file paths in [/Users/john/Projects/myproject/coverage/lcov.info]
WARN: First unresolved path: src/generated/myfile.ts (Run in DEBUG mode to get full list of unresolved paths)

ดังที่คุณเห็นด้านบน บันทึกแสดงให้ฉันเห็นว่า Sonar ตรวจพบการกำหนดค่าของโครงการเพื่อยกเว้น src/generated/* แต่หลังจากนั้นมันก็ให้คำเตือน:

WARN: First unresolved path: src/generated/myfile.ts

ทำไม SonarQube ถึงไม่ยกเว้นไฟล์ภายใต้ src/generated แต่กลับให้คำเตือนที่นั่นแม้ว่าจะดูเหมือนว่า Sonar ตรวจพบการกำหนดค่าโครงการแล้ว? จะกำจัดคำเตือนนี้ได้อย่างไร?

=== tsconfig.json ===

ฉันก็สงสัยเช่นกันว่ามันเกี่ยวข้องกับ tsconfig.json หรือไม่? ดังนั้น ฉันจึงลองเพิ่ม:

"exclude": ["src/generated/*"]

ปัญหาเดียวกันยังคงมีอยู่...

บทความที่เกี่ยวข้อง