Skip to content

Commit acf7857

Browse files
committed
Первая реализация конвертации в Clover.xml
1 parent a32bb06 commit acf7857

16 files changed

+1040
-0
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
*.xml
2+
*.ospx
3+
4+
5+
coverage/*
6+
7+
.vscode/*

.travis.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
sudo: required
2+
language: generic
3+
4+
notifications:
5+
email: false
6+
env:
7+
global:
8+
- CHANNEL=dev
9+
- PACKAGE_NAME=coverage
10+
matrix:
11+
- OSCRIPT_VERSION=1_0_19
12+
- OSCRIPT_VERSION=1_0_20
13+
- OSCRIPT_VERSION=night-build
14+
matrix:
15+
allow_failures:
16+
- env: OSCRIPT_VERSION=night-build
17+
18+
services:
19+
- docker
20+
21+
addons:
22+
sonarqube: true
23+
24+
jdk:
25+
- oraclejdk8
26+
27+
before_install:
28+
# Load cached docker images
29+
- if [[ -d $HOME/docker ]]; then ls $HOME/docker/*.tar.gz | xargs -I {file} sh -c "zcat {file} | docker load"; fi
30+
31+
before_cache:
32+
# Save tagged docker images
33+
- >
34+
mkdir -p $HOME/docker && docker images -a --filter='dangling=false' --format '{{.Repository}}:{{.Tag}} {{.ID}}'
35+
| xargs -n 2 -t sh -c 'test -e $HOME/docker/$1.tar.gz || docker save $0 | gzip -2 > $HOME/docker/$1.tar.gz'
36+
37+
install:
38+
- docker pull evilbeaver/onescript:1.0.19
39+
40+
script:
41+
- docker version
42+
- docker run -it -e OSCRIPT_VERSION=$OSCRIPT_VERSION -v $(pwd):/work_dir evilbeaver/onescript:1.0.19 sh -c 'cd /work_dir; sh /work_dir/travis-ci.sh; exit' | tee /tmp/test.log
43+
- grep 'Результат прогона тестов <Да>' /tmp/test.log
44+
after_success:
45+
- bash <(curl -s https://codecov.io/bash) -f coverage/stat.json
46+
- ./sonar-qube.sh
47+
48+
cache:
49+
directories:
50+
- '$HOME/.m2/repository'
51+
- '$HOME/.sonar/cache'
52+
- '$HOME/docker'
53+
jobs:
54+
include:
55+
- stage: Сборка и публикация github & hub.oscript.io
56+
script: skip
57+
before_deploy:
58+
- docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.0.19 sh -c 'cd /work_dir; opm build ./ ; exit'
59+
deploy:
60+
- provider: releases
61+
api_key: "$GITHUB_OAUTH_TOKEN"
62+
file_glob: true
63+
file: $PACKAGE_NAME*.ospx
64+
skip_cleanup: true
65+
on:
66+
branch: master
67+
tags: true
68+
- provider: script
69+
skip_cleanup: true
70+
script: docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.0.19 sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel dev --file ./$PACKAGE_NAME-*.ospx; exit'
71+
on:
72+
branch: develop
73+
- provider: script
74+
skip_cleanup: true
75+
script: docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.0.19 sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel stable --file ./$PACKAGE_NAME-*.ospx; exit'
76+
on:
77+
branch: master
78+
tags: true

CHANGELOG.md

Whitespace-only changes.

features/build.feature

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# language: ru
2+
3+
Функционал: Проверка сборки продукта
4+
Как Пользователь
5+
Я хочу автоматически проверять сборку моего продукта
6+
Чтобы гарантировать возможность установку моего продукта у пользователей
7+
8+
Контекст: Отключение отладки в логах
9+
Допустим Я выключаю отладку лога с именем "oscript.lib.configor"
10+
И Я очищаю параметры команды "opm" в контексте
11+
12+
Сценарий: Выполнение команды без параметров
13+
Когда Я добавляю параметр "build ." для команды "opm"
14+
И Я выполняю команду "opm"
15+
Тогда Вывод команды "opm" содержит "Сборка пакета завершена"
16+
И Вывод команды "opm" не содержит "Внешнее исключение"
17+
И Код возврата команды "opm" равен 0
18+
19+
Сценарий: Сборка независимого приложения
20+
Когда Я добавляю параметр "build" для команды "opm"
21+
И Я добавляю параметр "." для команды "opm"
22+
И Я выполняю команду "opm"
23+
Тогда Вывод команды "opm" содержит "Сборка пакета завершена"
24+
И Вывод команды "opm" не содержит "Внешнее исключение"
25+
И Код возврата команды "opm" равен 0

packagedef

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
////////////////////////////////////////////////////////////
2+
// Описание пакета для сборки и установки
3+
// Полную документацию см. на hub.oscript.io/packaging
4+
//
5+
6+
Описание.Имя("coverage")
7+
.Версия("0.1.0")
8+
.Автор("Khorev Aleksey")
9+
.АдресАвтора("[email protected]")
10+
.Описание("Библиотека для конвертации в результата расчета покрытия тестами в различных форматах")
11+
.ВерсияСреды("1.0.19")
12+
.ВключитьФайл("src")
13+
//.ВключитьФайл("docs")
14+
//.ВключитьФайл("tests")
15+
.ЗависитОт("logos")
16+
.ЗависитОт("json")
17+
.ЗависитОт("asserts")
18+
//.ЗависитОт("tempfiles")
19+
.ОпределяетКласс("ГенераторОтчетаClover", "src/core/Классы/ГенераторОтчетаClover.os")
20+
//.ОпределяетКласс("КонструкторПараметров", "src/Классы/КонструкторПараметров.os")
21+
;

sonar-project.properties

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# must be unique in a given SonarQube instance
2+
sonar.projectKey=opensource-configor
3+
sonar.organization=sonar-opensource-add
4+
5+
# this is the name displayed in the SonarQube UI
6+
sonar.projectName=Enchanted config reader and writer for OScript
7+
8+
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
9+
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
10+
# If not set, SonarQube starts looking for source code from the directory containing
11+
# the sonar-project.properties file.
12+
13+
sonar.sources=./src
14+
15+
# Encoding of the source code. Default is default system encoding
16+
sonar.sourceEncoding=UTF-8
17+
18+
sonar.coverageReportPaths=coverage/genericCoverage.xml

sonar-qube.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
temp=`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`
2+
version=${temp##*|}
3+
4+
if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
5+
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
6+
sonar-scanner \
7+
-Dsonar.host.url=https://sonar.silverbulleters.org \
8+
-Dsonar.analysis.mode=issues \
9+
-Dsonar.github.pullRequest=$TRAVIS_PULL_REQUEST \
10+
-Dsonar.github.repository=$TRAVIS_REPO_SLUG \
11+
-Dsonar.github.oauth=$GITHUB_OAUTH_TOKEN \
12+
-Dsonar.login=$SONAR_TOKEN \
13+
-Dsonar.scanner.skip=false
14+
15+
elif [ "$TRAVIS_BRANCH" == "develop" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
16+
sonar-scanner \
17+
-Dsonar.host.url=https://sonar.silverbulleters.org \
18+
-Dsonar.login=$SONAR_TOKEN \
19+
-Dsonar.projectVersion=$version\
20+
-Dsonar.scanner.skip=false
21+
fi
22+
fi

sonarlint.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/silverbulleters/sonarqube-inject-vsc/master/schemas/sonarlint.json",
3+
"serverId": "SB",
4+
"projectKey": "opensource-cli"
5+
}

0 commit comments

Comments
 (0)