-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #7 from silverbulleters/develop
Релиз 0.1.0
- Loading branch information
Showing
11 changed files
with
570 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: Сборка | ||
|
||
on: | ||
push: | ||
branches: | ||
- develop | ||
- master | ||
pull_request: | ||
|
||
jobs: | ||
build: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
oscript_version: [1.4.0] | ||
os: [ubuntu-latest, windows-latest, macOS-latest] | ||
name: Сборка для ${{ matrix.oscript_version }} | ||
steps: | ||
- name: Последняя версия проекта | ||
uses: actions/checkout@v1 | ||
- name: Установка OneScript | ||
uses: otymko/setup-onescript@master | ||
with: | ||
version: ${{ matrix.oscript_version }} | ||
- name: Загрузка зависимостей | ||
run: opm install cli && opm install logos && opm install 1bdd && opm install 1testrunner && opm install asserts && opm install fs | ||
- name: Запуск тестов | ||
run: opm run test | ||
- name: Сборка | ||
run: opm build | ||
- name: Формирование артефактов | ||
if: matrix.os == 'ubuntu-latest' | ||
uses: actions/upload-artifact@master | ||
with: | ||
name: git2sonar.ospx | ||
path: ./git2sonar*.ospx |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
out | ||
build | ||
oscript_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,61 @@ | ||
# git2sonar | ||
# Git2Sonar - Выгрузка истории проекта GIT в SonarQube | ||
|
||
Загрузка истории проекта в SonarQube | ||
## Кратко о проекте | ||
|
||
Проект позволяет запустить анализ для SonarQube git-проекта по истории из git. Один из примеров использования | ||
- покоммитный анализ. | ||
|
||
## Пример использования | ||
|
||
Что нужно: | ||
* `OneScript` | ||
* Текущая библиотека | ||
* `SonarScanner` | ||
* Сервер `SonarQube` | ||
|
||
Порядок действий: | ||
1. Качаем Git-проект на 1C / OneScript для анализа | ||
2. Устанавливаем библиотеку `git2sonar`, если ее нет: | ||
``` | ||
opm install git2sonar | ||
``` | ||
3. Если в переменной среды `PATH` нет пути к SonarScanner - то добавляем. Для проверки в консоли должна работать | ||
команда `sonarscanner`. | ||
4. Выполняем команду: | ||
``` | ||
git2sonar export ... | ||
``` | ||
|
||
Например: | ||
|
||
```sh | ||
git2sonar export --project path/to/project --source src --key acc-export --url http://localhost:9000/ --token t_o_k_e_n --date 2020-01-01 --branch master | ||
``` | ||
где: | ||
* `--project` - путь до Git-проекта. | ||
* `--source` - каталог с исходными кодами внутри проекта. | ||
* `--key` - ключ проекта, по этому значению будет произведен поиск / создание проекта в SonarQube. | ||
* `--url` - адрес сервера SonarQube. | ||
* `--token` - токен доступа к SonarQube. | ||
* `--date` - дата последнего анализа, с этой даты будет отфильтрована история Git-проекта. | ||
* `--branch` - git ветка, из которой будут получены коммиты для анализа. | ||
|
||
## Ограничения | ||
|
||
* Анализируется только ветка `master` | ||
* SonarScanner должен быть прописан в переменных среды в `PATH` | ||
|
||
## Как вести разработку | ||
|
||
Используется: | ||
* Русский вариант синтаксиса | ||
* Тестирование (пока не опубликовано) | ||
* Разработка по `gitflow` | ||
|
||
Прежде чем `кодить` нужно: | ||
* Убедиться, что cуществует issue (или создать) | ||
* Обсудить идею с владельцем проекта | ||
|
||
## Лицензия | ||
|
||
Используется лицензия [MIT License](LICENSE) |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,22 @@ | ||
//////////////////////////////////////////////////////////// | ||
// Описание пакета для сборки и установки | ||
// Полную документацию см. на hub.oscript.io/packaging | ||
// | ||
ПутьКСценариюПараметров = ОбъединитьПути(ТекущийСценарий().Каталог, "src/cmd", "Модули", "ПараметрыПриложения.os"); | ||
ПараметрыСистемы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюПараметров); | ||
ИмяПродукта = НРег(ПараметрыСистемы_ЛокальнаяВерсия.ИмяПродукта()); | ||
ВерсияПродукта = ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта(); | ||
|
||
|
||
Описание.Имя(".") | ||
.Версия("1.0.0") | ||
.Автор("") | ||
.АдресАвтора("[email protected]") | ||
.Описание("Это очень хороший и нужный пакет программ") | ||
Описание.Имя(ИмяПродукта) | ||
.Версия(ВерсияПродукта) | ||
.Автор("SilverBulleters Team") | ||
.АдресАвтора("[email protected]") | ||
.Описание("Выгрузка истории проекта в SonarQube") | ||
.ВерсияСреды("1.0.21") | ||
.ВключитьФайл("src") | ||
.ВключитьФайл("doc") | ||
.ВключитьФайл("tasks") | ||
//.ВключитьФайл("tests") | ||
//.ВключитьФайл("features") | ||
//.ЗависитОт("package1", ">=2.0") | ||
//.ЗависитОт("package2", ">=1.1", "<2.0") | ||
//.ОпределяетКласс("УправлениеВселенной", "src/universe-mngr.os") | ||
//.ОпределяетМодуль("ПолезныеФункции", "src/tools.os") | ||
; | ||
.ВключитьФайл("tests") | ||
.ЗависитОт("cli", "0.9.8") | ||
.ЗависитОт("logos", "0.5") | ||
.ЗависитОт("1bdd", "1.10.0") | ||
.ЗависитОт("1testrunner", "1.8.0") | ||
.ЗависитОт("asserts", "1.3.0") | ||
.ЗависитОт("fs") | ||
.ИсполняемыйФайл("src/cmd/git2sonar.os", ИмяПродукта); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
#Использовать cli | ||
#Использовать "." | ||
#Использовать "../core" | ||
|
||
// Обработчик выполнения команды | ||
// | ||
// Параметры: | ||
// КомандаПриложения - КомандаПриложения - Выполняемая команда | ||
// | ||
Процедура ВыполнитьКоманду(Знач КомандаПриложения) Экспорт | ||
|
||
КомандаПриложения.ВывестиСправку(); | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ВыполнитьПриложение() | ||
ИмяПродукта = ПараметрыПриложения.ИмяПродукта(); | ||
ОписаниеПродукта = ПараметрыПриложения.ОписаниеПродукта(); | ||
Приложение = Новый КонсольноеПриложение(ИмяПродукта, ОписаниеПродукта); | ||
Приложение.Версия("v version", ПараметрыПриложения.ВерсияПродукта()); | ||
Приложение.УстановитьОсновноеДействие(ЭтотОбъект); | ||
Приложение.ДобавитьКоманду("e export", "Экспорт истории проекта в SonarQube", Новый КомандаExport); | ||
Приложение.Запустить(АргументыКоманднойСтроки); | ||
КонецПроцедуры | ||
|
||
Попытка | ||
ВыполнитьПриложение(); | ||
Исключение | ||
Сообщить(ОписаниеОшибки()); | ||
КонецПопытки; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#Использовать "../../core" | ||
|
||
Процедура ОписаниеКоманды(Команда) Экспорт | ||
|
||
Команда.Опция("project", "", "Путь к каталогу проекта Git") | ||
.ТСтрока() | ||
.Обязательный(Истина); | ||
|
||
Команда.Опция("source", "", "Каталоги исходных кодов") | ||
.ТСтрока() | ||
.Обязательный(Истина); | ||
|
||
Команда.Опция("key", "", "Ключ проекта SonarQube") | ||
.ТСтрока() | ||
.ВОкружении("GIT2SONAR_PROJECT_KEY") | ||
.Обязательный(Истина); | ||
|
||
Команда.Опция("url", "", "Адрес сервера SonarQube") | ||
.ТСтрока() | ||
.ВОкружении("GIT2SONAR_URL") | ||
.Обязательный(Истина); | ||
|
||
Команда.Опция("token", "", "Токен авторизации SonarQube") | ||
.ТСтрока() | ||
.ВОкружении("GIT2SONAR_TOKEN") | ||
.Обязательный(Истина); | ||
|
||
Команда.Опция("date", ТекущаяДата(), "Дата последнего анализа. По умолчанию используется текущая дата") | ||
.ТДата() | ||
.ВОкружении("GIT2SONAR_DATE") | ||
.Обязательный(Истина); | ||
|
||
Команда.Опция("branch", "master", "Git ветка проекта") | ||
.ТСтрока() | ||
.ВОкружении("GIT2SONAR_BRANCH"); | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ВыполнитьКоманду(Знач Команда) Экспорт | ||
|
||
НастройкиЗапуска = Новый Структура; | ||
НастройкиЗапуска.Вставить("ПутьДоКаталогаПроекта", Команда.ЗначениеОпции("project")); | ||
НастройкиЗапуска.Вставить("КаталогиИсходныхКодов", Команда.ЗначениеОпции("source")); | ||
НастройкиЗапуска.Вставить("КлючПроекта", Команда.ЗначениеОпции("key")); | ||
НастройкиЗапуска.Вставить("АдресСонара", Команда.ЗначениеОпции("url")); | ||
НастройкиЗапуска.Вставить("ТокенСонара", Команда.ЗначениеОпции("token")); | ||
НастройкиЗапуска.Вставить("ДатаАнализа", Команда.ЗначениеОпции("date")); | ||
НастройкиЗапуска.Вставить("ВеткаПроекта", Команда.ЗначениеОпции("branch")); | ||
|
||
НастройкиЗапуска.ДатаАнализа = УправлениеАнализом.ДатаДляИстории(НастройкиЗапуска.ДатаАнализа); | ||
|
||
Отказ = УправлениеАнализом.ВходящиеНастройкиКомандыУказаныКорректно(НастройкиЗапуска); | ||
Если Отказ Тогда | ||
Возврат; | ||
КонецЕсли; | ||
|
||
ПараметрыПриложения.Логирование().Отладка("Проект: " + НастройкиЗапуска.ПутьДоКаталогаПроекта); | ||
ПараметрыПриложения.Логирование().Отладка("Каталог исходных кодов: " + НастройкиЗапуска.КаталогиИсходныхКодов); | ||
ПараметрыПриложения.Логирование().Отладка("Ключ проекта: " + НастройкиЗапуска.КлючПроекта); | ||
ПараметрыПриложения.Логирование().Отладка("Адрес SonarQube: " + НастройкиЗапуска.АдресСонара); | ||
ПараметрыПриложения.Логирование().Отладка("Токен SonarQube: " + НастройкиЗапуска.ТокенСонара); | ||
ПараметрыПриложения.Логирование().Отладка("Дата последнего анализа: " + НастройкиЗапуска.ДатаАнализа); | ||
ПараметрыПриложения.Логирование().Отладка("Ветка проекта: " + НастройкиЗапуска.ВеткаПроекта); | ||
|
||
УправлениеАнализом.ЗапуститьМассовыйАнализ(НастройкиЗапуска); | ||
|
||
КонецПроцедуры |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
#Использовать logos | ||
|
||
Перем Лог; | ||
|
||
// ВерсияПродукта | ||
// Возвращает текущую версию продукта | ||
// | ||
// Возвращаемое значение: | ||
// Строка - Значение текущей версии продукта | ||
// | ||
Функция ВерсияПродукта() Экспорт | ||
|
||
Возврат "0.1.0"; | ||
|
||
КонецФункции // ВерсияПродукта | ||
|
||
// ИмяПродукта | ||
// Возвращает имя продукта | ||
// | ||
// Возвращаемое значение: | ||
// Строка - Значение имени продукта | ||
// | ||
Функция ИмяПродукта() Экспорт | ||
|
||
Возврат "git2sonar"; | ||
|
||
КонецФункции // ИмяПродукта | ||
|
||
// Форматирование логов | ||
// См. описание метода "УстановитьРаскладку" библиотеки logos | ||
// | ||
Функция Форматировать(Знач Уровень, Знач Сообщение) Экспорт | ||
|
||
Возврат СтрШаблон("%1: %2 - %3", ТекущаяДата(), УровниЛога.НаименованиеУровня(Уровень), Сообщение); | ||
|
||
КонецФункции | ||
|
||
// ИмяЛогаСистемы | ||
// Возвращает идентификатор лога приложения | ||
// | ||
// Возвращаемое значение: | ||
// Строка - Значение идентификатора лога приложения | ||
// | ||
Функция ИмяЛогаСистемы() Экспорт | ||
|
||
Возврат "oscript.app." + ИмяПродукта(); | ||
|
||
КонецФункции // ИмяЛогаСистемы | ||
|
||
Функция ОписаниеПродукта() Экспорт | ||
Возврат "Выгрузка истории проекта GIT в SonarQube"; | ||
КонецФункции | ||
|
||
Функция Логирование() Экспорт | ||
Возврат Лог; | ||
КонецФункции | ||
|
||
Лог = Логирование.ПолучитьЛог(ИмяЛогаСистемы()); |
Oops, something went wrong.