如何解决SonarScanner 错误“文件中的行超出范围”
所以我正在正常地做我的 django 项目,然后,当我重构 formulas.py 中的函数名称时,我突然从我的 SonarScanner 中得到了这个错误(仅此而已,我没有调整我的 sonar.properties 或我的 ci.yml 文件):
java.lang.IllegalStateException: Line 308 is out of range in the file dietela_quiz/formulas.py (lines: 306)
然后我决定添加更多空格,使其达到 308 行,但从那时起,错误仍然存在,并且当我添加更多空格甚至创建了一个虚拟函数(以合法地增加文件长度)时,错误模式是建立这样的:
java.lang.IllegalStateException: Line n+1 is out of range in the file dietela_quiz/formulas.py (lines: n)
其中 n 是 formulas.py 中的实际行数
这是我的 yml 文件:
stages:
- test
- sonar-scanner
- deploy
UnitTest:
image: python:3.6.5
stage: test
before_script:
- pip install -r requirements.txt
- python manage.py makemigrations
- python manage.py migrate
- python manage.py collectstatic --no-input
- python manage.py runserver 8000 &
when: on_success
script:
- echo "Starting linter..."
- sh linter.sh
- echo "Starting tests..."
- coverage erase
- DATABASE_URL=$TEST_DATABASE_URL coverage run --include="./dietela_quiz/*","./nutritionists/*","./dietela_program/*" manage.py test --keepdb
- coverage xml -i
- coverage report -m
artifacts:
paths:
- coverage.xml
SonarScanner:
image:
name: addianto/sonar-scanner-cli:latest
entrypoint: [""]
stage: sonar-scanner
script:
- sonar-scanner
-Dsonar.host.url=https://pmpl.cs.ui.ac.id/sonarqube
-Dsonar.login=$SONARQUBE_TOKEN
-Dsonar.branch.name=$CI_COMMIT_REF_NAME
-Dsonar.projectKey=$SONARQUBE_PROJECT_KEY
DeploymentStaging:
image: ruby:2.4
stage: deploy
before_script:
- gem install dpl
- wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh
script:
- dpl --provider=heroku --app=$HEROKU_APPNAME --api-key=$HEROKU_APIKEY
- export HEROKU_API_KEY=$HEROKU_APIKEY
- heroku run --app $HEROKU_APPNAME migrate
environment:
name: staging
url: $HEROKU_APP_HOST
only:
- staging
我该怎么办?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。