Skip to content

Commit f943c1c

Browse files
committed
Первичное копирование из vanessa-behavior2 2.0.95 vanessa-opensource#1
eb7db9f80b15f14495336d82676ac8bd4788c798 [eb7db9f]
1 parent afd2108 commit f943c1c

File tree

2,775 files changed

+383137
-0
lines changed

Some content is hidden

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

2,775 files changed

+383137
-0
lines changed

.dockerignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
build/ib*
2+
build/out

.gitattributes

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
renames.txt eol=crlf
2+
*.bsl eol=crlf
3+
Form.bin binary

.github/CONTRIBUTING.md

+170
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
# Коллективное участие в проекте
2+
3+
> постоянно наполняемый FAQ для "контрибьюторов"
4+
5+
## Прежде чем создавать задачи `GitHub`
6+
7+
* старайтесь ознакомиться с документацией по проекту с помощью поиска
8+
* старайтесь ознакомиться с уже имеющимися задачами с помощью поиска, включая закрытые задачи
9+
* ознакомьтесь с каталогом features для понимания уже существующего и стабильного функционала
10+
* будьте в курсе изменений по проекту
11+
* нажмите watch и star чтобы получать оповещения об изменениях
12+
13+
### Старайтесь создавать задачи в формате `BDD`
14+
15+
* если вы нашли "недочёт" (bug)
16+
17+
```
18+
Дано <имею версию проекта>
19+
И <версию операционной системы>
20+
И <версию 1С предприятия>
21+
И <параметры совместимости конфигурации>
22+
```
23+
24+
* если хочется добавить новый функционал (enhancement)
25+
26+
```
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+
* приоретизация и порядок доработки остаются на усмотрение команды SilverBulleters, LLC
53+
54+
однако это можно изменить 3-мя способами:
55+
56+
### Pull-request
57+
58+
если вы разработчик
59+
60+
* Установите oscript, git и проверьте что данные находятся в переменной PATH, т.е. git, oscript, opm вызываются без указания полного пути в коммандной строке.
61+
* Дополнительно должен быть установлен пакет vanessa-runner, делать это надо в коммандной строке от имени администратора `opm install vanessa-runner`.
62+
63+
* сделайте `fork` репозитория
64+
* склонируйте репозитарий себе на машину ```git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/vanessa-behavior2.git ```
65+
* переходим в склонированный каталог `cd vanessa-behavior2` и выполняем несколько магических комманд
66+
```
67+
git remote add upstream https://github.com/silverbulleters/vanessa-behavior2.git
68+
git fetch upstream
69+
git checkout -b develop upstream/develop
70+
git pull upstream develop
71+
```
72+
* Если до этого не установили необходимые зависимости, необходимо в консоли от имени администратора перейти в папку `vanessa-behavior2` и запустить `opm install`. Результатом будет установленные пакеты необходимые для работы скриптов. Этот шаг необходимо сделать всего 1 раз.
73+
74+
* На основании ветки develop создаем новую ветку с номером задачи или кратким описанием
75+
```
76+
git checkout -b feature/issue-9999
77+
```
78+
* Для привычной разработки, необходимо инициализировать базовую базу данных для разработки и из исходников собрать epf файлы:
79+
```
80+
cd vanessa-behavior2
81+
opm run init
82+
```
83+
> ВНИМАНИЕ: команды `opm` необходимо выполнять в обычном виндовом cmd\far , но не в bash консоли, т.к. не сможет найти команду `opm`
84+
85+
* в случаи, если база уже была успешно проинициализирована, тогда можно просто запустить сборку обработок из новых данных:
86+
```opm run cepf```
87+
* в каталоге `vanessa-behavior2\build` добавьте новый `feature-файл`, если необходимо
88+
* отредактируйте при необходимости `vanessa-behavior2\build\vanessa-behavior.epf`
89+
* разработайте step проверки в `vanessa-behavior2\build\features\*`
90+
* после всех доработок можете запустить в каталоге проекта `opm run vanessa` для проверки в управляемых формах, что ничего не сломали из стандартного функционала.
91+
92+
* **При готовности зафиксировать изменения** необходимо теперь сделать обратную операцию в виде разборки *.epf на исходники.
93+
1. Массово, выполнить команду `opm run depf`, разбирать будет все обработки из `plugins, features, vendor, lib `
94+
> ВНИМАНИЕ: возможно будет долгая операция, т.к. скрипт найдет все epf файлы и попробует их разобрать на исходники
95+
96+
2. Что-бы ускорить обратную разборку, можно указать определенный каталог `opm run depf ./features/librares` разберет только `./build/features/librares` в `./features/librares`
97+
3. Вручную обработку отдельно: в конфигураторе открываем внешнюю обработку и в меню "Действия" -> "Выгрузить файлы", выбираем "Внешняя обработка в иерархическом формате" и указываем путь где будет она находиться.
98+
> Например: для ./build/vanessa-behavior.epf это путь в ./epf/ , для всех остальных каталогов это зеркальное ./build/feature - ./feature
99+
100+
* В гите проверить необходимые изменения и зафиксировать только их.
101+
> Внимание, платформа каждый раз меняет файлы Form.bin, даже если их не меняли. Не надо добавлять Form.bin в гит, если вы не изменяли толстые формы.
102+
103+
Привожу команды для программного добавления необходимых файлов
104+
* Смотрим какие файлы изменились `git status`
105+
106+
```
107+
Изменения, которые не в индексе для коммита:
108+
(используйте «git add <файл>…», чтобы добавить файл в индекс)
109+
(используйте «git checkout -- <файл>…», чтобы отменить изменения
110+
в рабочем каталоге)
111+
112+
изменено: epf/vanessa-behavior/VanessaBehavior/Forms/УправляемаяФорма/Ext/Form/Module.bsl
113+
114+
нет изменений добавленных для коммита
115+
(используйте «git add» и/или «git commit -a»)
116+
117+
```
118+
119+
120+
* Добавляем необходимые файлы в индекс `git add epf/vanessa-behavior/VanessaBehavior/Forms/УправляемаяФорма/Ext/Form/Module.bsl `
121+
* Фиксируем изменения с комментарием `git commit -m "Наш комментарий!"`
122+
123+
* Все эти шаги можно выполнять с какого-либо GUI клиента для git.
124+
* Отправьте изменения на github ```git push origin feature/issue-9999```
125+
* Сформируйте `pull-request` в интерфейсе github.
126+
127+
* реализуйте функционал или возьмите в работу какую-то задачу
128+
* обратите внимание - некоторые задачи могут иметь награду [DONATIONS.md](./DONATIONS.md)
129+
130+
131+
### Участие в архитектурных обсуждениях
132+
133+
если вы методолог или архитектор
134+
135+
* ознакомтесь с порядком участия в архитектурных обсуждениях http://vanessa.services/docs/advanced/arch-team
136+
* создайте обсуждение https://github.com/silverbulleters/vanessa-services/issues
137+
* участвуйте, обосновывайте, приводите примеры
138+
* используйте ТРИЗ для построения непротиворечивых решений
139+
140+
### Спонсорство по задаче
141+
142+
если вы бизнесмен или менеджер
143+
144+
* выдайте награду за любую из задач - нажав кнопку **"Post a bounty on it"**
145+
* ждите когда кто-нибудь из контрибьюторов выполнить задачу через `pull-request`
146+
* после проверки качества Ваша награда будет передана автоматически с помощью сервиса https://www.bountysource.com/teams/silverbulleters/issues контрибьютору
147+
148+
# BSD v3 License
149+
150+
Наша лицензия поощряет коллективное участие в разработке всего стэка продуктов `Vanessa Stack`, однако не поощряет использование брендов (с) `SilverBulleters`, `vanessa-stack`, `vanessa-behavior` и остальных для развития своих неофициальных имплементаций.
151+
Поэтому:
152+
153+
* используйте, дорабатывайте через концепцию `fork` и `pull-request` официальный продукт `silverbulleters/vanessa-behavior`
154+
* если вы хотите создать свой продукт на основе `vanessa-behavior`, это разрешено и не противоречит лицензии `BSD v3`
155+
* однако, если вы хотите использовать для рекламирования и продвижения своего продукта бренды ``"SilverBulleters"`` или ``"Vanessa Behavior"``, вам необходимо получить у нас разрешение на это, написав на адрес `[email protected]` или создать `Issue` на `GitHub`
156+
157+
Поэтому интернет-маркетологов просим быть осторожней при использовании символики `Vanessa` и `SilverBulleters`
158+
159+
160+
# CLA - лицензия на коллективное участие
161+
162+
Мы придерживаемся https://cla.github.com/agreement
163+
что означает Ваш вклад не нарушает никаких наших прав и не накладывает на нас никаких ограничений и обязательств.
164+
165+
# Если ничего не понятно
166+
167+
* используйте чат Gitter для того чтобы задать вопрос https://gitter.im/silverbulleters
168+
* запишитесь на практические занятия по правильной разработке 1С
169+
170+
```(c) SilverBulleter, LLC - последнее обновление: 07.09.2017```

.github/ISSUE_TEMPLATE.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
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+
20+
> Прикладывайте файлы скриншотов

.github/PULL_REQUEST_TEMPLATE.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
реализация #
2+
3+
сделанные изменения
4+
5+
-
6+
-
7+
-
8+
9+
@silverbulleters/collaborator - просьба прокомментировать и проверить

.gitignore

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
crowdin.yaml
2+
.vscode
3+
build/*
4+
.sonar/*
5+
.sonarl int/*
6+
log.txt
7+
env.json
8+
oscript_modules/
9+
*.ospx

.travis.yml

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
sudo: required
2+
3+
services:
4+
- docker
5+
6+
before_install:
7+
# Fetch base image and build new container
8+
- wget -nv --continue -O - $URL_TARCLIENT | xz -d | docker load
9+
#- wget --continue -O ./build/client32.tar.xz $URL_TARCLIENT
10+
#- xz -dc ./build/client32.tar.xz | docker load
11+
- docker pull wernight/ngrok
12+
- docker images | grep onec
13+
14+
script:
15+
- sudo docker run --detach -e XVFB_RESOLUTION=1920x1080x24 --volume="${PWD}":/home/ubuntu/code onec32/client:8.3.10.2466 client > /tmp/container_id
16+
- sudo docker ps && sleep 5
17+
- sudo docker run -d -p 4040:4040 --link "$(cat /tmp/container_id)":http wernight/ngrok ngrok http http:6080 > /tmp/container_idngrok
18+
- sleep 5 && echo $(curl -s http://127.0.0.1:4040/status | grep -P "http://.*?ngrok.io" -oh)"/vnc_auto.html"
19+
- sudo docker exec -u ubuntu "$(cat /tmp/container_id)" /bin/bash -c "cd /home/ubuntu/code; DISPLAY=:1.0 sudo opm install && sudo opm update -all"
20+
- sudo docker exec -u ubuntu "$(cat /tmp/container_id)" /bin/bash -c "cd /home/ubuntu/code; DISPLAY=:1.0 sudo opm run init"
21+
- sudo docker exec -u ubuntu "$(cat /tmp/container_id)" /bin/bash -c "cd /home/ubuntu/code; DISPLAY=:1.0 sudo opm build ./"
22+
# Clean up
23+
- sudo docker stop "$(cat /tmp/container_id)"
24+
- sudo docker stop "$(cat /tmp/container_idngrok )"
25+
- pushd ./build; sudo tar -czf ../vanessa-behavior.tar.gz ./vanessa-behavior.epf ./lib/ ./features/libraries ./vendor ./plugins ./locales; popd
26+
- pushd ./build; sudo zip -r ../vanessa-behavior.zip ./vanessa-behavior.epf ./lib/ ./features/libraries ./vendor ./plugins ./locales; popd
27+
28+
29+
notifications:
30+
email: true
31+
32+
deploy:
33+
provider: releases
34+
api_key:
35+
secure: "$APIPUBLISHKEY"
36+
file:
37+
- "vanessa-behavior.tar.gz"
38+
- "vanessa-behavior.zip"
39+
- "vanessa-behavior-*.ospx"
40+
file_glob: "true"
41+
skip_cleanup: true
42+
on:
43+
tags: true

BACKERS.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Поддержавшие проект
2+
3+
заполняется по данным https://salt.bountysource.com/teams/silverbulleters
4+
5+
как попасть в этот список, читайте [тут](./DONATIONS.md)
6+
7+
## Список поддержавших
8+
9+
> он ждет только Вас !!!
10+
11+
Большая благодарность:
12+
13+
* https://github.com/rozhkovdmitriy
14+
* https://github.com/Hissin

0 commit comments

Comments
 (0)