Skip to content

Commit 99b597b

Browse files
committed
Finish 3.0.0
# Conflicts: # .gitignore # features/ПростыеКоманды.feature # packagedef # sonar-project.properties # src/core/Классы/МенеджерСинхронизации.os # src/core/Модули/ПараметрыСистемы.os
2 parents 2f5875e + 463d820 commit 99b597b

File tree

158 files changed

+11702
-4741
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+11702
-4741
lines changed

.github/CONTRIBUTING.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# Коллективное участие в проекте
2+
3+
> постоянно наполняемый FAQ для "контрибьюторов"
4+
5+
## Прежде чем создавать задачи (issues) `GitHub`
6+
7+
* старайтесь ознакомиться с документацией по проекту с помощью поиска
8+
* старайтесь ознакомиться с уже имеющимися задачами с помощью поиска, включая закрытые задачи
9+
* ознакомьтесь с каталогом features для понимания уже существующего и стабильного функционала
10+
* будьте в курсе изменений по проекту
11+
* нажмите `watch` и `star`, чтобы получать оповещения об изменениях
12+
13+
### Старайтесь создавать задачи в формате `BDD`
14+
15+
* Формат описания, если вы нашли "недочёт" (bug)
16+
17+
```gherkin
18+
Дано <имею версию проекта>
19+
И <версию операционной системы>
20+
И <версию 1С предприятия>
21+
И <параметры совместимости конфигурации>
22+
```
23+
24+
* Формат описания, если хочется добавить новый функционал (enhancement)
25+
26+
```gherkin
27+
Функционал: <Краткое описание>
28+
Как <роль кому нужен функционал>
29+
Чтобы <цель того кому нужен данный функционал>
30+
```
31+
32+
## Как добавить функционал к проекту
33+
34+
мы используем [Example mapping](https://cucumber.io/blog/2015/12/08/example-mapping-introduction), поэтому:
35+
36+
* всё, что не имеет feature-файла - это просто вопрос или "вброс"
37+
* если существует feature-файл только с заголовком - это предварительное требование
38+
* если в feature-файле есть Сценарии - это требование с правилами реализации
39+
* есть в Сценарии есть шаги - это требование с правилами и примерами
40+
41+
Соответственно, помимо задач, можно использовать концепцию
42+
43+
* git-flow - коллективная разработка с помощью github
44+
* pull-request - для черновиков функционала используется каталог ```.\features\drafts```
45+
46+
### Процесс коллективной разработки
47+
48+
в соответствии с принципами Agile и Open-Source мы используем
49+
50+
* итеративный подход к разработке
51+
* первоначально мы решаем недочёты, а уже затем дорабатываем функционал
52+
* приоретизация и порядок доработки остаются на усмотрение команды oscript-library
53+
54+
однако это можно изменить 3-мя способами:
55+
56+
### Pull-request
57+
58+
#### Первичная настройка
59+
60+
если вы разработчик
61+
62+
* Установите `oscript`, `git` и проверьте, что данные находятся в переменной `PATH`,
63+
* т.е. `git, oscript, opm` вызываются без указания полного пути в коммандной строке.
64+
65+
* сделайте `fork` репозитория
66+
* склонируйте репозитарий себе на машину ```git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/gitsync.git ```
67+
* переходим в склонированный каталог через `cd gitsync` и выполняем несколько магических комманд
68+
```
69+
git remote add upstream https://github.com/oscript-library/gitsync.git
70+
git fetch upstream
71+
git checkout -b develop upstream/develop
72+
git pull upstream develop
73+
```
74+
* Далее нужно установить необходимые зависимости:
75+
* в консоли от имени администратора перейти в папку `gitsync` и запустить `opm install`.
76+
* Результатом будет установленные пакеты, необходимые для работы скриптов.
77+
* Этот шаг необходимо сделать всего 1 раз.
78+
79+
> ВНИМАНИЕ: команды `opm` необходимо выполнять в обычном виндовом `cmd\far` , но не в bash-консоли, т.к. не сможет найти команду `opm`
80+
81+
#### Штатная разработка/доработка
82+
83+
##### Выбор задачи и предварительная подготовка
84+
85+
* реализуйте функционал или возьмите в работу какую-то задачу
86+
87+
* На основании ветки develop создаем новую ветку с номером задачи или кратким описанием
88+
* Например, `feature/issue-9999`
89+
```
90+
git checkout -b feature/issue-9999
91+
```
92+
93+
> Напоминаем, что все шаги git можно выполнять как из консоли git, так и из графического клиента для git (SourceTree, GitExtensions и т.п.)
94+
95+
##### Изменения в плагинах/фичах/шагах/тестах
96+
97+
* в каталоге `gitsync/features` добавьте новый `feature-файл`, если необходимо
98+
* в каталоге ./src реализуйте требуемый функционал
99+
* или прогоните тесты `opm run test`
100+
101+
* **При готовности зафиксировать изменения**
102+
103+
* В гите проверить необходимые изменения в исходниках и зафиксировать только их.
104+
105+
Команды для программного добавления необходимых файлов в git
106+
107+
* Смотрим, какие файлы изменились - `git status`
108+
109+
```
110+
Изменения, которые не в индексе для коммита:
111+
(используйте «git add <файл>…», чтобы добавить файл в индекс)
112+
(используйте «git checkout -- <файл>…», чтобы отменить изменения
113+
в рабочем каталоге)
114+
115+
изменено: src/cmd/ПараметрыПриложения.os
116+
117+
нет изменений добавленных для коммита
118+
(используйте «git add» и/или «git commit -a»)
119+
```
120+
121+
##### Отправка изменений
122+
123+
* Добавляем необходимые файлы в индекс
124+
* `git add src/cmd/ПараметрыПриложения.os `
125+
* Фиксируем изменения с комментарием `git commit -m "Наш комментарий!"`
126+
127+
* Отправляем все изменения своей ветки на github ```git push origin feature/issue-9999```
128+
* Далее формируем `pull-request` в [интерфейсе github](https://github.com/oscript-library/gitsync/pulls)
129+
130+
### Участие в архитектурных обсуждениях
131+
132+
если вы методолог или архитектор
133+
134+
* сделайте свой первый `pull-request`, в том числе в документацию
135+
* создайте обсуждение https://github.com/oscript-library/gitsync/issues с описанием противоречия
136+
* участвуйте, обосновывайте, приводите примеры
137+
* используйте ТРИЗ для построения непротиворечивых решений
138+
139+
### Enterprise-поддержка
140+
141+
если вы бизнесмен или менеджер
142+
143+
* обратитесь по адресу `[email protected]`
144+
* заключите контракт на Enterprise-поддержку с гарантией по SLA и c контролем NPS
145+
* публикуйте любые запросы на доработку и консультацию - они будут выполнены или по ним будет выдан ответ в первом приоритете
146+
* на данный момент за последние год мы поддерживаем следующие медианы:
147+
* время реакции - 24 минуты,
148+
* время решения - 23 часа
149+
150+
# Если ничего не понятно
151+
152+
* используйте [форум XDD](https://xdd.silverbulleters.org) для того, чтобы задать вопрос
153+
* запишитесь на практические занятия по правильной разработке 1С
154+
155+
```(c) oscript-library - последнее обновление: 14.01.2019```

.github/ISSUE_TEMPLATE.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
> Заполните шаблон обсуждения GIT (GitHub, GitLab, Vanessa Hub)
2+
3+
```Gherkin
4+
Функционал: <Необходимый эффект>
5+
Как <роль пользователя>
6+
Я хочу <Необходимый функционал>
7+
8+
Контекст:
9+
Дано <версия инструментария>
10+
И <полная версия 1С>
11+
и <конфигурация запуска>
12+
13+
Сценарий: <ожидамое поведение>
14+
Допустим <Пример данных>
15+
Когда <Что-то нажимается или вызывается>
16+
Тогда <Что-то происходит>
17+
```
18+
19+
> Прикладывайте файлы скриншотов

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Сообщение об ошибке
3+
about: если вы выявили ошибку - сообщите нам об этом
4+
5+
---
6+
7+
**Описание ошибки**
8+
что конкретно происходит
9+
10+
**Сценарий воспроизведения**
11+
Шаги по воспроизведению:
12+
1. Открыть '...'
13+
2. Нажать '....'
14+
3. Запустить '....'
15+
4. Где ошибка
16+
17+
**Ожидаемое поведение если бы ошибки не было**
18+
'....'
19+
20+
**Скриншоты**
21+
если применимо приложите скриншот
22+
23+
**Окружение:**
24+
- Версия операционной системы: [например Ubuntu 18.04]
25+
- Редакция 1С платформы [например 8.3.12.1542]
26+
- Версия Gitsync [например 3.0.1]
27+
- Версия OScript [например 1.0.20]
28+
29+
**Дополнительный контекст**
30+
31+
Типовая или не типовая конфиугарация ? Включен ли режим защиты от опасных действий и т.д.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
name: Добавление новой функциональности
3+
about: предложение новой идеи или функциональности к разработке
4+
5+
---
6+
7+
**Существует проблема**
8+
Описание существующей проблемы [...]
9+
10+
**Хотелось бы иметь следующую функциональность**
11+
Вариант реализации [...]
12+
13+
**Дополнительный контекст**
14+
Любая дополнительная информация
15+
16+
<!---
17+
Заявление от команды активных контрибьюторов
18+
19+
Данный проект развивается силами нескольких людей последние 10 лет, разработка ведется на условиях краудсорсинга в связи с чем
20+
Если вы не собираетесь реализовывать данную функциональность сами, просьба идеи и предложения обсуждать на форуме в специализированном разделе https://xdd.silverbulleters.org/c/razrabotka или в рамках вашего контракта на поддержку OpenSource продуктов
21+
22+
-->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
реализация #
2+
3+
сделанные изменения:
4+
5+
-
6+
-
7+
8+
@oscript-library/Collaborators - пожалуйста, проверьте изменения и прокомментируйте их

.gitignore

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
1+
bin/*.exe
2+
tests/*.xml
13

2-
tests\.xml
4+
exec*.log
35

4-
exec\.log
6+
bdd-*.xml
57

6-
bdd-log\.xml
8+
.enabled-plugins
9+
coverage/*
710

811
*.ospx
912
oscript_modules/
10-
.scannerwork/
13+
tests/fixtures/gitsync-plugins/*
14+
embedded_plugins/*.ospx
15+
src/cmd/oscript.cfg
16+
17+
*.1CD.
18+
*.cfl
19+
*.1CL
20+
1cv8dtmp.1CD
21+
# tests/fixtures/extension_storage/data/
22+
# tests/fixtures/extension_storage/cache/
23+
# tests/fixtures/extension_storage/ver

.travis.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
language: generic
2+
3+
sudo: required
4+
5+
notifications:
6+
email: false
7+
8+
services:
9+
- docker
10+
11+
install:
12+
- docker pull harmit/ci-image
13+
14+
env:
15+
global:
16+
- GIT_EMAIL=ci@mail
17+
- GIT_NAME=ci
18+
- CHANNEL=dev
19+
- PACKAGE_NAME=gitsync
20+
matrix:
21+
- OSCRIPT_VERSION=1_0_20
22+
- OSCRIPT_VERSION=night-build
23+
matrix:
24+
allow_failures:
25+
- env: OSCRIPT_VERSION=night-build
26+
27+
script:
28+
- docker version
29+
- docker run -it -e OSCRIPT_VERSION=$OSCRIPT_VERSION -e GIT_EMAIL=$GIT_EMAIL -e GIT_NAME=$GIT_NAME -v $(pwd):/work_dir harmit/ci-image sh -c 'cd /work_dir; sh /work_dir/travis-ci.sh; exit' | tee /tmp/test.log
30+
- grep 'Результат прогона тестов <Да>' /tmp/test.log
31+
after_success:
32+
# - bash <(curl -s https://codecov.io/bash)
33+
- ./sonar-qube.sh
34+
35+
cache:
36+
directories:
37+
- '$HOME/.m2/repository'
38+
- '$HOME/.sonar/cache'
39+
jobs:
40+
include:
41+
- stage: Сборка и публикация github & hub.oscript.io
42+
script: skip
43+
before_deploy:
44+
- docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.0.19 sh -c 'cd /work_dir; opm build ./ ; exit'
45+
deploy:
46+
- provider: releases
47+
api_key: "$GITHUB_OAUTH_TOKEN"
48+
file_glob: true
49+
file: $PACKAGE_NAME*.ospx
50+
skip_cleanup: true
51+
on:
52+
branch: master
53+
tags: true
54+

.vscode/launch.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
// Используйте IntelliSense, чтобы узнать о возможных атрибутах.
3+
// Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов.
4+
// Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "Отладка 1Script",
9+
"type": "oscript",
10+
"request": "launch",
11+
"program": "${file}",
12+
"args": [],
13+
"cwd": "${workspaceRoot}",
14+
"runtimeExecutable": "/usr/bin/oscript",
15+
"debugPort": 2801,
16+
"protocol": "internal"
17+
}
18+
]
19+
}

bin/.gitkeep

Whitespace-only changes.

bin/tempExtension.cfe

3.63 KB
Binary file not shown.

bin/zlib1.dll

-58.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)