Skip to content

Commit 5ae5f4f

Browse files
committed
Merge branch 'khoreva/develop' into develop
2 parents 1ce35ba + 5227b7e commit 5ae5f4f

File tree

101 files changed

+7159
-4896
lines changed

Some content is hidden

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

101 files changed

+7159
-4896
lines changed

.gitignore

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
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/
13+
embedded_plugins/*.ospx
14+
src/cmd/oscript.cfg

.travis.yml

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

.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+
}

TODO

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[] Добавить чистку кеша Хранилища 1С по отдельному флагу (или подключаемому плагину)
2+
[] Команда all
3+
[] Чтение файла формата json
4+
[] Чтение файла формата yaml
5+
[] Чтение файла формата xml для совместимости???
6+
[] Описать интерфейс подписчиков отдельно
7+
[] Сделать получение ИнтерфейсаПодписчика - автоматическим из класса МенеджерПодписок после реализации https://github.com/khorevaa/reflector/issues/7

bin/.gitkeep

Whitespace-only changes.

bin/zlib1.dll

-58.5 KB
Binary file not shown.

build_packagedef

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
#Использовать logos
2+
#Использовать fs
3+
Перем Лог;
4+
5+
Процедура ПередСборкой(Знач РабочийКаталог) Экспорт
6+
7+
ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules"));
8+
9+
Лог.Информация("Установка локальных зависимостей библиотек");
10+
КомандаOpm = Новый Команда;
11+
12+
КомандаOpm.УстановитьКоманду("opm");
13+
КомандаOpm.ДобавитьПараметр("install -l");
14+
15+
КодВозврата = КомандаOpm.Исполнить();
16+
17+
Если КодВозврата <> 0 Тогда
18+
ВызватьИсключение КомандаOpm.ПолучитьВывод();
19+
КонецЕсли;
20+
21+
КомандаOpm = Новый Команда;
22+
КомандаOpm.УстановитьКоманду("opm");
23+
КомандаOpm.ДобавитьПараметр("run install-opm");
24+
25+
КодВозврата = КомандаOpm.Исполнить();
26+
27+
Если КодВозврата <> 0 Тогда
28+
ВызватьИсключение КомандаOpm.ПолучитьВывод();
29+
КонецЕсли;
30+
31+
Лог.Информация("Настройка локальных библиотек");
32+
33+
ПутьКФайлуЗагрузчику = ОбъединитьПути(РабочийКаталог, "oscript_modules", "package-loader.os");
34+
ШаблонныйФайлЗагрузчик = ОбъединитьПути(РабочийКаталог, "templates", "package-loader.os");
35+
ФайлЗагрузчик = Новый Файл(ПутьКФайлуЗагрузчику);
36+
Если Не ФайлЗагрузчик.Существует() Тогда
37+
КопироватьФайл(ШаблонныйФайлЗагрузчик, ПутьКФайлуЗагрузчику);
38+
Лог.Информация("Добавлен файл загрузки локальных библиотек");
39+
КонецЕсли;
40+
41+
ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg");
42+
ШаблонныйФайлНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "templates", "oscript.cfg");
43+
ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта);
44+
Если Не ФайлНастройкиСкрипта.Существует() Тогда
45+
КопироватьФайл(ШаблонныйФайлНастройкиСкрипта, ПутьКФайлуНастройкиСкрипта);
46+
Лог.Информация("Добавлен файл настройки запуска");
47+
КонецЕсли;
48+
49+
КомандаOpm = Новый Команда;
50+
КомандаOpm.УстановитьКоманду("opm");
51+
КомандаOpm.ДобавитьПараметр("run get-plugins");
52+
53+
КодВозврата = КомандаOpm.Исполнить();
54+
55+
Если КодВозврата <> 0 Тогда
56+
ВызватьИсключение КомандаOpm.ПолучитьВывод();
57+
КонецЕсли;
58+
59+
Лог.Информация("Настройка локальных библиотек");
60+
61+
КонецПроцедуры
62+
63+
Процедура ПриСборке(Знач РабочийКаталог, Знач АрхивПакета) Экспорт
64+
65+
КонецПроцедуры
66+
67+
Процедура ПослеСборки(Знач РабочийКаталог, Знач ПутьКФайлуПакета) Экспорт
68+
69+
ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg");
70+
ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта);
71+
Если ФайлНастройкиСкрипта.Существует() Тогда
72+
УдалитьФайлы(ПутьКФайлуНастройкиСкрипта);
73+
КонецЕсли;
74+
75+
ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules"));
76+
77+
КонецПроцедуры
78+
79+
Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы());
80+
81+
Описание.Имя("gitsync")
82+
.Версия("3.0.0-beta")
83+
.ВерсияСреды("1.0.20")
84+
.ВключитьФайл("src")
85+
.ВключитьФайл("embedded_plugins")
86+
.ВключитьФайл("oscript_modules")
87+
.ВключитьФайл("docs")
88+
.ВключитьФайл("readme.md")
89+
.ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os")
90+
.ОпределяетКласс("УправлениеПлагинами", "src/core/Классы/УправлениеПлагинами.os")
91+
.ИсполняемыйФайл("src/cmd/gitsync.os");

config-example.json

Lines changed: 61 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,63 @@
1-
{
2-
"gitsync-options": {
3-
"global": {
4-
"email-domain": "server.com",
5-
"v8-version": "8.3.10",
6-
"git-executable": "git"
7-
},
8-
"repositories": [
9-
{
10-
"name": "test",
11-
"git-local-path": "Путь",
12-
"git-remote": "адрес2",
13-
"v8-storage-dir": "каталог2",
14-
"process-fatform-modules": "on",
15-
"push-every-n-commits": 5,
16-
"auto-set-tags": "on",
17-
"stop-if-empty-comment": "on",
18-
"check-authors": "on"
19-
},
20-
{
21-
"name": "test2",
22-
"git-local-path": "Путь2",
23-
"git-remote": "адрес2",
24-
"v8-storage-dir": "каталог2",
25-
"process-fatform-modules": "on",
26-
"push-every-n-commits": 5,
27-
"auto-set-tags": "on",
28-
"stop-if-empty-comment": "on",
29-
"check-authors": "on",
30-
"email-domain": "server2.com",
31-
"v8-version": "8.3.7",
32-
"git-executable": "git"
33-
1+
{
2+
"gitsync-options":
3+
{
4+
"global":
5+
{
6+
"-email": "server.com",
7+
"-v8version": "1cv8.exe",
8+
"-plugins":
9+
[
10+
"pull",
11+
"push",
12+
"vendorUpload",
13+
"smart-tags",
14+
"increment"
15+
],
16+
"flags":
17+
{
18+
"-limit": 5,
19+
"--storage-user": "Администратор"
20+
}
21+
},
22+
"repositories" : [
23+
{
24+
"name" : "test",
25+
"git-local-path": "путь1",
26+
"git-remote": "адрес1",
27+
"v8-storage-dir": "каталог1",
28+
"-plugins":
29+
[
30+
"pull",
31+
"push",
32+
"vendorUpload",
33+
"smart-tags",
34+
"increment"
35+
]
36+
,
37+
"flags": {
38+
"-limit": 5,
39+
"--storage-user": "Администратор"
40+
}
41+
},
42+
{
43+
"name" : "test2",
44+
"git-local-path": "путь2",
45+
"git-remote": "адрес2",
46+
"v8-storage-dir": "каталог2",
47+
"-plugins":
48+
[
49+
"pull",
50+
"push",
51+
"vendorUpload",
52+
"smart-tags",
53+
"increment"
54+
]
55+
,
56+
"flags": {
57+
"-limit": 5,
58+
"--storage-user": "Администратор"
59+
}
3460
}
35-
]
61+
]
3662
}
37-
}
63+
}

create-new-plugin.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Описание создания своего плагина для `gitsync`
2+
===============
3+
4+
<!-- TOC insertAnchor:true -->
5+
6+
7+
<!-- /TOC -->
8+
9+
> Документация в разработке
10+
11+
<!-- TODO: Подготовить документацию -->

docs/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Описание публичного интерфейса библиотеки `gitsync`
2+
=========
3+
4+
<!-- TOC insertAnchor:true -->
5+
6+
7+
<!-- /TOC -->
8+
9+
> Документация в разработке
10+
11+
<!-- TODO: Подготовить документацию -->

0 commit comments

Comments
 (0)