From fd8e4c4d3298aacce425e852223b927a046c185d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 09:57:05 +0300 Subject: [PATCH 01/76] =?UTF-8?q?=D0=9E=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 81b251a3..38afbbe7 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -17,7 +17,7 @@ Перем ГитРепозиторийСохр; // Объект.ГитРепозиторий // Определяем мин количество коммитов между разницей версии уже в git и в хранилище // для случаев, когда пересоздали хранилище и в гите находится версия 1234, а в хранилище 4, -// тогда вызываем исключение если разница в коммитах больше чем на эту велечину. +// тогда вызываем исключение если разница в коммитах больше чем на эту величину. Перем МинимальнаяРазницаМеждуКоммитамиНовогоХранилища; Перем ОбработчикПодписок; // Объект.МенеджерПодписок @@ -356,7 +356,7 @@ КаталогВыгрузки = ВременныеФайлы.СоздатьКаталог(); - Лог.Отладка("Каталог выгрузки <%1> для версии <%2>", КаталогВыгрузки , НомерВерсии); + Лог.Отладка("Каталог выгрузки <%1> для версии <%2>", КаталогВыгрузки, НомерВерсии); ОбработчикПодписок.ПередВыгрузкойКонфигурациюВИсходники(Конфигуратор, КаталогРабочейКопии, From 543c2e4ee428ae7f06581189f65873d2ab1d6edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 09:57:18 +0300 Subject: [PATCH 02/76] =?UTF-8?q?=D0=97=D0=B0=D0=B2=D0=B8=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BE=D0=B3=D0=BE=20configor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index 2ac7b97f..2e8f06c5 100644 --- a/packagedef +++ b/packagedef @@ -89,7 +89,7 @@ .ЗависитОт("reflector", "0.4.0") .ЗависитОт("opm", "0.15.3") .ЗависитОт("cli", "0.9.10") - .ЗависитОт("configor", "0.5.3") + .ЗависитОт("configor", "0.6.2") .ВключитьФайл("src") .ВключитьФайл("docs") .ВключитьФайл("embedded_plugins") From aa71fda81f560d82cb53de3e053c54045051f209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 10:35:55 +0300 Subject: [PATCH 03/76] =?UTF-8?q?fix=20#150=20=D0=94=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=20?= =?UTF-8?q?=D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=20ring.=20java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/readme.md b/readme.md index 646d0e12..834ee8cb 100644 --- a/readme.md +++ b/readme.md @@ -73,6 +73,11 @@ $ opm install -f <ПутьКФайлу> ## Особенности +## Требования + +* утилита `ring` и `java` - для работы с 1С старше версии > 8.3.11 + + ### Отличия от `gitsync` версий 2.x From cd29f0d4be31d36233ca3a8bf168c165f851397d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 11:10:19 +0300 Subject: [PATCH 04/76] =?UTF-8?q?=D0=92=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D0=B7=D0=B0=D0=B3?= =?UTF-8?q?=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D0=B2=D0=BE=20=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=83=D1=8E=20=D0=B1=D0=B0=D0=B7?= =?UTF-8?q?=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/tempExtension.cfe | Bin 0 -> 3587 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/tempExtension.cfe diff --git a/bin/tempExtension.cfe b/bin/tempExtension.cfe new file mode 100644 index 0000000000000000000000000000000000000000..97f7514377f4af6025996c5fc9bfa90221b2d156 GIT binary patch literal 3587 zcmeHJc{r3^8-EyMA4H z?25aFK#J~pMMY6nw>=Yuu`7U6i@`<*Kl{N703mF9IE@1UzJP5f{%fUw-2Y((_UVCA z+@psg2!5kS*4GkIbv;I4-|tjF1#kw`0VMzhr~x>@1&{}vK;#S{L4*V!6~GNd&S1<9 zoFxw+z=-NDRsmy*;JXVLSK2M+ukt6aD@LT%&i^g#hZ7>=~x8%^U7*C97cubLk zGt;;~z+l4$Y1f3e7%X9K0xe7YA=ok5b=Lsb)o+H%9@#MkJ`ysN_B#R+qvGY;D_ul- zlENtQdm?6h7H9dLhquS{^FwKh_XV?H1o1hwr6RTTXhSQp8y*WvpdlW@E97zP>(ipBTEmI^NaQs70UK z7?^TcpK(pdgWvdblLWQPJQ>sYv9x(8_N&``OGAhC>l}P+bHPBZ!bZ#YQJNN47QEq_ zX|=%5_Y;3!vcc9nqH-v#_tttykY2ru z`$tpv85D_YO`ZLS>!i}7;BT#}jd`a}f2Q4{6R#@VuYnVmD= zOI2aMEjCic*~0Y~q-|hw6zR>g^)p(g-+6uG{M<95@HzI8^$#BO*UgNGSL!rC0WVI# z@e@{L$bS;QkR*bs9w|mvnvw3JL=qxG%sk~QmY-}Otvtz<-GUsHugri#_y=??IY7Uw zKF#g0rAazQ7E9*yCLl1ZDRMM|V#!0i(K#!(cy_(4pw8*hl>C)^|9O7(*LV-j#Ssnt zst~xzw*^OnvbWMy@uOZqw?~-TosF+Tp;BJI;>nw_H0o9Due=qIrGAxDkIIv#6$D3Y z`FIH4WiGQ{;IC15 z$0;+;p7g1-ETAMx+-?@Jx+7Jk`=AQh#X2Z_?u{4Kz?zgI8*x@Vu!9olrLopY?T@_b za`XiR5Kem`)*4wvpmB0#T&#bZLlSVhXRLMzcUG>)XsYn-53Uve{$atI1`W*DI;p2~ zA=fEc0AI3QLY|nAtwOdWYVKX-`ibfy176c2`7vIYCng7_(sNWhC!J6px)IwmSvBbb zc`2UkY<-Su zl$>Xa!6p#TFg;Y&H!8%R7!OOWOV6$H3x7kTFo{Rof z*(<^Vt1`UM{3$ZO5Zs!BX^WcHdFilX5RiMuQkX-0MA$%weTrZ`WLZ}tX6VZz&>X}W zrYseF*NXX}O1Wl`dK*%5Tx~Nxj2m}i!q6h1n%2jbbtqL>`n~r=iEP-^d%w0S!_SW^ zc>c&gSn4P{owug>A%DF#n_BY*UU-jPf2q{b!tdu??y!EE2vZr_S*NVqLb~ofXU+Xj z*uGLI+f51n=+KGWpH&10lVfEWoOgBU=x4lT(Kg<ZQ6sCxM%y!X@L6cCnJvMb#HL(x_{6U8*;XM6N zM#vSesPhSW(zw`mJdNUBtYW)QC|JsyqW&B)KUT_Zpob;-W1-A*1nd5U=maHZXhd2t4T`m88L)F=$pDW2J6!! zk8iIQet@m}(3UIeMZeWDK7#P+CN;RRNcNVgPA7jRoByjHs*xh|TCRq7iy()8S-(#u&7x+EgB9pCef2nrQ%cb&coCwpW6- zC&e9_awMXzl4dLt?FWb(7LZJAzAE!`f_sFLl(fE;1bQ~%t=%SbuZsD=)VJX%I`qHL zGIdam6hZxR+SRBXEmHxN2?6Tbj+VLYj>_+B@R7-HiY$@t(fBx>o5^NfjG=HrtVJUjhf?4uLL#iWK#Wg zj^&u>HLFD4t~sI{cju)bt0rFJ0cTI}AqwJCt1Qd+>y7rw{%~G?9k5sUCx! z0!5tn@{F-BTa3?l^mQO%wDXCD_(W41-`dN;@75MCT?!c)ja<#-=131nmx3eh%AA^~ z#;&x~9xKTWRh89tjAeV{KPl6$m=Ny~CMuAQ4$JYYB;?5CL${o?)G?BzK)(WZ(y14l UMdh%uu=?O?_}_ZG|3k_D1CyR3ApigX literal 0 HcmV?d00001 From a438b52cc8025aeb0b62097288daa0cd141ce0ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 11:11:01 +0300 Subject: [PATCH 05/76] =?UTF-8?q?=D0=97=D0=B0=D0=BF=D0=B0=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tempExtension_Gitsync.os" | 34 ++++ ...320\271\320\273\320\276\320\262Gitsync.os" | 124 +++++++++++++++ ...320\271\320\273\320\276\320\262Gitsync.os" | 8 + tasks/pack.os | 149 ++++++++++++++++++ 4 files changed, 315 insertions(+) create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/tempExtension_Gitsync.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" create mode 100644 tasks/pack.os diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/tempExtension_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/tempExtension_Gitsync.os" new file mode 100644 index 00000000..0cdf0300 --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/tempExtension_Gitsync.os" @@ -0,0 +1,34 @@ + +/////////////////////////////////////////// +// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // +/////////////////////////////////////////// +// +// ФАЙЛ: +// + +// Возвращает версию запакованного файла +// +Функция Версия() Экспорт + Возврат "1.0.0"; +КонецФункции + +// Возвращает имя запакованного файла +// +Функция ИмяФайла() Экспорт + Возврат "tempExtension.cfe"; +КонецФункции + +// Возвращает хеш строку запакованного файла +// +Функция Хеш() Экспорт + Возврат "6E7209B96206088DEA5D372C40C4E64E"; +КонецФункции + +// Возвращает запакованные данные файла +// +Функция ДвоичныеДанные() Экспорт + ЗапакованныеДанные = "////fwACAAADAAAAAAAAAA0KMDAwMDAwMjQgMDAwMDAyMDAgN2ZmZmZmZmYgDQovAgAArgIAAP///3/7CAAAegkAAP///3+ZCwAA5AsAAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KMDAwMDAwNjAgMDAwMDAwNjAgN2ZmZmZmZmYgDQqg8q8gOUMCAKDyryA5QwIAAAAAADUAYgA5ADEANgA4AGMAZAAtAGEAOABiADQALQA0ADQANQBmAC0AYgA4AGYAMQAtADIANQA3AGYAMQA1ADgAMAAyAGQAMQAxAAAAAAANCjAwMDAwNjJlIDAwMDAwNjJlIDdmZmZmZmZmIA0KvVhLjiTHDd0L0CXa2yIQjCCDjK0vYgTjcwABWgkDyDsfw0fwRoAAw/AVek7iK/hldWX19EgzaqOMqW4kKqvIiBck3yOz/vPPf/+UL99/95NG4+pjUvcQEtFN4Zspq21WT3kyf7jUw7SNqZwO09iDmKdQkyKUkqSmi/Medtjxdd1yXNP9ni/pErNzaXNSFc8kuxjFaEypLh1iJpbiw+Xp+e/P//j4149/e/7148/Pvzz/6/nX51/46WWRpx9+fPqSBVyfLoy/2bHB2o3yZuzDvslXxqVpjcGp17ov+cP33908DqAfvnhNtxf9zuV8XVpOvatNUs4DR8uJPHDIzCNsTxtzyftWep/RAfzl/wX+BUBf3713lW9r5Klw+RTjtwZw1uLTnxA2S75n7zRiLJLsjaJYoWRdu0ms1VBK1xr5/wHI7zN7DdKB+Hp3Q71kaNlNaOk2kg72OQoaZeYxnXn0xTe/pz8/4d2B/390L4+5H3LxkP9j7vnB3R8Mnjzmro+518fc7TF3f8y9PZi5zzJ/LJFfWwX/5ekmQPzNhQdAXijdrNRImdroaBKroNcKTjTLamq1RxO/sTcNb8NaJq6jHL1WKVoNLKsp+kq96TxN9xJvjnBonodppV6GvZqa1bvp3iO1Qb4FAGwMAGDcTh3ac+Zp7ZQdRrferjS1T5KJNh2RhXpPay208aT5NFVrorXQGAur8gYAL4PWQLqidUXPvZlmGVJMnEYrTqITbXIyRgiWLN1yMK+baUlTVWaQCkOgd83o35ao86hz7BU5xmlqO+/eOkW2eh9M9O1gcjNtMeeundIAQtEc1NCjabY2NpbGxBCn6VJJ0jfVtYF1oDl0DEPUEJk8dx8y/G5qGIkGsl7tD1IgNWTMZrQnF9QAOlCPnqkA17TagOZcVZZnxyxDaQtGs9CgYGzScxQEwGKOMwLqLm61UqmrkySEwR1ViCa2Qpq2NM8I2BxTymzUR1eSliuFSiN2yat2bDr2zdTVhnRkHrwDAByZvCLFhq1y3QwOnli9qqWSF2GKSzgWY0os0UnnrMv7DvNz1dsYub46RvK7Jqrren2roAATlVyRpyIbWy+jJTbrzLX4KLetRxJNrS3iEg1rRqU2NdEePaWccrN7+Y3R5rbmZAPCI5VhajOTgQBhMZT1NMUeqdUd+E4PqmDw7Bt0wP4JUy2jNONVk44I7DGzdsTJcz4jcLAgeRJknHm3w67eJ5bbAK0DdefTaeuGd0uLXMEOKwvsTcDh9r55BdOiXhWBEXJP0AGw+OvUSZWnW0ZOkX9EBJs3RUmsaSjjgpi7nKa2cIPKcjxEnOoF2fkd9WJIsuTEtGuKF9MvUYeH2upxHBf1KhIFqOeiFRsfVwsE/NSZzV0ZMHcApkRSHAsj3hxHQQrnclfaUruvIkhvBxfBdwyCMyZ5iVUGmzWzO3c5xzQl4zj6kIIPYyjlSFF1t93TCaAWmBwpzm3lryuC585wx7ZI4aG0EFmoFLFgK+in9jvWqPi6o9S5yh+sigpF8LFgUXD966bbRZkdBLJAYkGy0FEpu84MuY/cTtOxBQmAJBWLe+Wm/bZyX0whsp4MiUL/QLASsotabYQHQCRh76yS76y4EWOV6ugOeCLs1xID8TtD1douok12i+h3TqTzsVJ8SC14rByrItmjZEKMQJI2W9Fau1W5jQNHaRRfthynRXsCA3EOh1SRQyljjchp3atorjVb+BG0CrnY0CxBGxiQJrRlxObagj4h9lwMVkJ7Rgb/O95BGCBcqods1dASn3O61LFyRo7waAofwIPQQD14pTIEIjdtvqIvKTglJBNJAXoD//pCWkf46N6hhPWs1g34bt3xtL0g9LoCnQMTQpS+Zgcl0rI36JXholCX1QU6lirGLMcI4rkpmyZMT+u30XcbpsfPBn0dmieMUEIhCR2x6K7oWNE/wQ+joiAOF4NYNwWHVwPx5wqFHiMDeuIfs6ABQ6z1CKajY7RA+1tjog9A66XzG/yrOns++l8uqJ7iBdG3TS0NXqUYsmWfRx9lZZATo14xBciUjhbnYH82dJLpUZNe13/5UQOfTqg3BrhyaIUxJilFVSRA6pHLXPoG0jVQ1+f024f/BQ0KMDAwMDAwNjAgMDAwMDAwNjAgN2ZmZmZmZmYgDQqg8q8gOUMCAKDyryA5QwIAAAAAADkAMgAwAGEAYQA1ADcAZAAtADUAMQAyAGMALQA0AGYAMgAwAC0AOABiADgAMgAtADIAMQBjAGIANwBmAGQANwBjAGQAZQA0AAAAAAANCjAwMDAwMDdjIDAwMDAwMjAwIDdmZmZmZmZmIA0KJYyxDQIxDEV7JJZIbUu2ScjdOHZCBkCiOqU4sQhjAFewQjIJKxBAT3rF09d/b6+FYb9b6Cv+i2AWUg0xY2BJ6IsQTjYJCieLJceUT76Ca7d+7Wtf27Pd28P9fkZ2wANvomKpoE4+oGdTVDpkpGA0q6RjYgYZ8/PFVaD6AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCjAwMDAwMDJjIDAwMDAwMDJjIDdmZmZmZmZmIA0KoPKvIDlDAgCg8q8gOUMCAAAAAABjAG8AbgBmAGkAZwBpAG4AZgBvAAAAAAANCjAwMDAwMGY4IDAwMDAwMjAwIDdmZmZmZmZmIA0KjY7NboIwAIDvJLwEV9qsrS3UAwfiMvkRo0w2PdKWIg4daIaI8cl22CPtFZaZPcCS7/Al3+X7/vy6ImAaV4IdcBeORngE0M00frknwMQYO1wqmHNBIaVMQ8E1hoS5GjOOiMIYCDtpJJoM0XkWqzLcxSsH932/Xk7XmK61fdiyWcCS2g/UatjNF60MiqdLTsLDS1TJ08k0Dd1Uk6xpk01ab7pnecz2711det7fhvWfDwucdZwmHzRcsmHB5+Jxw7ohr6Z7Nys9YI0JynPmKsgwkZBqgiAXnECCpXC1cqUqqAX8YTw5RiWSdnCpCpI+vPqtsw3igr15tx8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; + Возврат ЗапакованныеДанные; +КонецФункции + + diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" new file mode 100644 index 00000000..e39368fb --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" @@ -0,0 +1,124 @@ +#Использовать tempfiles + +#Область ПрограммныйИнтерфейс + +Функция ПолучитьПутьКФайлу(Знач ИмяФайла) Экспорт + + МенеджерЗапакованныхФайлов = Новый МенеджерЗапакованныхФайловGitsync; + ИндексФайлов = МенеджерЗапакованныхФайлов.ПолучитьИндексФайлов(); + + ИмяКлассаФайла = ИндексФайлов[ИмяФайла]; + + Если ИмяКлассаФайла = Неопределено Тогда + ВызватьИсключение СтрШаблон("Не удалось найти двоичные данные для файла <%1>", ИмяФайла); + КонецЕсли; + + КлассФайла = Новый (ИмяКлассаФайла); + + ПутьКФайлу = ""; + + НайтиФайлИлиРаспаковать(КлассФайла, ПутьКФайлу); + + Возврат ПутьКФайлу; + +КонецФункции + +Функция ПолучитьВременныйПутьКФайлу(Знач ИмяФайла) Экспорт + + МенеджерЗапакованныхФайлов = Новый МенеджерЗапакованныхФайловGitsync; + ИндексФайлов = МенеджерЗапакованныхФайлов.ПолучитьИндексФайлов(); + + ИмяКлассаФайла = ИндексФайлов[ИмяФайла]; + + Если ИмяКлассаФайла = Неопределено Тогда + ВызватьИсключение СтрШаблон("Не удалось найти двоичные данные для файла <%1>", ИмяФайла); + КонецЕсли; + + ФайлРаспаковки = Новый Файл(ИмяФайла); + + КлассФайла = Новый (ИмяКлассаФайла); + + ПутьКФайлу = ВременныеФайлы.НовоеИмяФайла(ФайлРаспаковки.Расширение); + + РаспаковатьДанные(ПутьКФайлу, КлассФайла); + + Возврат ПутьКФайлу; + +КонецФункции + +Функция ПолучитьХешФайла(Знач ИмяФайла) Экспорт + + МенеджерЗапакованныхФайлов = Новый МенеджерЗапакованныхФайловGitsync; + ИндексФайлов = МенеджерЗапакованныхФайлов.ПолучитьИндексФайлов(); + + ИмяКлассаФайла = ИндексФайлов[ИмяФайла]; + + Если ИмяКлассаФайла = Неопределено Тогда + ВызватьИсключение СтрШаблон("Не удалось найти двоичные данные для файла <%1>", ИмяФайла); + КонецЕсли; + + ФайлРаспаковки = Новый Файл(ИмяФайла); + + КлассФайла = Новый (ИмяКлассаФайла); + + Возврат КлассФайла.Хеш() + +КонецФункции + +#КонецОбласти + +#Область Упакованные_файлы + +Процедура РаспаковатьДанные(Знач ПутьКФайлу, КлассФайла) + + ДвоичныеДанные = Base64Значение(КлассФайла.ДвоичныеДанные()); + + ОбеспечитьКаталог(ПутьКФайлу); + + ДвоичныеДанные.Записать(ПутьКФайлу); + +КонецПроцедуры + +Функция ВычислитьХешФайла(Знач ПутьКФайлу) + + ХешФайла = Новый ХешированиеДанных(ХешФункция.MD5); + ХешФайла.ДобавитьФайл(ПутьКФайлу); + ХешСуммаСтрокой = ХешФайла.ХешСуммаСтрокой; + ХешФайла = Неопределено; + Возврат ХешСуммаСтрокой; + +КонецФункции + +Процедура НайтиФайлИлиРаспаковать(КлассФайла, ПутьКФайлу) + + ИмяФайла = КлассФайла.ИмяФайла(); + + ПутьКФайлу = ПолучитьПутьКВременномуФайлу(ИмяФайла); + + ВременныйФайл = Новый Файл(ПутьКФайлу); + + Если Не ВременныйФайл.Существует() + ИЛИ Не ВычислитьХешФайла(ПутьКФайлу) = КлассФайла.Хеш() Тогда + РаспаковатьДанные(ПутьКФайлу, КлассФайла); + КонецЕсли; + +КонецПроцедуры + +Функция ПолучитьПутьКВременномуФайлу(Знач ИмяФайла) + ПутьКФайлу = ОбъединитьПути(КаталогВременныхФайлов(), ".Gitsync", ИмяФайла); + Возврат ПутьКФайлу; +КонецФункции + +Процедура ОбеспечитьКаталог(ПутьККаталогу) + + ВременныйКаталог = Новый Файл(ПутьККаталогу); + + Если ВременныйКаталог.Существует() Тогда + Возврат; + КонецЕсли; + + СоздатьКаталог(ВременныйКаталог.Путь); + +КонецПроцедуры + +#КонецОбласти diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" new file mode 100644 index 00000000..61b6909c --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" @@ -0,0 +1,8 @@ +Функция ПолучитьИндексФайлов() Экспорт + + ИндексФайлов = Новый Соответствие; + ИндексФайлов.Вставить("tempExtension.cfe", "tempExtension_Gitsync"); + + Возврат ИндексФайлов; + +КонецФункции diff --git a/tasks/pack.os b/tasks/pack.os new file mode 100644 index 00000000..86c227a5 --- /dev/null +++ b/tasks/pack.os @@ -0,0 +1,149 @@ +Перем ИндексКлассов; +Перем КаталогBin; +Перем КаталогКлассов; +Перем ПрефиксКлассов; +Перем ИмяМенеджераФайлов; + +Процедура ВыполнитьЗапаковку() + + ТекущийКаталогЗадачи = ТекущийСценарий().Каталог; + + КаталогПроекта = Новый Файл(ОбъединитьПути(ТекущийКаталогЗадачи, "..")).ПолноеИмя; + + ПрефиксКлассов = "Gitsync"; + + КаталогКлассов = ОбъединитьПути(КаталогПроекта, "src", "core", ОбъединитьПути("Классы","internal","bindata","Классы")); + + КаталогBin = ОбъединитьПути(КаталогПроекта, "bin"); + + ИмяМенеджераФайлов = СтрШаблон("МенеджерЗапакованныхФайлов%1.os", ПрефиксКлассов); + + ИндексКлассов = Новый Соответствие; + ОбработатьКаталог(КаталогBin, "*.cfe"); + // ОбработатьКаталог(КаталогcTool_1CD, "*.exe"); + + ЗаписатьКлассИндексаЗапаковки(ИндексКлассов); + +КонецПроцедуры + +Процедура ЗаписатьКлассИндексаЗапаковки(ИндексКлассов) + + ТекстБлока = "Функция ПолучитьИндексФайлов() Экспорт + | + | ИндексФайлов = Новый Соответствие; + |"; + + ШаблонДобавленияВИндекс = " ИндексФайлов.Вставить(""%1"", ""%2"");"; + + Для каждого ДанныеКласса Из ИндексКлассов Цикл + + ТекстБлока = ТекстБлока + СтрШаблон(ШаблонДобавленияВИндекс, ДанныеКласса.Ключ, ДанныеКласса.Значение) + Символы.ПС; + + КонецЦикла; + + ТекстБлока = ТекстБлока + " + | Возврат ИндексФайлов; + | + |КонецФункции"; + + ФайлКлассаМенеджерЗапакованныхФайлов = ОбъединитьПути(КаталогКлассов, ИмяМенеджераФайлов); + + ЗаписьТекста = Новый ЗаписьТекста(ФайлКлассаМенеджерЗапакованныхФайлов); + ЗаписьТекста.ЗаписатьСтроку(ТекстБлока); + ЗаписьТекста.Закрыть(); + + Сообщить("Данные запакованы в классы"); + +КонецПроцедуры + +Процедура ОбработатьКаталог(Знач КаталогОбработки, Знач МаскаПоискаФайлов) + + МассивНайденныхФайлов = НайтиФайлы(КаталогОбработки, МаскаПоискаФайлов); + + Для каждого НайденныйФайл Из МассивНайденныхФайлов Цикл + + Если НайденныйФайл.ЭтоКаталог() Тогда + Продолжить; + КонецЕсли; + + ИмяФайла = СтрЗаменить(НайденныйФайл.ИмяБезРасширения, ".", "_"); + ПолныйПутьКФайлу = НайденныйФайл.ПолноеИмя; + + ИмяКлассаФайла = СтрШаблон("%1_%2", ИмяФайла, ПрефиксКлассов); + + ПутьКФайлуКласса = ОбъединитьПути(КаталогКлассов, ИмяКлассаФайла + ".os"); + ДанныеФайла = ПолучитBase64Строка(ПолныйПутьКФайлу); + ХешСтрока = ПолучитьХешСтроку(ПолныйПутьКФайлу); + + ЗаписатьКласс(ПутьКФайлуКласса, НайденныйФайл.Имя, "1.0.0", ХешСтрока, ДанныеФайла); + + ИндексКлассов.Вставить(НайденныйФайл.Имя, ИмяКлассаФайла); + + КонецЦикла; + + +КонецПроцедуры + +Функция ПолучитьХешСтроку(ПутьКФайлу) + + ХешФайла = Новый ХешированиеДанных(ХешФункция.MD5); + ХешФайла.ДобавитьФайл(ПутьКФайлу); + + Возврат ХешФайла.ХешСуммаСтрокой; + +КонецФункции + +Процедура ЗаписатьКласс(ПутьКФайлуКласса, ИмяФайла, ВерсияФайла, ХешСтрока, ДанныеФайла) + + ШаблонТекст = " + |/////////////////////////////////////////// + |// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // + |/////////////////////////////////////////// + |// + |// ФАЙЛ: <%1> + |// + | + |// Возвращает версию запакованного файла + |// + |Функция Версия() Экспорт + | Возврат ""%2""; + |КонецФункции + | + |// Возвращает имя запакованного файла + |// + |Функция ИмяФайла() Экспорт + | Возврат ""%1""; + |КонецФункции + | + |// Возвращает хеш строку запакованного файла + |// + |Функция Хеш() Экспорт + | Возврат ""%3""; + |КонецФункции + | + |// Возвращает запакованные данные файла + |// + |Функция ДвоичныеДанные() Экспорт + | ЗапакованныеДанные = ""%4""; + | Возврат ЗапакованныеДанные; + |КонецФункции + | + |"; + + ТекстКласса = СтрШаблон(ШаблонТекст, ИмяФайла, ВерсияФайла, ХешСтрока, ДанныеФайла); + + ЗаписьТекста = Новый ЗаписьТекста(ПутьКФайлуКласса); + ЗаписьТекста.ЗаписатьСтроку(ТекстКласса); + ЗаписьТекста.Закрыть(); + +КонецПроцедуры + +Функция ПолучитBase64Строка(ПутьКФайлу) + + ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ПутьКФайлу); + Строка = Base64Строка(ДвоичныеДанныеФайла); + Возврат Строка; + +КонецФункции + +ВыполнитьЗапаковку(); \ No newline at end of file From ddce9d258259feee1d4671e393090d92c6126581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 11:11:41 +0300 Subject: [PATCH 06/76] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20cli=200.9.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" | 4 ++-- ...32\320\276\320\274\320\260\320\275\320\264\320\260Init.os" | 4 ++-- ...32\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" index 3ebe9b56..2c908e0d 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" @@ -32,8 +32,8 @@ КаталогРабочейКопии = Команда.ЗначениеАргумента("WORKDIR"); URLРепозитория = Команда.ЗначениеАргумента("URL"); - ПользовательХранилища = Команда.ЗначениеОпции("--storage-user"); - ПарольПользователяХранилища = Команда.ЗначениеОпции("--storage-pwd"); + ПользовательХранилища = Команда.ЗначениеОпции("storage-user"); + ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); Лог.Отладка("КаталогРабочейКопии: %1", КаталогРабочейКопии); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" index 9dd884e7..8bc70b45 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" @@ -35,8 +35,8 @@ ПутьКХранилищу = Команда.ЗначениеАргумента("PATH"); КаталогРабочейКопии = Команда.ЗначениеАргумента("WORKDIR"); - ПользовательХранилища = Команда.ЗначениеОпции("--storage-user"); - ПарольПользователяХранилища = Команда.ЗначениеОпции("--storage-pwd"); + ПользовательХранилища = Команда.ЗначениеОпции("storage-user"); + ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); ИмяРасширения = Команда.ЗначениеОпции("extension"); // инициализировать с нуля diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" index e53d6dfe..48f0f381 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" @@ -36,8 +36,8 @@ ПутьКХранилищу = Команда.ЗначениеАргумента("PATH"); КаталогРабочейКопии = Команда.ЗначениеАргумента("WORKDIR"); - ПользовательХранилища = Команда.ЗначениеОпции("--storage-user"); - ПарольПользователяХранилища = Команда.ЗначениеОпции("--storage-pwd"); + ПользовательХранилища = Команда.ЗначениеОпции("storage-user"); + ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); ИмяРасширения = Команда.ЗначениеОпции("extension"); ФайлКаталогРабочейКопии = Новый Файл(КаталогРабочейКопии); From 3b17c3d726278c4e735ec76c62819acb453d167f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 11:12:21 +0300 Subject: [PATCH 07/76] =?UTF-8?q?=D0=9A=D0=B0=D1=82=D0=B0=D0=BB=D0=BE?= =?UTF-8?q?=D0=B3=20bin=20=D0=BD=D0=B5=20=D0=B8=D0=B3=D0=BD=D0=BE=D1=80?= =?UTF-8?q?=D0=B8=D1=80=D1=83=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 25e5d678..bf5f4632 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ bdd-*.xml .enabled-plugins coverage/* -bin/* *.ospx oscript_modules/ From f11a042f0eb4c970a93def35329b4df9a6577065 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 11:25:33 +0300 Subject: [PATCH 08/76] =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B8?= =?UTF-8?q?=20=D1=81=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D0=BD=D0=B5?= =?UTF-8?q?=D0=B9=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\277\320\270\321\201\320\276\320\272.os" | 6 +- ...20\267\320\260\321\206\320\270\320\270.os" | 107 +++++++++++------- 2 files changed, 69 insertions(+), 44 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" index 4d593898..1a71f9aa 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" @@ -153,18 +153,20 @@ // * ГУИД_Автора - Строка - уникальный идентификатор автора версии // * ПредставлениеАвтора - Строка - представление автора для коммита в git // ПутьКХранилищу - Строка - полный путь к хранилищу конфигурации +// НачальнаяВерсия - Число - номер начальной версии хранилища // СтандартнаяОбработка - Булево - признак отказ от обработки по умолчанию // -Процедура ПриПолученииТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу, СтандартнаяОбработка) Экспорт +Процедура ПриПолученииТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу, НачальнаяВерсия, СтандартнаяОбработка) Экспорт ПараметрыВыполнения = Новый Массив; ПараметрыВыполнения.Добавить(ТаблицаВерсий); ПараметрыВыполнения.Добавить(ПутьКХранилищу); + ПараметрыВыполнения.Добавить(НачальнаяВерсия); ПараметрыВыполнения.Добавить(СтандартнаяОбработка); ВыполнитьПодпискуНаСобытие("ПриПолученииТаблицыВерсий", ПараметрыВыполнения); - ПрисвоитьЗначенияПараметраПроцедуры(ПараметрыВыполнения, ТаблицаВерсий, ПутьКХранилищу, СтандартнаяОбработка); + ПрисвоитьЗначенияПараметраПроцедуры(ПараметрыВыполнения, ТаблицаВерсий, ПутьКХранилищу, НачальнаяВерсия, СтандартнаяОбработка); КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 38afbbe7..d13fe0d5 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -7,6 +7,7 @@ #Использовать gitrunner #Использовать fs #Использовать "./internal" +#Использовать "./internal/bindata" Перем Лог; // Объект, для логирования Перем ЭтоWindows; // Булево, призная операционной системы WINDOWS @@ -248,12 +249,12 @@ ХранилищеКонфигурации = ПолучитьХранилищеКонфигурации(ПутьКХранилищу); - ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ПутьКХранилищу); - - ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(ТаблицаИсторииХранилища, КаталогРабочейКопии); - ТекущаяВерсия = НомерСинхронизированнойВерсии(КаталогРабочейКопии); + ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ПутьКХранилищу, ТекущаяВерсия); + + ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(ТаблицаИсторииХранилища, КаталогРабочейКопии); + Лог.Информация("Номер синхронизированной версии: " + ТекущаяВерсия); СледующаяВерсия = ТекущаяВерсия + 1; @@ -516,28 +517,6 @@ КонецПроцедуры -Функция МассивИсключаемыхОшибок() - - Массив = Новый Массив; - Массив.Добавить("Конфигурация содержит объекты метаданных, длина имен которых превышает 80 символов!"); - - Возврат Массив; -КонецФункции - -Функция ЭтоПропускаемаяОшибка(Знач ОписаниеОшибки) - - МассивИсключаемыхОшибок = МассивИсключаемыхОшибок(); - - Для Каждого ИсключаемаяОшибка Из МассивИсключаемыхОшибок Цикл - - Если СтрНайти(ОписаниеОшибки, ИсключаемаяОшибка) > 0 Тогда - Возврат Истина; - КонецЕсли; - - КонецЦикла; - Возврат Ложь; -КонецФункции - #КонецОбласти #Область Функциональность_очистки_каталога_рабочей_копии @@ -557,8 +536,8 @@ СоответствиеИменФайловДляПропуска.Вставить(ИмяФайлаВерсииХранилища(), Истина); // Номер версии, может использоватся для синхронизации с хранилищем. ОбработчикПодписок.ПриОчисткеКаталогаРабочейКопии(КаталогРабочейКопии, - СоответствиеИменФайловДляПропуска, - СтандартнаяОбработка); + СоответствиеИменФайловДляПропуска, + СтандартнаяОбработка); Если СтандартнаяОбработка Тогда @@ -630,7 +609,7 @@ Если СтандартнаяОбработка Тогда ПереместитьВКаталогРабочейКопииСтандартнаяОбработка(КаталогРабочейКопии, - КаталогВыгрузки); + КаталогВыгрузки); КонецЕсли; @@ -646,7 +625,7 @@ // КаталогВыгрузки - Строка - полный путь к каталогу выгрузки // Процедура ПереместитьВКаталогРабочейКопииСтандартнаяОбработка(Знач КаталогРабочейКопии, - Знач КаталогВыгрузки) + Знач КаталогВыгрузки) СписокФайлов = НайтиФайлы(КаталогВыгрузки, ПолучитьМаскуВсеФайлы(), Истина); Лог.Отладка("Найдено файлов выгрузки: %1 шт.", СписокФайлов.Количество()); @@ -836,6 +815,7 @@ // // Параметры: // ПутьКХранилищу - Строка - путь к хранилищу 1С +// НачальнаяВерсия - Число - номер начальной версии хранилища // // Возвращаемое значение: // ТаблицаВерсий - ТаблицаЗначений - инициализированная таблица с колонками: @@ -847,13 +827,17 @@ // * ГУИД_Автора - Строка - уникальный идентификатор автора версии // * ПредставлениеАвтора - Строка - представление автора для коммита в git // -Функция ПрочитатьТаблицуИсторииХранилища(Знач ПутьКХранилищу) Экспорт +Функция ПрочитатьТаблицуИсторииХранилища(Знач ПутьКХранилищу, Знач НачальнаяВерсия = 1) Экспорт СтандартнаяОбработка = Истина; + Если НачальнаяВерсия = Неопределено Тогда + НачальнаяВерсия = 1; + КонецЕсли; + ТаблицаВерсий = НоваяТаблицаИсторииВерсий(); - ОбработчикПодписок.ПриПолученииТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу, СтандартнаяОбработка); + ОбработчикПодписок.ПриПолученииТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу, НачальнаяВерсия, СтандартнаяОбработка); Если СтандартнаяОбработка Тогда @@ -861,6 +845,12 @@ Если ХранилищеКонфигурации = Неопределено Тогда ХранилищеКонфигурации = ПолучитьХранилищеКонфигурации(ПутьКХранилищу); КонецЕсли; + + Если Не ХранилищеКонфигурации.ЧтениеХранилищаВыполнено() Тогда + + ХранилищеКонфигурации.ПрочитатьХранилище(НачальнаяВерсия); + + КонецЕсли; ТаблицаВерсийХранилища = ХранилищеКонфигурации.ПолучитьТаблицуВерсий(); @@ -903,6 +893,7 @@ // // Параметры: // ПутьКХранилищу - Строка - путь к хранилищу 1С +// НачальнаяВерсия - Число - номер начальной версии хранилища // // Возвращаемое значение: // ТаблицаЗначений - таблица пользователей с колонками @@ -910,12 +901,16 @@ // * ПредставлениеАвтора - Строка - представление автора для коммита в git // * ГУИД_Автора - Строка - уникальный идентификатор автора версии // -Функция ПрочитатьТаблицуПользователейХранилища(Знач ПутьКХранилищу) Экспорт +Функция ПрочитатьТаблицуПользователейХранилища(Знач ПутьКХранилищу, Знач НачальнаяВерсия = 1) Экспорт СтандартнаяОбработка = Истина; ТаблицаПользователей = НоваяТаблицаПользователейХранилища(); + Если НачальнаяВерсия = Неопределено Тогда + НачальнаяВерсия = 1; + КонецЕсли; + ОбработчикПодписок.ПриПолученииТаблицыПользователей(ТаблицаПользователей, ПутьКХранилищу, СтандартнаяОбработка); Если СтандартнаяОбработка Тогда @@ -923,7 +918,13 @@ Если ХранилищеКонфигурации = Неопределено Тогда ХранилищеКонфигурации = ПолучитьХранилищеКонфигурации(ПутьКХранилищу); КонецЕсли; + + Если Не ХранилищеКонфигурации.ЧтениеХранилищаВыполнено() Тогда + ХранилищеКонфигурации.ПрочитатьХранилище(НачальнаяВерсия); + + КонецЕсли; + МассивАвторовХранилища = ХранилищеКонфигурации.ПолучитьАвторов(); Для Каждого Автор Из МассивАвторовХранилища Цикл @@ -946,6 +947,7 @@ // // Параметры: // ПутьКХранилищу - Строка - путь к хранилищу 1С +// ТекущаяВерсия - Число - номер версии откуда начинать чтение // // Возвращаемое значение: // ТаблицаВерсий - ТаблицаЗначений - инициализированная таблица с колонками: @@ -957,10 +959,10 @@ // * ГУИД_Автора - Строка - уникальный идентификатор автора версии // * ПредставлениеАвтора - Строка - представление автора для коммита в git // -Функция ПрочитатьИзХранилищаИсториюКоммитовСАвторами(Знач ПутьКХранилищу) Экспорт +Функция ПрочитатьИзХранилищаИсториюКоммитовСАвторами(Знач ПутьКХранилищу, Знач НачальнаяВерсия = 1) Экспорт - ТаблицаВерсий = ПрочитатьТаблицуИсторииХранилища(ПутьКХранилищу); - ТаблицаПользователей = ПрочитатьТаблицуПользователейХранилища(ПутьКХранилищу); + ТаблицаВерсий = ПрочитатьТаблицуИсторииХранилища(ПутьКХранилищу, НачальнаяВерсия); + ТаблицаПользователей = ПрочитатьТаблицуПользователейХранилища(ПутьКХранилищу, НачальнаяВерсия); ДополнитьТаблицуВерсийИменамиАвторов(ТаблицаВерсий, ТаблицаПользователей); ТаблицаВерсий.Сортировать("НомерВерсии"); @@ -976,7 +978,7 @@ // КаталогРабочейКопии - Строка - путь к каталогу рабочей копии git // Процедура ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(Знач ТаблицаХранилища, - Знач КаталогРабочейКопии) Экспорт + Знач КаталогРабочейКопии) Экспорт ПутьКФайлуСопоставления = ОбъединитьПути(КаталогРабочейКопии, ИмяФайлаАвторов()); ТаблицаСопоставления = ПрочитатьФайлАвторовГитВТаблицуПользователей(ПутьКФайлуСопоставления); @@ -986,7 +988,7 @@ Если СтрокаПользователя = Неопределено Тогда ПредставлениеАвтора = СтрШаблон("%1 <%1@%2>", СтрокаТаблицы.Автор, Строка(ДоменПочтыДляGit())); Иначе - ПредставлениеАвтора = строкаПользователя.ПредставлениеАвтора; + ПредставлениеАвтора = СтрокаПользователя.ПредставлениеАвтора; КонецЕсли; СтрокаТаблицы.ПредставлениеАвтора = ПредставлениеАвтора; @@ -1206,13 +1208,34 @@ КонецПроцедуры +Функция МассивИсключаемыхОшибок() + + Массив = Новый Массив; + Массив.Добавить("Конфигурация содержит объекты метаданных, длина имен которых превышает 80 символов!"); + + Возврат Массив; +КонецФункции + +Функция ЭтоПропускаемаяОшибка(Знач ОписаниеОшибки) + + МассивИсключаемыхОшибок = МассивИсключаемыхОшибок(); + + Для Каждого ИсключаемаяОшибка Из МассивИсключаемыхОшибок Цикл + + Если СтрНайти(ОписаниеОшибки, ИсключаемаяОшибка) > 0 Тогда + Возврат Истина; + КонецЕсли; + + КонецЦикла; + Возврат Ложь; +КонецФункции + Процедура СоздатьРасширениеВБазе(УправлениеКонфигуратором) Параметры = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска(); - ФайлИсточника = Новый Файл(ТекущийСценарий().Источник); - ПутьКИнструменту = Новый Файл(ОбъединитьПути(ФайлИсточника.Путь, "../../../")).ПолноеИмя; - ПутьКШаблонуРасширения = ОбъединитьПути(ПутьКИнструменту, "./templates/temp.cfe"); - Параметры.Добавить("/LoadCfg " + """" + ПутьКШаблонуРасширения + """"); + ЗагрузчикЗапакованныхФайловGitsync = Новый ЗагрузчикЗапакованныхФайловGitsync; + ПутьКШаблонуРасширения = ЗагрузчикЗапакованныхФайловGitsync.ПолучитьПутьКФайлу("tempExtension.cfe"); + Параметры.Добавить(СтрШаблон("/LoadCfg ""%1""", ПутьКШаблонуРасширения)); Параметры.Добавить(СтрШаблон("-Extension %1", ИмяРасширения)); УправлениеКонфигуратором.ВыполнитьКоманду(Параметры); From b92e77e6a07f14c820e099b87d2afe6e72754f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:08:57 +0300 Subject: [PATCH 09/76] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=BD=D1=83=D0=B6=D0=BD=D1=8B=D0=B5=20=D1=82?= =?UTF-8?q?=D0=B0=D1=81=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/get-v8storage.os | 92 ------------------------------------- tasks/install-opm-global.os | 89 ----------------------------------- 2 files changed, 181 deletions(-) delete mode 100644 tasks/get-v8storage.os delete mode 100644 tasks/install-opm-global.os diff --git a/tasks/get-v8storage.os b/tasks/get-v8storage.os deleted file mode 100644 index 7f17775c..00000000 --- a/tasks/get-v8storage.os +++ /dev/null @@ -1,92 +0,0 @@ -#Использовать gitrunner -#Использовать tempfiles -#Использовать fs - -Перем Лог; - -Процедура ПолучитьИсходники(Знач URLРепозитория, Знач Ветка, Знач Каталог) - - ГитРепозиторий = Новый ГитРепозиторий; - - ГитРепозиторий.УстановитьРабочийКаталог(Каталог); - - ГитРепозиторий.КлонироватьРепозиторий(URLРепозитория, Каталог); - ГитРепозиторий.ПерейтиВВетку(Ветка); - -КонецПроцедуры - -Процедура УстановитьПакет(Знач Каталог, ПутьКМанифестуСборки) - - // Лог.Информация("Каталог сборки <%1>", Каталог); - - // Лог.Информация("Сборка пакета библиотеки"); - // КомандаOpm = Новый Команда; - // КомандаOpm.УстановитьРабочийКаталог(Каталог); - // КомандаOpm.УстановитьКоманду("opm"); - // КомандаOpm.ДобавитьПараметр("build"); - // КомандаOpm.ДобавитьПараметр(Каталог); - // КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); - - // КодВозврата = КомандаOpm.Исполнить(); - - // Если КодВозврата <> 0 Тогда - // ВызватьИсключение КомандаOpm.ПолучитьВывод(); - // КонецЕсли; - - // МассивФайлов = НайтиФайлы(Каталог, "*.ospx"); - - // Если МассивФайлов.Количество() = 0 Тогда - // ВызватьИсключение Новый ИнформацияОбОшибке("Ошибка создания пакета opm", "Не найден собранный файл пакета opm"); - // КонецЕсли; - - // ФайлПлагина = МассивФайлов[0].ПолноеИмя; - - КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); - - // ФС.ОбеспечитьКаталог(КаталогПроекта); - - // Лог.Информация("Установка в каталог проекта <%1>", КаталогПроекта); - - ФайлПлагина = ОбъединитьПути(КаталогПроекта, "templates/v8storage-0.6.6.ospx"); - - Лог.Информация("Установка пакета из файла <%1>", ФайлПлагина); - - КомандаOpm = Новый Команда; - // КомандаOpm.УстановитьРабочийКаталог(КаталогПроекта); - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("install"); - КомандаOpm.ДобавитьПараметр("-l"); - КомандаOpm.ДобавитьПараметр("-f"); - КомандаOpm.ДобавитьПараметр(ФайлПлагина); - // КомандаOpm.ДобавитьПараметр("-dest"); - // КомандаOpm.ДобавитьПараметр(КаталогПроекта); - // КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение СтрШаблон("Ошибка установки opm из <%1> по причине <%2>", ФайлПлагина, КомандаOpm.ПолучитьВывод()); - КонецЕсли; - -КонецПроцедуры - -Процедура ПолезнаяРабота() - - URLРепозитория = "https://github.com/khorevaa/v8storage.git"; - КаталогСборки = ВременныеФайлы.СоздатьКаталог(); - Ветка = "feature/pack-epf"; - - ПутьКМанифестуСборки = ОбъединитьПути(ТекущийСценарий().Каталог, "opm_packagedef_global"); - - // ПолучитьИсходники(URLРепозитория, Ветка, КаталогСборки); - УстановитьПакет(КаталогСборки, ПутьКМанифестуСборки); - - ВременныеФайлы.УдалитьФайл(КаталогСборки); - -КонецПроцедуры - -Лог = Логирование.ПолучитьЛог("task.install-opm"); - -ПолезнаяРабота(); - - diff --git a/tasks/install-opm-global.os b/tasks/install-opm-global.os deleted file mode 100644 index 35323d2d..00000000 --- a/tasks/install-opm-global.os +++ /dev/null @@ -1,89 +0,0 @@ -#Использовать gitrunner -#Использовать tempfiles -#Использовать fs - -Перем Лог; - -Процедура ПолучитьИсходники(Знач URLРепозитория, Знач Ветка, Знач Каталог) - - ГитРепозиторий = Новый ГитРепозиторий; - - ГитРепозиторий.УстановитьРабочийКаталог(Каталог); - - ГитРепозиторий.КлонироватьРепозиторий(URLРепозитория, Каталог); - ГитРепозиторий.ПерейтиВВетку(Ветка); - -КонецПроцедуры - -Процедура УстановитьПакет(Знач Каталог, ПутьКМанифестуСборки) - - Лог.Информация("Каталог сборки <%1>", Каталог); - - Лог.Информация("Сборка пакета библиотеки"); - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьРабочийКаталог(Каталог); - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("build"); - КомандаOpm.ДобавитьПараметр(Каталог); - КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - - МассивФайлов = НайтиФайлы(Каталог, "*.ospx"); - - Если МассивФайлов.Количество() = 0 Тогда - ВызватьИсключение Новый ИнформацияОбОшибке("Ошибка создания пакета opm", "Не найден собранный файл пакета opm"); - КонецЕсли; - - ФайлПлагина = МассивФайлов[0].ПолноеИмя; - - КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "oscript_modules"); - - ФС.ОбеспечитьКаталог(КаталогПроекта); - - Лог.Информация("Установка в каталог проекта <%1>", КаталогПроекта); - - Лог.Информация("Установка пакета из файла <%1>", ФайлПлагина); - - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьРабочийКаталог(КаталогПроекта); - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("install"); - КомандаOpm.ДобавитьПараметр("-f"); - КомандаOpm.ДобавитьПараметр(ФайлПлагина); - // КомандаOpm.ДобавитьПараметр("-dest"); - // КомандаOpm.ДобавитьПараметр(КаталогПроекта); - КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение СтрШаблон("Ошибка установки opm из <%1> по причине <%2>", ФайлПлагина, КомандаOpm.ПолучитьВывод()); - КонецЕсли; - -КонецПроцедуры - -Процедура ПолезнаяРабота() - - URLРепозитория = "https://github.com/khorevaa/opm.git"; - КаталогСборки = ВременныеФайлы.СоздатьКаталог(); - Ветка = "develop"; - - ПутьКМанифестуСборки = ОбъединитьПути(ТекущийСценарий().Каталог, "opm_packagedef_global"); - - ПолучитьИсходники(URLРепозитория, Ветка, КаталогСборки); - УстановитьПакет(КаталогСборки, ПутьКМанифестуСборки); - - ВременныеФайлы.УдалитьФайл(КаталогСборки); - -КонецПроцедуры - -Лог = Логирование.ПолучитьЛог("task.install-opm"); - -ПолезнаяРабота(); - - From 96933b9ba79c190b3c6d60ed657356b64bcc48e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:27:58 +0300 Subject: [PATCH 10/76] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B5=D0=B5=20=D0=B2=20=D0=BE=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=B0=D0=BD=D0=B8=D0=B8=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build_packagedef | 81 ++---------------------------------------------- packagedef | 80 ++--------------------------------------------- 2 files changed, 6 insertions(+), 155 deletions(-) diff --git a/build_packagedef b/build_packagedef index 1e92459a..635970bc 100644 --- a/build_packagedef +++ b/build_packagedef @@ -1,83 +1,8 @@ #Использовать logos #Использовать fs -Перем Лог; -Процедура ПередСборкой(Знач РабочийКаталог) Экспорт - - ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); - - Лог.Информация("Установка локальных зависимостей библиотек"); - КомандаOpm = Новый Команда; - - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("install -l"); - КомандаOpm.ДобавитьЛогВыводаКоманды("task.build"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - - Лог.Информация("Настройка локальных библиотек"); - - ПутьКФайлуЗагрузчику = ОбъединитьПути(РабочийКаталог, "oscript_modules", "package-loader.os"); - ШаблонныйФайлЗагрузчик = ОбъединитьПути(РабочийКаталог, "templates", "package-loader.os"); - ФайлЗагрузчик = Новый Файл(ПутьКФайлуЗагрузчику); - Если Не ФайлЗагрузчик.Существует() Тогда - КопироватьФайл(ШаблонныйФайлЗагрузчик, ПутьКФайлуЗагрузчику); - Лог.Информация("Добавлен файл загрузки локальных библиотек"); - КонецЕсли; - - ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); - ШаблонныйФайлНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "templates", "oscript.cfg"); - ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); - Если Не ФайлНастройкиСкрипта.Существует() Тогда - КопироватьФайл(ШаблонныйФайлНастройкиСкрипта, ПутьКФайлуНастройкиСкрипта); - Лог.Информация("Добавлен файл настройки запуска"); - КонецЕсли; - - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("run get-plugins"); - - КомандаOpm.ДобавитьЛогВыводаКоманды("task.build"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - -КонецПроцедуры - -Процедура ПриСборке(Знач РабочийКаталог, Знач АрхивПакета) Экспорт - -КонецПроцедуры - -Процедура ПослеСборки(Знач РабочийКаталог, Знач ПутьКФайлуПакета) Экспорт - - ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); - ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); - Если ФайлНастройкиСкрипта.Существует() Тогда - УдалитьФайлы(ПутьКФайлуНастройкиСкрипта); - КонецЕсли; - - ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); - -КонецПроцедуры - -Лог = Логирование.ПолучитьЛог("task.build"); - -//Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы()); - -ПутьКСценариюПараметров = ОбъединитьПути(ТекущийСценарий().Каталог, "src/cmd", "Модули", "ПараметрыПриложения.os"); -ПараметрыСистемы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюПараметров); -ИмяПродукта = НРег(ПараметрыСистемы_ЛокальнаяВерсия.ИмяПриложения()); -ВерсияПродукта = ПараметрыСистемы_ЛокальнаяВерсия.Версия(); - -Описание.Имя(ИмяПродукта) - .Версия(ВерсияПродукта) +Описание.Имя("gitsync") + .Версия("3.0.0") .ВерсияСреды("1.0.20") .ВключитьФайл("src") .ВключитьФайл("embedded_plugins") @@ -86,4 +11,4 @@ .ВключитьФайл("readme.md") .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") .ОпределяетКласс("УправлениеПлагинами", "src/core/Классы/УправлениеПлагинами.os") - .ИсполняемыйФайл("src/cmd/gitsync.os", ИмяПродукта); \ No newline at end of file + .ИсполняемыйФайл("src/cmd/gitsync.os"); \ No newline at end of file diff --git a/packagedef b/packagedef index 2e8f06c5..7b966e9e 100644 --- a/packagedef +++ b/packagedef @@ -1,80 +1,6 @@ -#Использовать logos -#Использовать fs -Перем Лог; - -Процедура ПередСборкой(Знач РабочийКаталог) Экспорт - - ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); - - Лог.Информация("Установка локальных зависимостей библиотек"); - КомандаOpm = Новый Команда; - - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("install -l"); - КомандаOpm.ДобавитьЛогВыводаКоманды("task.build"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - - Лог.Информация("Настройка локальных библиотек"); - - ПутьКФайлуЗагрузчику = ОбъединитьПути(РабочийКаталог, "oscript_modules", "package-loader.os"); - ШаблонныйФайлЗагрузчик = ОбъединитьПути(РабочийКаталог, "templates", "package-loader.os"); - ФайлЗагрузчик = Новый Файл(ПутьКФайлуЗагрузчику); - Если Не ФайлЗагрузчик.Существует() Тогда - КопироватьФайл(ШаблонныйФайлЗагрузчик, ПутьКФайлуЗагрузчику); - Лог.Информация("Добавлен файл загрузки локальных библиотек"); - КонецЕсли; - - ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); - ШаблонныйФайлНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "templates", "oscript.cfg"); - ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); - Если Не ФайлНастройкиСкрипта.Существует() Тогда - КопироватьФайл(ШаблонныйФайлНастройкиСкрипта, ПутьКФайлуНастройкиСкрипта); - Лог.Информация("Добавлен файл настройки запуска"); - КонецЕсли; - - ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "embedded_plugins")); - - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("run get-plugins"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - - Лог.Информация("Настройка локальных библиотек - завершена"); - -КонецПроцедуры - -Процедура ПослеСборки(Знач РабочийКаталог, Знач ПутьКФайлуПакета) Экспорт - - ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); - ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); - Если ФайлНастройкиСкрипта.Существует() Тогда - УдалитьФайлы(ПутьКФайлуНастройкиСкрипта); - КонецЕсли; - - ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); - -КонецПроцедуры - -Лог = Логирование.ПолучитьЛог("task.build"); - -ПутьКСценариюПараметров = ОбъединитьПути(ТекущийСценарий().Каталог, "src/cmd", "Модули", "ПараметрыПриложения.os"); -ПараметрыСистемы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюПараметров); -ИмяПродукта = НРег(ПараметрыСистемы_ЛокальнаяВерсия.ИмяПриложения()); -ВерсияПродукта = ПараметрыСистемы_ЛокальнаяВерсия.Версия(); - -Описание.Имя(ИмяПродукта) - .Версия(ВерсияПродукта) +Описание.Имя("gitsync") + .Версия("3.0.0") .ВерсияСреды("1.0.20") .ЗависитОт("logos", "1.2.0") .ЗависитОт("tempfiles", "0.2.2") @@ -98,4 +24,4 @@ .ВключитьФайл("templates/temp.cfe") .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") .ОпределяетКласс("УправлениеПлагинами", "src/core/Классы/УправлениеПлагинами.os") - .ИсполняемыйФайл("src/cmd/gitsync.os", ИмяПродукта); + .ИсполняемыйФайл("src/cmd/gitsync.os"); From 4ab6d771261019f17b5eb80dcef9dbd706e9579a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:28:16 +0300 Subject: [PATCH 11/76] =?UTF-8?q?=D0=A1=D0=BA=D0=BE=D1=80=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=20=D0=BE?= =?UTF-8?q?=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 834ee8cb..e7b688d5 100644 --- a/readme.md +++ b/readme.md @@ -14,6 +14,7 @@ - [Установка](#установка) - [Вручную](#вручную) - [Через пакетный менеджер opm](#через-пакетный-менеджер-opm) +- [Требования](#требования) - [Особенности](#особенности) - [Отличия от `gitsync` версий 2.x](#отличия-от-gitsync-версий-2x) - [Описание функциональности](#описание-функциональности) @@ -70,12 +71,13 @@ $ opm install -f <ПутьКФайлу> 1. командой `opm install gitsync` 2. Запустить командой `gitsync` - -## Особенности - + ## Требования -* утилита `ring` и `java` - для работы с 1С старше версии > 8.3.11 +* утилита `ring` и `` - для работы с 1С старше версии > 8.3.11 + + +## Особенности From cfa2e6fcb9847327891b1efc49e3dd3976f5e439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:29:10 +0300 Subject: [PATCH 12/76] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B8=D0=B9=20=D1=88=D0=B0=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/cmd/step_definitions/shared.os | 36 +----------------------- features/core/step_definitions/shared.os | 35 ----------------------- 2 files changed, 1 insertion(+), 70 deletions(-) diff --git a/features/cmd/step_definitions/shared.os b/features/cmd/step_definitions/shared.os index 42af4ccd..0417a9c3 100644 --- a/features/cmd/step_definitions/shared.os +++ b/features/cmd/step_definitions/shared.os @@ -214,8 +214,7 @@ Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); Если НЕ ЭтоExe Тогда - ПодготовитьПриложениеКТестированию(КаталогГитсинк()); - + Команда.УстановитьКоманду("oscript"); Команда.ДобавитьПараметр("-encoding=utf-8"); @@ -365,39 +364,6 @@ Возврат "Команда-" + ИмяКоманды; КонецФункции -Процедура ПодготовитьПриложениеКТестированию(Знач РабочийКаталог) Экспорт - - Лог.Отладка("Установка локальных зависимостей библиотек"); - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьРабочийКаталог(РабочийКаталог); - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("install -l"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - - Лог.Отладка("Настройка локальных библиотек"); - - ПутьКФайлуЗагрузчику = ОбъединитьПути(РабочийКаталог, "oscript_modules", "package-loader.os"); - ШаблонныйФайлЗагрузчик = ОбъединитьПути(РабочийКаталог, "templates", "package-loader.os"); - ФайлЗагрузчик = Новый Файл(ПутьКФайлуЗагрузчику); - Если Не ФайлЗагрузчик.Существует() Тогда - КопироватьФайл(ШаблонныйФайлЗагрузчик, ПутьКФайлуЗагрузчику); - Лог.Информация("Добавлен файл загрузки локальных библиотек"); - КонецЕсли; - - ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); - ШаблонныйФайлНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "templates", "oscript.cfg"); - ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); - Если Не ФайлНастройкиСкрипта.Существует() Тогда - КопироватьФайл(ШаблонныйФайлНастройкиСкрипта, ПутьКФайлуНастройкиСкрипта); - Лог.Информация("Добавлен файл настройки запуска"); - КонецЕсли; - -КонецПроцедуры ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; diff --git a/features/core/step_definitions/shared.os b/features/core/step_definitions/shared.os index d5ada6ff..038eea71 100644 --- a/features/core/step_definitions/shared.os +++ b/features/core/step_definitions/shared.os @@ -199,7 +199,6 @@ //Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке Процедура ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке(Знач ИмяКоманды) Экспорт - ПодготовитьПриложениеКТестированию(КаталогГитсинк()); ПутьГитсинк = ОбъединитьПути(КаталогГитсинк(), "src", "cmd", "gitsync.os"); Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); @@ -344,40 +343,6 @@ Возврат "Команда-" + ИмяКоманды; КонецФункции -Процедура ПодготовитьПриложениеКТестированию(Знач РабочийКаталог) Экспорт - - Лог.Отладка("Установка локальных зависимостей библиотек"); - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьРабочийКаталог(РабочийКаталог); - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("install -l"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - - Лог.Отладка("Настройка локальных библиотек"); - - ПутьКФайлуЗагрузчику = ОбъединитьПути(РабочийКаталог, "oscript_modules", "package-loader.os"); - ШаблонныйФайлЗагрузчик = ОбъединитьПути(РабочийКаталог, "templates", "package-loader.os"); - ФайлЗагрузчик = Новый Файл(ПутьКФайлуЗагрузчику); - Если Не ФайлЗагрузчик.Существует() Тогда - КопироватьФайл(ШаблонныйФайлЗагрузчик, ПутьКФайлуЗагрузчику); - Лог.Информация("Добавлен файл загрузки локальных библиотек"); - КонецЕсли; - - ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); - ШаблонныйФайлНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "templates", "oscript.cfg"); - ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); - Если Не ФайлНастройкиСкрипта.Существует() Тогда - КопироватьФайл(ШаблонныйФайлНастройкиСкрипта, ПутьКФайлуНастройкиСкрипта); - Лог.Информация("Добавлен файл настройки запуска"); - КонецЕсли; - -КонецПроцедуры - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; Лог = Логирование.ПолучитьЛог(ИмяЛога()); From 58b34f67e3e3ad5ff5b1a3bd19bce2f412cc2ef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:29:32 +0300 Subject: [PATCH 13/76] =?UTF-8?q?=D0=9E=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" index 33f2830d..b1e3b86e 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" @@ -18,7 +18,7 @@ ОбщиеПараметры = ПараметрыПриложения.Параметры(); МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; - Лог.Информация("Начала инициализация предустановленных плагинов"); + Лог.Информация("Начата инициализация предустановленных плагинов"); Лог.Отладка("Каталог поиска предустановленных плагинов: <%1>", КаталогВстроенныхПлагинов); Лог.Отладка("Количество пакетов плагинов к установке: <%1>", МассивФайловПлагинов.Количество()); From e2fc5bad7fe79ac1d6e1a403acfbfd13cf002dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:29:55 +0300 Subject: [PATCH 14/76] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D0=B7=D0=BD=D0=B0?= =?UTF-8?q?=D0=BA=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B5=20?= =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\274\320\260\320\275\320\264\320\260PluginList.os" | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginList.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginList.os" index edfdae9d..a8e2753e 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginList.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginList.os" @@ -13,8 +13,8 @@ Процедура ВыполнитьКоманду(Знач Команда) Экспорт - ВывестиВсеПлагины = Команда.ЗначениеОпции("-a"); - ВыводТолькоНазваний = Команда.ЗначениеОпции("-q"); + ВывестиВсеПлагины = Команда.ЗначениеОпции("all"); + ВыводТолькоНазваний = Команда.ЗначениеОпции("quiet"); ОбщиеПараметры = ПараметрыПриложения.Параметры(); МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; @@ -54,9 +54,10 @@ Процедура ВывестиОписаниеПлагина(КлассПлагина); - ШаблонНаименования = " %1 (версия: %3) "+ Символы.Таб + "%2"; + ШаблонНаименования = " %4 %1 [%3] " + Символы.Таб + "%2"; + ТекстВключен = ?(КлассПлагина.Включен(), "[on] ", "[off]"); - Сообщить(СтрШаблон(ШаблонНаименования, КлассПлагина.Имя(), КлассПлагина.Описание(), КлассПлагина.Версия())); + Сообщить(СтрШаблон(ШаблонНаименования, КлассПлагина.Имя(), КлассПлагина.Описание(), КлассПлагина.Версия(), ТекстВключен)); КонецПроцедуры From 86eb1c4397d341d6147f53a7acbf37786ee6a46b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:30:20 +0300 Subject: [PATCH 15/76] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=20?= =?UTF-8?q?=D1=81=D0=B1=D0=BE=D0=BA=D0=B8=20=D0=B2=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/get-plugins.os | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasks/get-plugins.os b/tasks/get-plugins.os index e75a354d..021670d0 100644 --- a/tasks/get-plugins.os +++ b/tasks/get-plugins.os @@ -46,6 +46,8 @@ ФС.ОбеспечитьКаталог(КаталогПроекта); + УдалитьФайлы(КаталогПроекта, "gitsync-plugins*.ospx"); + ФайлПриемник = ОбъединитьПути(КаталогПроекта, МассивФайлов[0].Имя); КопироватьФайл(ФайлПлагина, ФайлПриемник); From 56fa31f3c333b767938e9c2b3a8479fbafb780bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:30:32 +0300 Subject: [PATCH 16/76] =?UTF-8?q?=D0=A1=D0=B1=D0=BE=D1=80=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B2=20exe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/make.os | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/tasks/make.os b/tasks/make.os index c4c6232d..f6cd1a48 100644 --- a/tasks/make.os +++ b/tasks/make.os @@ -15,7 +15,7 @@ КомандаOpm.ДобавитьПараметр("-o"); КомандаOpm.ДобавитьПараметр(ВыходнойКаталог); КомандаOpm.ДобавитьПараметр(КаталогПроекта); - КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); + КомандаOpm.ПоказыватьВыводНемедленно(Истина); КодВозврата = КомандаOpm.Исполнить(); @@ -46,7 +46,7 @@ КомандаOpm.ДобавитьПараметр(ФайлПлагина); КомандаOpm.ДобавитьПараметр("--dest"); КомандаOpm.ДобавитьПараметр(КаталогУстановки); - КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); + КомандаOpm.ПоказыватьВыводНемедленно(Истина); КодВозврата = КомандаOpm.Исполнить(); @@ -69,7 +69,7 @@ КомандаOpm.ДобавитьПараметр("-make"); КомандаOpm.ДобавитьПараметр(ФайлПриложения); КомандаOpm.ДобавитьПараметр(ВыходнойФайл); - КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); + КомандаOpm.ПоказыватьВыводНемедленно(Истина); КодВозврата = КомандаOpm.Исполнить(); @@ -92,7 +92,6 @@ КаталогПлагинов = ПараметрыПриложения.КаталогПлагинов(); КаталогВнутреннихКлассов = ОбъединитьПути(КаталогУстановки, "gitsync", "src/core/Классы/internal/Классы"); - СкопироватьЗагрузчикПлагинов(КаталогВнутреннихКлассов); СкопироватьСтандартныйЗагрузчик(КаталогПлагинов); ПодготовитьФайлИндексПлагиновEXE(КаталогВнутреннихКлассов, КаталогПлагинов); @@ -103,7 +102,7 @@ МассивПлагинов = ПолучитьМассивПлагинов(КаталогПлагинов); - ФайлИндексПлагиновEXE = ОбъединитьПути(КаталогВнутреннихКлассов, "ИндексПлагиновEXE.os"); + ФайлИндексПлагиновEXE = ОбъединитьПути(КаталогВнутреннихКлассов, "ПодключениеЗапакованныхПлагинов.os"); ЗаписьТекста = Новый ЗаписьТекста(ФайлИндексПлагиновEXE); @@ -119,7 +118,7 @@ КонецЦикла; - ЗаписьТекста.ЗаписатьСтроку("Функция ПолучитьИндексПлагиновEXE() Экспорт"); + ЗаписьТекста.ЗаписатьСтроку("Функция ИндексПлагинов() Экспорт"); ЗаписьТекста.ЗаписатьСтроку(" ИндексПлагинов = Новый Массив;"); Для каждого ИмяПлагина Из МассивПлагинов Цикл @@ -224,24 +223,21 @@ КонецПроцедуры -Процедура СкопироватьЗагрузчикПлагинов(Знач КаталогВнутреннихКлассов) - - ЗагрузчикПлагиновEXE = ОбъединитьПути(КаталогВнутреннихКлассов, "ЗагрузчикПлагиновEXE.os"); - ПриемникЗагрузчикПлагинов = ОбъединитьПути(КаталогВнутреннихКлассов, "ЗагрузчикПлагинов.os"); - КопироватьФайл(ЗагрузчикПлагиновEXE, ПриемникЗагрузчикПлагинов); - -КонецПроцедуры - Процедура ИнициализироватьВстроенныеПлагины(Знач КаталогУстановки) ФайлПриложения = ОбъединитьПути(КаталогУстановки, "gitsync", "src/cmd", "gitsync.os"); КомандаOpm = Новый Команда; + КаталогПлагинов = ВременныеФайлы.СоздатьКаталог(); + + УстановитьПеременнуюСреды("GITSYNC_PLUGINS_PATH", КаталогПлагинов); + Лог.Информация("Каталог плагинов сборки <%1>", КаталогПлагинов); + КомандаOpm.УстановитьРабочийКаталог(КаталогУстановки); КомандаOpm.УстановитьКоманду("oscript"); КомандаOpm.ДобавитьПараметр(ФайлПриложения); КомандаOpm.ДобавитьПараметр("p init"); - КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); + // КомандаOpm.("task.install-opm"); КодВозврата = КомандаOpm.Исполнить(); @@ -270,11 +266,12 @@ ВыполнитьСборкуEXE(КаталогУстановки); ВременныеФайлы.УдалитьФайл(КаталогСборки); - ВременныеФайлы.УдалитьФайл(КаталогУстановки); + //ВременныеФайлы.УдалитьФайл(КаталогУстановки); КонецПроцедуры КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); Лог = Логирование.ПолучитьЛог("task.install-opm"); +// Лог.УстановитьУровень(УровниЛОга.отладка); ПолезнаяРабота(); From 1d7272ee01b5c7b8dd662893a2df389f8886a007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:31:01 +0300 Subject: [PATCH 17/76] =?UTF-8?q?=D0=A3=D0=BF=D1=80=D0=BE=D1=89=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B2=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=D0=B5=20exe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\263\320\270\320\275\320\276\320\262.os" | 126 ++++-------------- ...263\320\270\320\275\320\276\320\262EXE.os" | 84 ------------ ...263\320\270\320\275\320\276\320\262EXE.os" | 7 - ...20\267\320\260\321\206\320\270\320\270.os" | 8 +- ...20\263\320\270\320\275\320\276\320\262.os" | 9 ++ ...20\260\320\273\320\276\320\263\320\260.os" | 93 +++++++++++++ ...20\267\320\260\321\206\320\270\320\270.os" | 38 ++++++ 7 files changed, 167 insertions(+), 198 deletions(-) delete mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262EXE.os" delete mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\320\264\320\265\320\272\321\201\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262EXE.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\267\320\264\320\260\321\202\320\265\320\273\321\214\320\235\320\260\320\261\320\276\321\200\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" index f6af1162..9104f016 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" @@ -1,6 +1,6 @@ #Использовать logos -Перем ИндексУстановленныхПлагинов; // Соответствие +Перем НаборПлагиновСинхронизации; // Соответствие Перем Лог; // Объект - Логирование Перем ДоступныйИнтерфейсПлагинов; // Объект.ИнтерфейсОбъекта - интерфейс плагинов Перем КаталогПлагинов; // Строка - каталог пакетов плагинов @@ -20,7 +20,29 @@ // Процедура ЗагрузитьПлагины() Экспорт - ОбновитьИндексПлагинов(); + ПодключениеПлагиновКаталога = Новый ПодключениеПлагиновКаталога; + МассивПлагинов = ПодключениеПлагиновКаталога.ПодключитьПлагиныКаталога(КаталогПлагинов); + Лог.Отладка("Количество плагинов <%1> каталога <%2>", МассивПлагинов.Количество(), КаталогПлагинов); + + СоздательНабораПлагиновСинхронизации = Новый СоздательНабораПлагиновСинхронизации; + + Для каждого ИмяКлассаПлагина Из МассивПлагинов Цикл + + СоздательНабораПлагиновСинхронизации.ДобавитьПлагин(ИмяКлассаПлагина); + + КонецЦикла; + + ПодключениеЗапакованныхПлагинов = Новый ПодключениеЗапакованныхПлагинов; + МассивПлагинов = ПодключениеЗапакованныхПлагинов.ИндексПлагинов(); + Лог.Отладка("Количество встроенных плагинов <%1>", МассивПлагинов.Количество()); + + Для каждого ИмяКлассаПлагина Из МассивПлагинов Цикл + + СоздательНабораПлагиновСинхронизации.ДобавитьПлагин(ИмяКлассаПлагина); + + КонецЦикла; + + НаборПлагиновСинхронизации = СоздательНабораПлагиновСинхронизации.Создать(); КонецПроцедуры @@ -32,113 +54,17 @@ // * значение - Объект - ссылка на произвольный объект // Функция ИндексПлагинов() Экспорт - Возврат ИндексУстановленныхПлагинов; + Возврат НаборПлагиновСинхронизации; КонецФункции #КонецОбласти #Область Вспомогательные_процедуры_и_функции -Процедура ОбновитьИндексПлагинов() - - Лог.Отладка("Обновление индекса плагина из каталога <%1>", КаталогПлагинов); - ИндексУстановленныхПлагинов = Новый Соответствие; - - КаталогиПлагинов = НайтиФайлы(КаталогПлагинов, ПолучитьМаскуВсеФайлы(), Ложь); - - Для каждого Каталоги Из КаталогиПлагинов Цикл - - Если Не Каталоги.ЭтоКаталог() Тогда - Продолжить; - КонецЕсли; - - ЗагрузитьПлагин(Каталоги.ПолноеИмя); - - КонецЦикла; - - Лог.Отладка("В индекс плагинов добавлено <%1> плагинов", ИндексУстановленныхПлагинов.Количество()); - -КонецПроцедуры - -Процедура ЗагрузитьПлагин(Знач Путь) - - Лог.Отладка("Загружаю плагины из каталога <%1>", Путь); - - ФайлМанифеста = Новый Файл(ОбъединитьПути(Путь, "lib.config")); - - Если ФайлМанифеста.Существует() Тогда - Лог.Отладка("Обрабатываем по манифесту"); - ДобавитьКлассыПлагинов(ФайлМанифеста.ПолноеИмя, Путь); - Иначе - Лог.Отладка("Плагины из каталога <%1> не могут быть загружены - не найден файл ", Путь); - КонецЕсли; - -КонецПроцедуры - -Процедура ДобавитьКлассыПлагинов(Знач Файл, Знач Путь) - - Чтение = Новый ЧтениеXML; - Чтение.ОткрытьФайл(Файл); - Чтение.ПерейтиКСодержимому(); - - Если Чтение.ЛокальноеИмя <> "package-def" Тогда - Чтение.Закрыть(); - Возврат; - КонецЕсли; - - Пока Чтение.Прочитать() Цикл - - Если Чтение.ТипУзла = ТипУзлаXML.Комментарий Тогда - - Продолжить; - - КонецЕсли; - - Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда - - Если Чтение.ЛокальноеИмя = "class" Тогда - ФайлКласса = Новый Файл(ОбъединитьПути(Путь, Чтение.ЗначениеАтрибута("file"))); - Если ФайлКласса.Существует() - И ФайлКласса.ЭтоФайл() Тогда - Идентификатор = Чтение.ЗначениеАтрибута("name"); - Если Не ПустаяСтрока(Идентификатор) Тогда - ДобавитьПлагинВИндекс(Идентификатор, ФайлКласса.ПолноеИмя); - КонецЕсли; - Иначе - ВызватьИсключение "Не найден файл " + ФайлКласса.ПолноеИмя + ", указанный в манифесте"; - КонецЕсли; - - Чтение.Прочитать(); // в конец элемента - - КонецЕсли; - - КонецЕсли; - - КонецЦикла; - - Чтение.Закрыть(); - -КонецПроцедуры - -Процедура ДобавитьПлагинВИндекс(Знач ИмяКлассаПлагина, Знач ИмяФайлаКласса) - - Лог.Отладка("Добавляю плагин <%1> в индекс плагинов", ИмяКлассаПлагина); - - Попытка - НовыйПлагин = Новый ПлагинСинхронизации(ИмяФайлаКласса, ИмяКлассаПлагина, ДоступныйИнтерфейсПлагинов); - Исключение - Лог.Отладка("Ошибка добавления плагина в индекс плагинов. По причине: <%1>", ОписаниеОшибки()); - Возврат; - КонецПопытки; - - ИндексУстановленныхПлагинов.Вставить(НовыйПлагин.Имя(), НовыйПлагин); - -КонецПроцедуры - Процедура ПриСозданииОбъекта(Знач ВходящийКаталогПлагинов = Неопределено) КаталогПлагинов = ВходящийКаталогПлагинов; - ДоступныйИнтерфейсПлагинов = Новый ИнтерфейсПлагинов().Интерфейс(); + НаборПлагиновСинхронизации = Новый Соответствие(); Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync.plugins.loader"); КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262EXE.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262EXE.os" deleted file mode 100644 index 776223b2..00000000 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262EXE.os" +++ /dev/null @@ -1,84 +0,0 @@ -#Использовать logos - -Перем ИндексУстановленныхПлагинов; // Соответствие -Перем Лог; // Объект - Логирование -Перем ДоступныйИнтерфейсПлагинов; // Объект.ИнтерфейсОбъекта - интерфейс плагинов -Перем КаталогПлагинов; // Строка - каталог пакетов плагинов - -#Область Экспортные_методы - -// Устанавливает каталог плагинов -// -// Параметры: -// ПутьККаталогу - Строка - полный путь к каталогу плагинов -// -Процедура УстановитьКаталогПлагинов(Знач ПутьККаталогу) Экспорт - КаталогПлагинов = ПутьККаталогу; -КонецПроцедуры - -// Выполняет загрузки плагинов в индекс -// -Процедура ЗагрузитьПлагины() Экспорт - - ОбновитьИндексПлагинов(); - -КонецПроцедуры - -// Возвращает загруженный индекс плагинов -// -// Возвращаемое значение: -// Соответствие - набор плагинов -// * ключ - Строка - имя плагина -// * значение - Объект - ссылка на произвольный объект -// -Функция ИндексПлагинов() Экспорт - Возврат ИндексУстановленныхПлагинов; -КонецФункции - -#КонецОбласти - -#Область Вспомогательные_процедуры_и_функции - -Процедура ОбновитьИндексПлагинов() - - Лог.Отладка("Обновление индекса плагина из каталога <%1>", КаталогПлагинов); - ИндексУстановленныхПлагинов = Новый Соответствие; - - ИндексПлагиновEXE = Новый ИндексПлагиновEXE; - ИндексПлагинов = ИндексПлагиновEXE.ПолучитьИндексПлагиновEXE(); - - Для каждого Плагин Из ИндексПлагинов Цикл - - ДобавитьПлагинВИндекс(Плагин); - - КонецЦикла; - - Лог.Отладка("В индекс плагинов добавлено <%1> плагинов", ИндексУстановленныхПлагинов.Количество()); - -КонецПроцедуры - -Процедура ДобавитьПлагинВИндекс(Знач ИмяКлассаПлагина) - - Лог.Отладка("Добавляю плагин <%1> в индекс плагинов", ИмяКлассаПлагина); - - Попытка - НовыйПлагин = Новый ПлагинСинхронизации(Неопределено, ИмяКлассаПлагина, ДоступныйИнтерфейсПлагинов); - ИндексУстановленныхПлагинов.Вставить(НовыйПлагин.Имя(), НовыйПлагин); - - Исключение - Лог.Отладка("Ошибка добавления плагина в индекс плагинов. По причине: <%1>", ОписаниеОшибки()); - - КонецПопытки; - - -КонецПроцедуры - -Процедура ПриСозданииОбъекта(Знач ВходящийКаталогПлагинов = Неопределено) - - КаталогПлагинов = ВходящийКаталогПлагинов; - ДоступныйИнтерфейсПлагинов = Новый ИнтерфейсПлагинов().Интерфейс(); - Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync.plugins.loader"); - -КонецПроцедуры - -#КонецОбласти diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\320\264\320\265\320\272\321\201\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262EXE.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\320\264\320\265\320\272\321\201\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262EXE.os" deleted file mode 100644 index 4300f5d9..00000000 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\275\320\264\320\265\320\272\321\201\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262EXE.os" +++ /dev/null @@ -1,7 +0,0 @@ -Функция ПолучитьИндексПлагиновEXE() Экспорт - - ИндексПлагинов = Новый Массив; - - Возврат ИндексПлагинов; - -КонецФункции \ No newline at end of file diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\273\320\260\320\263\320\270\320\275\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\273\320\260\320\263\320\270\320\275\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 1a9eeb86..ebc39004 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\273\320\260\320\263\320\270\320\275\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\273\320\260\320\263\320\270\320\275\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -154,16 +154,10 @@ КлассПлагина = ПолучитьКлассПлагина(); КонецПроцедуры -Процедура ПриСозданииОбъекта(Знач ВходящееИмяФайлаКлассаПлагина, Знач ВходящееИмяКлассаПлагина, ИнтерфейсМетодовПлагинов) +Процедура ПриСозданииОбъекта(Знач ВходящееИмяКлассаПлагина, ИнтерфейсМетодовПлагинов) ИмяКлассаПлагина = ВходящееИмяКлассаПлагина; - Если НЕ ВходящееИмяФайлаКлассаПлагина = Неопределено Тогда - - ПодключитьСценарий(ВходящееИмяФайлаКлассаПлагина, ИмяКлассаПлагина); - - КонецЕсли; - КлассПлагина = ПолучитьКлассПлагина(); ИнтерфейсПлагина = Новый ИнтерфейсОбъекта(); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" new file mode 100644 index 00000000..cbb704bd --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" @@ -0,0 +1,9 @@ +// ИСПОЛЬЗУЕТСЯ ТОЛЬКО ДЛЯ СБОРКИ В EXE +// +Функция ИндексПлагинов() Экспорт + + ИндексПлагинов = Новый Массив; + + Возврат ИндексПлагинов; + +КонецФункции \ No newline at end of file diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.os" new file mode 100644 index 00000000..d91e271a --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\320\265\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260.os" @@ -0,0 +1,93 @@ +#Использовать logos + +Перем МассивПодключенныхПлагинов; +Перем Лог; + +Функция ПодключитьПлагиныКаталога(Знач КаталогПлагинов) Экспорт + + МассивПодключенныхПлагинов = Новый Массив(); + + Если ВРег(Прав(ТекущийСценарий().Источник, 3)) = "EXE" Тогда + Возврат МассивПодключенныхПлагинов; + КонецЕсли; + + Лог.Отладка("Подключение плагинов из каталога <%1>", КаталогПлагинов); + КаталогиПлагинов = НайтиФайлы(КаталогПлагинов, ПолучитьМаскуВсеФайлы(), Ложь); + + Для каждого Каталоги Из КаталогиПлагинов Цикл + + Если Не Каталоги.ЭтоКаталог() Тогда + Продолжить; + КонецЕсли; + + ЗагрузитьПлагин(Каталоги.ПолноеИмя); + + КонецЦикла; + + Возврат МассивПодключенныхПлагинов; + +КонецФункции + +Процедура ЗагрузитьПлагин(Знач Путь) + + Лог.Отладка("Загружаю плагины из каталога <%1>", Путь); + + ФайлМанифеста = Новый Файл(ОбъединитьПути(Путь, "lib.config")); + + Если ФайлМанифеста.Существует() Тогда + Лог.Отладка("Обрабатываем по манифесту"); + ДобавитьКлассыПлагинов(ФайлМанифеста.ПолноеИмя, Путь); + Иначе + Лог.Отладка("Плагины из каталога <%1> не могут быть загружены - не найден файл ", Путь); + КонецЕсли; + +КонецПроцедуры + +Процедура ДобавитьКлассыПлагинов(Знач Файл, Знач Путь) + + Чтение = Новый ЧтениеXML; + Чтение.ОткрытьФайл(Файл); + Чтение.ПерейтиКСодержимому(); + + Если Чтение.ЛокальноеИмя <> "package-def" Тогда + Чтение.Закрыть(); + Возврат; + КонецЕсли; + + Пока Чтение.Прочитать() Цикл + + Если Чтение.ТипУзла = ТипУзлаXML.Комментарий Тогда + + Продолжить; + + КонецЕсли; + + Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда + + Если Чтение.ЛокальноеИмя = "class" Тогда + ФайлКласса = Новый Файл(ОбъединитьПути(Путь, Чтение.ЗначениеАтрибута("file"))); + Если ФайлКласса.Существует() + И ФайлКласса.ЭтоФайл() Тогда + Идентификатор = Чтение.ЗначениеАтрибута("name"); + Если Не ПустаяСтрока(Идентификатор) Тогда + ПодключитьСценарий(ФайлКласса.ПолноеИмя, Идентификатор); + МассивПодключенныхПлагинов.Добавить(Идентификатор); + КонецЕсли; + Иначе + ВызватьИсключение "Не найден файл " + ФайлКласса.ПолноеИмя + ", указанный в манифесте"; + КонецЕсли; + + Чтение.Прочитать(); // в конец элемента + + КонецЕсли; + + КонецЕсли; + + КонецЦикла; + + Чтение.Закрыть(); + +КонецПроцедуры + +Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync.plugins.loader"); +МассивПодключенныхПлагинов = Новый Массив(); \ No newline at end of file diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\267\320\264\320\260\321\202\320\265\320\273\321\214\320\235\320\260\320\261\320\276\321\200\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\267\320\264\320\260\321\202\320\265\320\273\321\214\320\235\320\260\320\261\320\276\321\200\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" new file mode 100644 index 00000000..c240d7cb --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\267\320\264\320\260\321\202\320\265\320\273\321\214\320\235\320\260\320\261\320\276\321\200\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -0,0 +1,38 @@ +#Использовать logos + +Перем НаборИменКлассовПлагинов; +Перем ДоступныйИнтерфейсПлагинов; +Перем Лог; + +Функция Создать() Экспорт + + НаборПлагинов = Новый Соответствие(); + + Для каждого ИмяКлассаПлагина Из НаборИменКлассовПлагинов Цикл + + Лог.Отладка("Добавляю плагин <%1> в индекс плагинов", ИмяКлассаПлагина); + + Попытка + НовыйПлагин = Новый ПлагинСинхронизации(ИмяКлассаПлагина, ДоступныйИнтерфейсПлагинов); + Исключение + Лог.Отладка("Ошибка добавления плагина в индекс плагинов. По причине: <%1>", ОписаниеОшибки()); + Продолжить; + КонецПопытки; + + НаборПлагинов.Вставить(НовыйПлагин.Имя(), НовыйПлагин); + + КонецЦикла; + + Возврат НаборПлагинов; + +КонецФункции + +Процедура ДобавитьПлагин(Знач ИмяКласса) Экспорт + + НаборИменКлассовПлагинов.Добавить(ИмяКласса); + +КонецПроцедуры + +НаборИменКлассовПлагинов = Новый Массив(); +ДоступныйИнтерфейсПлагинов = Новый ИнтерфейсПлагинов().Интерфейс(); +Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync.plugins.loader"); From a2eaea64bb40ac2c65a263ad06b6b77228ae60e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 13:34:19 +0300 Subject: [PATCH 18/76] =?UTF-8?q?=D0=9D=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D0=B8=20=D0=B2=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index 98e8db96..d3ebd2fb 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -281,7 +281,7 @@ Функция Версия() Экспорт - Возврат "3.0.0-beta4"; + Возврат "3.0.0"; КонецФункции From 05a5c22575a2ae9740822366bb545317aa8daa51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 14:09:03 +0300 Subject: [PATCH 19/76] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D0=BE=D0=B5=20=D1=85?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D0=B5=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/fixtures/extension_storage/1cv8ddb.1CD | Bin 737280 -> 737280 bytes .../09/0694564fb2cc20d4ee82dff29581aea6ebceb2 | Bin 0 -> 1824 bytes .../15/af5e8f18aea8397ae287ef2f0f237eca7ba410 | 1 + .../3e/09dd8ca40ee4c38920ec37b53860a6335d9749 | Bin 0 -> 712 bytes .../51/ddb08f4a5453469fb93b1cdc90304d747357b7 | Bin 0 -> 111 bytes .../90/5786cba6e9271268f277226315b61c46427718 | Bin 0 -> 1727 bytes .../fd/94de288b43ff531cadf282f9664dd70031a9cb | Bin 0 -> 1847 bytes ...62dc49d0c6254821c6af2f1aaced0d0d28d2b3.ind | Bin 0 -> 136 bytes ...62dc49d0c6254821c6af2f1aaced0d0d28d2b3.pck | Bin 0 -> 2122 bytes tests/fixtures/extension_storage/data/ver | Bin 0 -> 8 bytes tests/fixtures/extension_storage/ver | 1 + 11 files changed, 2 insertions(+) create mode 100644 tests/fixtures/extension_storage/data/objects/09/0694564fb2cc20d4ee82dff29581aea6ebceb2 create mode 100644 tests/fixtures/extension_storage/data/objects/15/af5e8f18aea8397ae287ef2f0f237eca7ba410 create mode 100644 tests/fixtures/extension_storage/data/objects/3e/09dd8ca40ee4c38920ec37b53860a6335d9749 create mode 100644 tests/fixtures/extension_storage/data/objects/51/ddb08f4a5453469fb93b1cdc90304d747357b7 create mode 100644 tests/fixtures/extension_storage/data/objects/90/5786cba6e9271268f277226315b61c46427718 create mode 100644 tests/fixtures/extension_storage/data/objects/fd/94de288b43ff531cadf282f9664dd70031a9cb create mode 100644 tests/fixtures/extension_storage/data/pack/pack-c262dc49d0c6254821c6af2f1aaced0d0d28d2b3.ind create mode 100644 tests/fixtures/extension_storage/data/pack/pack-c262dc49d0c6254821c6af2f1aaced0d0d28d2b3.pck create mode 100644 tests/fixtures/extension_storage/data/ver create mode 100644 tests/fixtures/extension_storage/ver diff --git a/tests/fixtures/extension_storage/1cv8ddb.1CD b/tests/fixtures/extension_storage/1cv8ddb.1CD index 01c271489ac1831d9123665dbf5b9523d457359a..bad3a7ee4ae5f8cc82af32beeb0b34238efeaa60 100644 GIT binary patch delta 5667 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 OT)GD8`fbAP!~Xy$#Ffba literal 0 HcmV?d00001 diff --git a/tests/fixtures/extension_storage/data/objects/15/af5e8f18aea8397ae287ef2f0f237eca7ba410 b/tests/fixtures/extension_storage/data/objects/15/af5e8f18aea8397ae287ef2f0f237eca7ba410 new file mode 100644 index 00000000..778f3f5c --- /dev/null +++ b/tests/fixtures/extension_storage/data/objects/15/af5e8f18aea8397ae287ef2f0f237eca7ba410 @@ -0,0 +1 @@ +{0,0} \ No newline at end of file diff --git a/tests/fixtures/extension_storage/data/objects/3e/09dd8ca40ee4c38920ec37b53860a6335d9749 b/tests/fixtures/extension_storage/data/objects/3e/09dd8ca40ee4c38920ec37b53860a6335d9749 new file mode 100644 index 0000000000000000000000000000000000000000..fa9ff593743743dd74e81d3ee02b81d343b4924f GIT binary patch literal 712 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/extension_storage/data/pack/pack-c262dc49d0c6254821c6af2f1aaced0d0d28d2b3.ind b/tests/fixtures/extension_storage/data/pack/pack-c262dc49d0c6254821c6af2f1aaced0d0d28d2b3.ind new file mode 100644 index 0000000000000000000000000000000000000000..d159252bbb2753b48a574b6c3bb1a4052e12649c GIT binary patch literal 136 zcmWesGIn8NU|?VdVzb9vLMp#kg{+)g$H?)8D|(0F#gvWgKnWmlot`pzow24L<9|N> zwF!5VMEk24c_2~@t|$B5wUdK|t-IQOD@*ruy?4`=lZNU$lyt}Q!ZB43#bfLBrPjRV e<<+>f+2ZY_Yv;88>S)AF`uN1!G4bX1{u}@kC@;AH literal 0 HcmV?d00001 diff --git a/tests/fixtures/extension_storage/data/pack/pack-c262dc49d0c6254821c6af2f1aaced0d0d28d2b3.pck b/tests/fixtures/extension_storage/data/pack/pack-c262dc49d0c6254821c6af2f1aaced0d0d28d2b3.pck new file mode 100644 index 0000000000000000000000000000000000000000..6e606fc3db233a60588cfc97344eab4da068e1bb GIT binary patch literal 2122 zcmV-Q2(|Y_Ga?ZI00003000072LJ#70002JSWAv%xeeS8FqbHAQ-DZ`BDM8J43Ux! zV8E+E1NP3x@DaQjU;xAL6{=6-D>zb2CAbIn~A@eV!g=y*su zp85WsF8R_p$H-=>_hqS$z0wHcRAR~2xw~YX_4NF==f8ja%g4Vy|Mv0E&%ZwZ^ZB>u zU+L*(lczua>FH}0So(CKi(ROZM~$3n9FJn0My`^!*k)N=)yjo0x|_B_H7T``>Xe$S z6iGvA6ccr(xRlErt=if>@rJLJY$sccN0;UZ(`apDw?20a#4@#^*v-aBrc7yWS!!OI zM#F9-tJKDxJi4cPgtO1S(~R7iw^eBwyG6slxdLAngRd7n5NOB<4gG+~l_;9spS>#ea{QT1`gh%E+eD#@c zf9VU4^Y2n@dt}r}?1^v`p2=A(XJoK)dFd{?z9CvSv#s`AjeMJVxYL- z_{;wn_b+ht_0@Zi`msiq3zbiO{Lv1a;C%WW!lu~};E}>(rOMWm7cD94kfGJr>U5!N zjr{){;CB|&OORfD72Tuu1K_KlOhkf3maEM{wEK;8-cdZqosMfA3$7>KPFXdi>|WEs zPM|ALodNHO$$T17j766hR6PCu39oLO{4dMPW6OyiT>sc|e(>}MgI6D0E{`p5k1f~7 zmfK^?`-7SLEc3?}{Mwi44^KC8;~!3HaO8z9x|ZhXg*`^3dUQXpxX~=Di?)Ft1f}pk zg1GJ%)tHO&X(+B<d<%4EjLrHfnHoKMK91~GBeJGCdyQ~4rM1=H`9`*NS&Uf5<0|2l&ot`gQCsY%h}^J z)y;eKfu67JE*0giRJ@sXpL0Wi<$#A(AdNbN7obkT)n^$q8CI zXU^R9UVagf*xGSkfSqb1nCj%D0D!B9Kw95SaYpWKJHC?xDiH5u0}ePpS5-o3`YUlA z5!f;Ln0=}--vveeFG11nlIb?m5Xw%Q3(`D+iAoUF5alV5@h&lr3F>`<3364gj6evv zW$*w{{B7vuMiVmza*F&TB6+1QD2X+XloZ6=>S?MAZ%|pLn@;uu?Rycvai@(hX z#)GgN$1>-GX+g4JsYDe=fj?#3ef5T~2TGk<{m!naPy`K!Ipj`VPiC|d`HC% z7^^fxcc7HVwZu3;_h7ZYOO;-CcOQ35&g))9bFJCkj-WNr#qkS5MH>jl7#;<&xwfEBfQ|7P zg95lG82BG}1!6#t6G4-4Ah-DEm}WR>J6ALWR0{kt6ctj?O6E0a^Jx9m`vQ@WGm?p< zzhW{rEk0!95!WITH}agZqQ-| z31ZxZR5B#i`cm`@QiQ<>ctOs3KbRlAwE%)BYcMXCPyB~@5depZf~>m$!>a@MbGd+z zkpVgVk6F-wLDq5v)6g+GIs#%l9lVKT4|?POYDUIK|Kp;^4>1MN*PVI}TBRtmrJqNC z0}Z?p^Ua_DG>-~J1UfW5$eV#d+SmPGer93?08v^!%E1*%P*Q@b$Z%;mm$~GPOV>bM ze<-+p_#ch{00000001S9y$!-J5QTdrmPqZB?);lfgX~MZMC2kJ1ri$|Mu=!5!V2d} zSOG^gU-RDk^uF6?CUri|{s8@f3VG6@XA2>Z5o~rNq~2>V94%ua?Ku|J$y3(4)GJ-& zQ5Sj3F0aP5-dnQER&U*5#8&N^m6Xxer6Et?LLR`HkzrsWK!X`Q1)j(&Q;r9!t+4z6 zeE Date: Mon, 11 Mar 2019 14:22:21 +0300 Subject: [PATCH 20/76] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=BD=D1=83=D0=B6=D0=BD=D1=8B=D0=B9=20=D0=92=D0=A0?= =?UTF-8?q?=D0=95=D0=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\270\320\267\320\260\321\206\320\270\320\270.os" | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index d13fe0d5..7eb9162f 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -93,7 +93,7 @@ // ИмяРасширения - Строка - имя расширения для выгрузки // Функция ПолучитьИмяРасширения() Экспорт - Возврат ИмяРасширения + Возврат ИмяРасширения КонецФункции // Устанавливает работу с хранилищем расширения @@ -452,9 +452,9 @@ Исключение // проверим текст ошибки, если текст содержит информацию о необходимости конвертировать // тогда выполним конвертацию и повторно попытаемся загрузить файл - ТекстОшибки = ВРег(ХранилищеКонфигурации.ПолучитьВыводКоманды()); - Если Найти(ТекстОшибки, Врег("Не обнаружено свободной лицензии!")) - ИЛИ Найти(ТекстОшибки, Врег("Не найдена лицензия.")) Тогда + ТекстОшибки = ХранилищеКонфигурации.ПолучитьВыводКоманды(); + Если Найти(ВРег(ТекстОшибки), Врег("Не обнаружено свободной лицензии!")) + ИЛИ Найти(ВРег(ТекстОшибки), Врег("Не найдена лицензия.")) Тогда ПериодОжидания = 10000; Лог.Ошибка(ТекстОшибки); @@ -511,7 +511,7 @@ КонецЕсли; КонецПопытки; - КонецЕсли; + КонецЕсли; ОбработчикПодписок.ПослеВыгрузкиКонфигурациюВИсходники(Конфигуратор, КаталогВыгрузки); @@ -1258,7 +1258,6 @@ КонецЕсли; Логирование.ПолучитьЛог("oscript.lib.v8storage").УстановитьУровень(Лог.Уровень()); - Сообщить("Пользователь " + АвторизацияВХранилище.ПользовательХранилища); ПроверитьПараметрыДоступаКХранилищу(); МенеджерХранилищаКонфигурации.УстановитьПараметрыАвторизации(АвторизацияВХранилище.ПользовательХранилища, АвторизацияВХранилище.ПарольХранилища); МенеджерХранилищаКонфигурации.УстановитьПутьКХранилищу(ПутьКХранилищу); From 8589e532609daaf3c9c69e25abada5f068cdd827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 14:22:49 +0300 Subject: [PATCH 21/76] =?UTF-8?q?=D0=98=D0=BC=D1=8F=20=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D0=BF?= =?UTF-8?q?=D0=B0=D0=BA=D0=B5=D1=82=D0=BD=D0=BE=D0=B9=20=D1=81=D0=B8=D0=BD?= =?UTF-8?q?=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 6 ++++++ ...\275\320\270\320\267\320\260\321\206\320\270\321\217.os" | 1 + 2 files changed, 7 insertions(+) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 130d1f81..06cee4f0 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -11,6 +11,7 @@ Перем ПарольПользователяХранилища; Перем УровеньЛогаСинхронизации; Перем КоличествоЦикловОжиданияЛицензии; +Перем ИмяРасширения; Перем ИндексПодписчиков; Перем ПараметрыПодписчиков; @@ -70,6 +71,10 @@ .РежимУдаленияВременныхФайлов(Истина) .АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища); + Если ЗначениеЗаполнено(ИмяРасширения) Тогда + МенеджерСинхронизации.ИмяРасширения(ИмяРасширения); + КонецЕсли; + КонецПроцедуры // Устанавливает путь к каталогу плагинов @@ -119,6 +124,7 @@ ПользовательХранилища = ВходящиеПараметры.ПользовательХранилища; ПарольПользователяХранилища = ВходящиеПараметры.ПарольПользователяХранилища; ВерсияПлатформы = ВходящиеПараметры.ВерсияПлатформы; + ИмяРасширения = ВходящиеПараметры.ИмяРасширения; ПутьКХранилищу = ВходящиеПараметры.ПутьКХранилищу; ПутьКРабочемуКаталогу = ВходящиеПараметры.ПутьКРабочемуКаталогу; ПутьИсполняемомуФайлуГит = ВходящиеПараметры.ПутьИсполняемомуФайлуГит; diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" index af3ef44e..00890702 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" @@ -264,6 +264,7 @@ .ПолеСтрока("Наименование storage-name name") .ПолеСтрока("ПутьКХранилищу storage-path path") .ПолеСтрока("ПутьКРабочемуКаталогу work-dir git-local-path dir") + .ПолеСтрока("ИмяРасширения extention") // Стандартные поля .ПолеСтрока("ПользовательХранилища storage-user user") .ПолеСтрока("ПарольПользователяХранилища storage-pwd storage-password password pass") From e2a4850ec80038ea05642953256d4667d64069e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 14:22:59 +0300 Subject: [PATCH 22/76] =?UTF-8?q?=D0=9D=D0=B5=D0=BC=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/cmd/extention.feature | 30 ++++++++++++ features/cmd/step_definitions/extention.os | 54 ++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 features/cmd/extention.feature create mode 100644 features/cmd/step_definitions/extention.os diff --git a/features/cmd/extention.feature b/features/cmd/extention.feature new file mode 100644 index 00000000..a4258692 --- /dev/null +++ b/features/cmd/extention.feature @@ -0,0 +1,30 @@ +# language: ru + +Функционал: Проверка работы с хранилищем расширения + Как Пользователь + Я хочу выполнить клонирование существующего репозитория гит + Чтобы выполнять автоматическую выгрузку конфигураций из хранилища + +Контекст: Тестовый контекст + Когда Я очищаю параметры команды "gitsync" в контексте + И Я создаю новый объект ГитРепозиторий + И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке + И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С" + И я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилища1С" + И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" + И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" + И Я создаю тестовой файл AUTHORS + И Я записываю "0" в файл VERSION + + Сценарий: Простая синхронизация хранилища с git-репозиторием + Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" + И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" + И Я добавляю параметр "-v" для команды "gitsync" + И Я добавляю параметр "sync" для команды "gitsync" + И Я добавляю параметр "-e test" для команды "gitsync" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Завершена синхронизации с git" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 \ No newline at end of file diff --git a/features/cmd/step_definitions/extention.os b/features/cmd/step_definitions/extention.os new file mode 100644 index 00000000..f4718edd --- /dev/null +++ b/features/cmd/step_definitions/extention.os @@ -0,0 +1,54 @@ +#Использовать fs + +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd + +Перем БДД; //контекст фреймворка 1bdd +Перем ЛокальныеВременныеФайлы; + +// Метод выдает список шагов, реализованных в данном файле-шагов +Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт + БДД = КонтекстФреймворкаBDD; + + ВсеШаги = Новый Массив; + + ВсеШаги.Добавить("ЯСкопировалКаталогТестовогоХранилищаКонфигурацииРасширенияВКаталогИзПеременной"); + + Возврат ВсеШаги; +КонецФункции + +// Реализация шагов + +// Процедура выполняется перед запуском каждого сценария +Процедура ПередЗапускомСценария(Знач Узел) Экспорт + + ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + +КонецПроцедуры + +// Процедура выполняется после завершения каждого сценария +Процедура ПослеЗапускаСценария(Знач Узел) Экспорт + ЛокальныеВременныеФайлы.Удалить(); + +КонецПроцедуры + + +//я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилища1С" +Процедура ЯСкопировалКаталогТестовогоХранилищаКонфигурацииРасширенияВКаталогИзПеременной(Знач ИмяПеременной) Экспорт + КаталогХранилища1С = БДД.ПолучитьИзКонтекста(ИмяПеременной); + ФС.КопироватьСодержимоеКаталога(ПутьКВременномуФайлуХранилища1С(), КаталогХранилища1С); + // КопироватьФайл(ПутьКВременномуФайлуХранилища1С(), ОбъединитьПути(КаталогХранилища1С, "1cv8ddb.1CD")); +КонецПроцедуры + +Функция ПутьКВременномуФайлуХранилища1С() + + Возврат ОбъединитьПути(КаталогFixtures(), "extension_storage"); + +КонецФункции + +Функция КаталогFixtures() + Возврат ОбъединитьПути(КаталогГитсинк(), "tests", "fixtures"); +КонецФункции + +Функция КаталогГитсинк() + Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "..", "..", ".."); +КонецФункции From 70f6d91d11c76cdd8f9e356e1e146a63c012cd9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 14:23:13 +0300 Subject: [PATCH 23/76] =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D1=85=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D0=B0=20=D1=80?= =?UTF-8?q?=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index bf5f4632..c7c44a1b 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,6 @@ src/cmd/oscript.cfg *.cfl *.1CL 1cv8dtmp.1CD -tests/fixtures/extension_storage/data/ -tests/fixtures/extension_storage/cache/ -tests/fixtures/extension_storage/ver +# tests/fixtures/extension_storage/data/ +# tests/fixtures/extension_storage/cache/ +# tests/fixtures/extension_storage/ver From 4b3b2f05076a0767677e48a0fe286f24956136d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 15:01:15 +0300 Subject: [PATCH 24/76] =?UTF-8?q?=D0=97=D0=B0=D0=B2=D0=B8=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20v8runner@1.3.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index 7b966e9e..ebc81f35 100644 --- a/packagedef +++ b/packagedef @@ -4,7 +4,7 @@ .ВерсияСреды("1.0.20") .ЗависитОт("logos", "1.2.0") .ЗависитОт("tempfiles", "0.2.2") - .ЗависитОт("v8runner", "1.1.3") + .ЗависитОт("v8runner", "1.3.0") .ЗависитОт("gitrunner", "1.2.0") .ЗависитОт("strings", "0.4.1") .ЗависитОт("1commands", "1.3.4") From 6838ebe096ac731e83956acbd514ec985279fccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 16:32:42 +0300 Subject: [PATCH 25/76] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=BF=D1=83=D1=82?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BB=D0=B0=D1=82=D1=84=D0=BE=D1=80=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/cmd/step_definitions/shared.os | 6 ++++ features/cmd/step_definitions/v8path.os | 45 +++++++++++++++++++++++++ features/cmd/v8path.feature | 5 +-- 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 features/cmd/step_definitions/v8path.os diff --git a/features/cmd/step_definitions/shared.os b/features/cmd/step_definitions/shared.os index 0417a9c3..b17a93a7 100644 --- a/features/cmd/step_definitions/shared.os +++ b/features/cmd/step_definitions/shared.os @@ -193,7 +193,13 @@ Процедура ЯДобавляюПараметрДляКомандыИзПеременной(Знач Параметр, Знач ИмяКоманды, Знач ИмяПеременной) Экспорт Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); ЗначениеПеременной = БДД.ПолучитьИзКонтекста(ИмяПеременной); + + Если СтрНайти(ЗначениеПеременной, " ") Тогда + ЗначениеПеременной = ОбернутьВКавычки(ЗначениеПеременной); + КонецЕсли; + Команда.ДобавитьПараметр(СтрШаблон("%1 %2", Параметр, ЗначениеПеременной)); + КонецПроцедуры //Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке diff --git a/features/cmd/step_definitions/v8path.os b/features/cmd/step_definitions/v8path.os new file mode 100644 index 00000000..3d675627 --- /dev/null +++ b/features/cmd/step_definitions/v8path.os @@ -0,0 +1,45 @@ +#Использовать v8find +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd + +Перем БДД; //контекст фреймворка 1bdd + +// Метод выдает список шагов, реализованных в данном файле-шагов +Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт + БДД = КонтекстФреймворкаBDD; + + ВсеШаги = Новый Массив; + + ВсеШаги.Добавить("ЯИщюПлатформуИСохранюНайденныйПуть"); + + Возврат ВсеШаги; +КонецФункции + +// Реализация шагов + +// Процедура выполняется перед запуском каждого сценария +Процедура ПередЗапускомСценария(Знач Узел) Экспорт + +КонецПроцедуры + +// Процедура выполняется после завершения каждого сценария +Процедура ПослеЗапускаСценария(Знач Узел) Экспорт + +КонецПроцедуры + + +//Я ищю платформу и сохраню найденный путь "ПутьКПлатформе1С" +Процедура ЯИщюПлатформуИСохранюНайденныйПуть(Знач ИмяПеременной) Экспорт + + ПутьКПлатформе1С = Платформа1С.ПутьКПредприятию("8.3"); + + Если Не ЗначениеЗаполнено(ПутьКПлатформе1С) Тогда + ВызватьИсключение "Не найден путь к платформе 1С"; + КонецЕсли; + + БДД.СохранитьВКонтекст(ИмяПеременной, ПутьКПлатформе1С); + +КонецПроцедуры + +Функция ОбернутьВКавычки(Знач Строка); + Возврат """" + Строка + """"; +КонецФункции \ No newline at end of file diff --git a/features/cmd/v8path.feature b/features/cmd/v8path.feature index 14870025..67eb83c3 100644 --- a/features/cmd/v8path.feature +++ b/features/cmd/v8path.feature @@ -13,19 +13,20 @@ И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" + И Я ищю платформу и сохраню найденный путь "ПутьКПлатформе1С" И Я создаю тестовой файл AUTHORS И Я записываю "0" в файл VERSION Сценарий: Простая синхронизация хранилища с git-репозиторием Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" - И Я добавляю параметр "--v8-path /opt/1C/v8.3/i386/1cv8" для команды "gitsync" + И Я добавляю параметр "--v8-path" для команды "gitsync" из переменной "ПутьКПлатформе1С" И Я добавляю параметр "-v" для команды "gitsync" И Я добавляю параметр "sync" для команды "gitsync" И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С" И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников" Когда Я выполняю команду "gitsync" - Тогда Вывод команды "gitsync" содержит "ОТЛАДКА - Используется путь к платформе 1С " + Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Используется путь к платформе 1С" И Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Завершена синхронизации с git" И Вывод команды "gitsync" не содержит "Внешнее исключение" И Код возврата команды "gitsync" равен 0 \ No newline at end of file From 56953b13c7fd44c998dc60518f6f6d6d09a61a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 16:44:07 +0300 Subject: [PATCH 26/76] =?UTF-8?q?fix=20#175=20=D0=9E=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0=D1=87=D0=B8?= =?UTF-8?q?=20=D1=82=D0=B8=D0=BF=D0=B0=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" index 05959f55..fa7f4766 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" @@ -45,7 +45,7 @@ ОбщиеПараметры = ПараметрыПриложения.Параметры(); ПакетнаяСинхронизация = Новый ПакетнаяСинхронизация(); - ПакетнаяСинхронизация.УстановитьНастройки(ФайлНастроек); + ПакетнаяСинхронизация.УстановитьНастройки(ПутьКФайлуНастроек); ПакетнаяСинхронизация.ТаймерПовторения(ИнтервалПовторенияСинхронизации) .КаталогПлагинов(ПараметрыПриложения.КаталогПлагинов()) .ФайлВключенныхПлагинов(ПараметрыПриложения.ФайлВключенныхПлагинов()) From 588670ade352bc79344274182ea181f43fb7958d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 17:26:35 +0300 Subject: [PATCH 27/76] =?UTF-8?q?=D0=97=D0=B0=D0=BF=D0=B0=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B?= =?UTF-8?q?=20usage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 0 ...4\320\260\320\275\320\264\320\260Usage.os" | 137 ++++-------------- .../clone_Gitsync.os" | 34 +++++ .../init_Gitsync.os" | 34 +++++ .../plugins_Gitsync.os" | 34 +++++ .../setversion_Gitsync.os" | 34 +++++ .../sync_Gitsync.os" | 34 +++++ .../usage_Gitsync.os" | 34 +++++ ...320\271\320\273\320\276\320\262Gitsync.os" | 7 + tasks/pack.os | 4 +- 10 files changed, 239 insertions(+), 113 deletions(-) create mode 100644 docs/usage.md create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/clone_Gitsync.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/init_Gitsync.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/plugins_Gitsync.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/setversion_Gitsync.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/sync_Gitsync.os" create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/usage_Gitsync.os" diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 00000000..e69de29b diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Usage.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Usage.os" index 054bb432..3e18eefd 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Usage.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Usage.os" @@ -1,3 +1,5 @@ +#Использовать "../../core/Классы/internal/bindata" + Перем ЭтоWindows; Перем ИмяКомандыGitsync; @@ -8,22 +10,11 @@ Команда.Аргумент("COMMAND", "", "Команда для вывода подробностей использования").ТСтрока().Обязательный(Ложь); - //Команда.УстановитьДействиеПередВыполнением(ПараметрыПриложения); - //Команда.УстановитьДействиеПослеВыполнения(ПараметрыПриложения); - КонецПроцедуры Процедура ВыполнитьКоманду(Знач Команда) Экспорт - Если ПараметрыПриложения.ЭтоСборкаEXE() Тогда - - Лог.Информация("Команда для собранного приложения в exe не доступна"); - - Возврат; - - КонецЕсли; - - ИмяКоманды = Команда.ЗначениеАргумента("COMMAND"); + ИмяКоманды = Команда.ЗначениеАргумента("COMMAND"); Если ПустаяСтрока(ИмяКоманды) Тогда ВывестиОбщееИспользование(); @@ -101,26 +92,29 @@ Процедура ВывестиИспользованиеКоманды(Знач ИмяКоманды) + ИмяКомандыСправки = ""; + Если ИмяКоманды = "init" или ИмяКоманды = "i" Тогда - ВывестиИспользованиеInit(); + ИмяКомандыСправки = "init"; ИначеЕсли ИмяКоманды = "clone" или ИмяКоманды = "c" Тогда - ВывестиИспользованиеClone(); + ИмяКомандыСправки = "clone"; ИначеЕсли ИмяКоманды = "sync" или ИмяКоманды = "s" Тогда - ВывестиИспользованиеSync(); + ИмяКомандыСправки = "sync"; ИначеЕсли ИмяКоманды = "setversion" - или ИмяКоманды = "v" Тогда - ВывестиИспользованиеSetVersion(); + или ИмяКоманды = "sv" Тогда + ИмяКомандыСправки = "set-version"; ИначеЕсли ИмяКоманды = "plugins" или ИмяКоманды = "p" Тогда - ВывестиИспользованиеPlugins(); + ИмяКомандыСправки = "plugins"; Иначе - Сообщить("Команда для подробного использования не корректная или не найдена"); - ВывестиОбщееИспользование(); + ИмяКомандыСправки = "usage"; КонецЕсли; + ВывестиОписаниеДляКоманды(ИмяКомандыСправки); + КонецПроцедуры Процедура ВывестиОписание(Знач ТекстОписания) @@ -163,110 +157,31 @@ КонецПроцедуры -Процедура ВывестиИспользованиеInit() - - ОписаниеКомандыInit = ПрочитатьФайл(ОбъединитьПути(КаталогДокументации, "init.md")); - - ВывестиОписание(ОписаниеКомандыInit); - -КонецПроцедуры - -Процедура ВывестиИспользованиеClone() - - ПодробноеОписаниеКоманды = " - | Подробное описание использования команды - | - | clone (синоним c) - клонирует репозиторий git и при необходимости наполняет его данными из хранилища 1С - | Подробную справку по параметрам см. %1 clone --help - | - | В РАЗРАБОТКЕ - |"; - - ВывестиОписание(ПодробноеОписаниеКоманды); - -КонецПроцедуры - -Процедура ВывестиИспользованиеSync() - - ПодробноеОписаниеКоманды = " - | Подробное описание использования команды - | - | sync (синоним s) - инициализация нового хранилища git и наполнение его данными из хранилища 1С - | Подробную справку по параметрам см. %1 sync --help - | - | Переменные окружения: - | * GITSYNC_WORKDIR - рабочий каталог для команды - | * GITSYNC_STORAGE_PATH - путь к хранилищу конфигурации 1С. - | - | Примеры, использования: - | - | 1. Простое использование - | - | > %1 sync C:/Хранилище_1С/ C:/work_dir/ - | - | Данная команда выполнит синхронизация - | версий хранилища 1С ""C:/Хранилище_1С/"" - | в рабочем каталоге ""C:/work_dir/"" - | - | 2. Инциализация в текущем рабочем каталоге, - | переменная окружения не должна быть задана - | - | > cd C:/work_dir/ - | > %1 sync C:/Хранилище_1С/ - | - | Данная команда выполнит синхронизация - | версий хранилища 1С ""C:/Хранилище_1С/"" - | в рабочем каталоге ""C:/work_dir/"" - | - - |"; +Процедура ВывестиОписаниеДляКоманды(Знач ИмяКоманды) - ВывестиОписание(ПодробноеОписаниеКоманды); - -КонецПроцедуры - -Процедура ВывестиИспользованиеSetVersion() - - ПодробноеОписаниеКоманды = "Подробное описание использования команды - | - | setversion (синоним v) - устанавливает необходимую версию в файл VERSION - | Подробную справку по параметрам см. %1 setversion --help - | - | В РАЗРАБОТКЕ - |"; + ИмяФайла = СтрШаблон("%1.md", ИмяКоманды); - ВывестиОписание(ПодробноеОписаниеКоманды); + Если ПараметрыПриложения.ЭтоСборкаEXE() Тогда + + ЗагрузчикЗапакованныхФайловGitsync = Новый ЗагрузчикЗапакованныхФайловGitsync; + ТекстОписанияКоманды = ПрочитатьФайл(ЗагрузчикЗапакованныхФайловGitsync.ПолучитьПутьКФайлу(ИмяФайла)); -КонецПроцедуры + Иначе -Процедура ВывестиИспользованиеPlugins() - - ПодробноеОписаниеКоманды = "Подробное описание использования команды - | - | plugins (синоним p) - инициализация нового хранилища git и наполнение его данными из хранилища 1С - | Подробную справку по параметрам см. %1 plugins --help - | - | В РАЗРАБОТКЕ - |"; + КаталогДокументации = ОбъединитьПути(ОбъединитьПути(ТекущийСценарий().Каталог, "..","..", ".."),"docs"); + ТекстОписанияКоманды = ПрочитатьФайл(ОбъединитьПути(КаталогДокументации, ИмяФайла)); - ВывестиОписание(ПодробноеОписаниеКоманды); + КонецЕсли; + + ВывестиОписание(ТекстОписанияКоманды); КонецПроцедуры - Функция Инициализация() СистемнаяИнформация = Новый СистемнаяИнформация; ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; - Если ЭтоWindows Тогда - ИмяКомандыGitsync = "gitsync"; - Иначе - ИмяКомандыGitsync = "gitsync"; - КонецЕсли; - - КаталогДокументации = ОбъединитьПути(ОбъединитьПути(ТекущийСценарий().Каталог, "..","..", ".."),"docs"); - Лог = ПараметрыПриложения.Лог(); КонецФункции diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/clone_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/clone_Gitsync.os" new file mode 100644 index 00000000..6217bcc1 --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/clone_Gitsync.os" @@ -0,0 +1,34 @@ + +/////////////////////////////////////////// +// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // +/////////////////////////////////////////// +// +// ФАЙЛ: +// + +// Возвращает версию запакованного файла +// +Функция Версия() Экспорт + Возврат "1.0.0"; +КонецФункции + +// Возвращает имя запакованного файла +// +Функция ИмяФайла() Экспорт + Возврат "clone.md"; +КонецФункции + +// Возвращает хеш строку запакованного файла +// +Функция Хеш() Экспорт + Возврат "D41D8CD98F00B204E9800998ECF8427E"; +КонецФункции + +// Возвращает запакованные данные файла +// +Функция ДвоичныеДанные() Экспорт + ЗапакованныеДанные = ""; + Возврат ЗапакованныеДанные; +КонецФункции + + diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/init_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/init_Gitsync.os" new file mode 100644 index 00000000..22a0dc34 --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/init_Gitsync.os" @@ -0,0 +1,34 @@ + +/////////////////////////////////////////// +// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // +/////////////////////////////////////////// +// +// ФАЙЛ: +// + +// Возвращает версию запакованного файла +// +Функция Версия() Экспорт + Возврат "1.0.0"; +КонецФункции + +// Возвращает имя запакованного файла +// +Функция ИмяФайла() Экспорт + Возврат "init.md"; +КонецФункции + +// Возвращает хеш строку запакованного файла +// +Функция Хеш() Экспорт + Возврат "C13A148F21716C93E20BA5B2F99F57E4"; +КонецФункции + +// Возвращает запакованные данные файла +// +Функция ДвоичныеДанные() Экспорт + ЗапакованныеДанные = "IyDQn9C+0LTRgNC+0LHQvdC+0LUg0L7Qv9C40YHQsNC90LjQtSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQutC+0LzQsNC90LTRiyA8aW5pdD4KCmluaXQgKNGB0LjQvdC+0L3QuNC8IGkpIC0g0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0L3QvtCy0L7Qs9C+INGF0YDQsNC90LjQu9C40YnQsCBnaXQg0Lgg0L3QsNC/0L7Qu9C90LXQvdC40LUg0LXQs9C+INC00LDQvdC90YvQvNC4INC40Lcg0YXRgNCw0L3QuNC70LjRidCwIDHQoQoKPiDQn9C+0LTRgNC+0LHQvdGD0Y4g0YHQv9GA0LDQstC60YMg0L/QviDQvtC/0YbQuNGP0Lwg0Lgg0LDRgNCz0YPQvNC10L3RgtCw0Lwg0YHQvC4gYGdpdHN5bmMgaW5pdCAtLWhlbHBgCgotLS0tLS0tLS0tLS0tLQojIyMg0KHQv9GA0LDQstC60LAg0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjiDQutC+0LzQsNC90LTRizoKYGBgCtCa0L7QvNCw0L3QtNCwOiBpbml0LCBpCiDQmNC90LjRhtC40LDQu9C40LfQsNGG0LjRjyDRgdGC0YDRg9C60YLRg9GA0Ysg0L3QvtCy0L7Qs9C+INGF0YDQsNC90LjQu9C40YnQsCBnaXQuINCf0L7QtNCz0L7RgtC+0LLQutCwINC6INGB0LjQvdGF0YDQvtC90LjQt9Cw0YbQuNC4CgrQodGC0YDQvtC60LAg0LfQsNC/0YPRgdC60LA6IGdpdHN5bmMgaW5pdCBb0J7Qn9Cm0JjQmF0gUEFUSCBbV09SS0RJUl0KCtCQ0YDQs9GD0LzQtdC90YLRizoKICBQQVRIICAgICAgICAgINCf0YPRgtGMINC6INGF0YDQsNC90LjQu9C40YnRgyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggMdChLiAoZW52ICRHSVRTWU5DX1NUT1JBR0VfUEFUSCkKICBXT1JLRElSICAgICAgINCQ0LTRgNC10YEg0LvQvtC60LDQu9GM0L3QvtCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyBHSVQg0LjQu9C4INC60LDRgtCw0LvQvtCzINC40YHRhdC+0LTQvdC40LrQvtCyINCy0L3Rg9GC0YDQuCDQu9C+0LrQsNC70YzQvdC+0Lkg0LrQvtC/0LjQuCBnaXQt0YDQtdC/0L7Qt9C40YLQsNGA0LjRjy4g0J/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0YLQtdC60YPRidC40Lkg0LrQsNGC0LDQu9C+0LMgKGVudiAkR0lUU1lOQ19XT1JLRElSKQoK0J7Qv9GG0LjQuDoKICAtdSwgLS1zdG9yYWdlLXVzZXIgICAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGF0YDQsNC90LjQu9C40YnQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggKGVudiAkR0lUU1lOQ19TVE9SQUdFX1VTRVIpICjQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQkNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgCkKICAtcCwgLS1zdG9yYWdlLXB3ZCAgICAg0L/QsNGA0L7Qu9GMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRhdGA0LDQvdC40LvQuNGJ0LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IChlbnYgJEdJVFNZTkNfU1RPUkFHRV9QQVNTV09SRCwgJEdJVFNZTkNfU1RPUkFHRV9QV0QpCmBgYAotLS0tLS0tLS0tLS0tLQojIyMg0JPQu9C+0LHQsNC70YzQvdGL0LUg0L/QtdGA0LXQvNC10L3QvdGL0LUg0L7QutGA0YPQttC10L3QuNGPCnwg0JjQvNGPICAgICAgICAgICAgICAgICB8INCe0L/QuNGB0LDQvdC40LUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBgR0lUU1lOQ19WOFZFUlNJT05gIHwg0LzQsNGB0LrQsCDQstC10YDRgdC40Lgg0L/Qu9Cw0YLRhNC+0YDQvNGLICg4LjMsIDguMy41LCA4LjMuNi4yMjk5INC4INGCLtC/LikgfAp8IGBHSVRTWU5DX1ZFUlNPQkVgICAgfCDQstGL0LLQvtC0INC+0YLQu9Cw0LTQvtGH0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNGPINCyINC/0YDQvtGG0LXRgdGB0LUg0LLRi9C/0L7Qu9C90LXQvdC40LggICAgICB8CnwgYEdJVFNZTkNfVEVNUGAgICAgICB8INC/0YPRgtGMINC6INC60LDRgtCw0LvQvtCz0YMg0LLRgNC10LzQtdC90L3Ri9GFINGE0LDQudC70L7QsiAgICAgICAgICAgICAgICAgICAgICAgfAp8IGBHSVRTWU5DX0VNQUlMYCAgICAgfCDQtNC+0LzQtdC9INC/0L7Rh9GC0Ysg0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5IGdpdCAgICAgICAgICAgICAgICAgICAgICB8CgotLS0tLS0tLS0tLS0tLQojIyMg0J/QtdGA0LXQvNC10L3QvdGL0LUg0L7QutGA0YPQttC10L3QuNGPINC60L7QvNCw0L3QtNGLCgp8INCY0LzRjyAgICAgICAgICAgICAgICAgICAgICAgIHwg0J7Qv9C40YHQsNC90LjQtSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBgR0lUU1lOQ19XT1JLRElSYCAgICAgICAgICB8INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC00LvRjyDQutC+0LzQsNC90LTRiyAgICAgICAgICAgICAgICB8CnwgYEdJVFNZTkNfU1RPUkFHRV9QQVRIYCAgICAgfCDQv9GD0YLRjCDQuiDRhdGA0LDQvdC40LvQuNGJ0YMg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IDHQoS4gICAgICAgICAgfAp8IGBHSVRTWU5DX1NUT1JBR0VfVVNFUmAgICAgIHwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGF0YDQsNC90LjQu9C40YnQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggICAgICAgIHwKfCBgR0lUU1lOQ19TVE9SQUdFX1BBU1NXT1JEYCB8INC/0LDRgNC+0LvRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0YXRgNCw0L3QuNC70LjRidCwINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCB8Ci0tLS0tLS0tLS0tLS0tCiMjIyDQl9C90LDRh9C10L3QuNGPINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOgp8ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8LS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IFdPUktESVIgICAgICAgICAgICB8INGC0LXQutGD0YnQsNGPINGA0LDQsdC+0YfQsNGPINC00LjRgNC10LrRgtC+0YDQuNGPICAgfAp8IC11LCAtLXN0b3JhZ2UtdXNlciB8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCBg0JDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YBgIHwKCi0tLS0tLS0tLS0tLS0tCiMjINCf0YDQuNC80LXRgNGLLCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjwoqKioKKiDQn9GA0L7RgdGC0L7QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtQoKICAgIGBnaXRzeW5jIGluaXQgQzov0KXRgNCw0L3QuNC70LjRidC1XzHQoS8gQzovR0lUL3NyY2AKCiAgICDQlNCw0L3QvdCw0Y8g0LrQvtC80LDQvdC00LAg0YHQvtC30LTQsNGB0YIg0L3QvtCy0YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IGdpdCDQsiDQutCw0YLQsNC70L7Qs9C1IGBDOi9HSVQvc3JjYCDQuNC3INGF0YDQsNC90LjQu9C40YnQsCAx0KEg0L/QviDQv9GD0YLQuCBgQzov0KXRgNCw0L3QuNC70LjRidC1XzHQoS9gCioqKgoqINCj0LrQsNC30LDQvdC40LUg0LrQvtC90LrRgNC10YLQvdC+0Lkg0LLQtdGA0YHQuNC4INC/0LvQsNGC0YTQvtGA0LzRiwoKICAgIGBnaXRzeW5jIC0tdjh2ZXJzaW9uPTguMy45IGluaXQgQzov0KXRgNCw0L3QuNC70LjRidC1XzHQoS8gQzovR0lUL3NyY2AKCiAgICDQlNCw0L3QvdCw0Y8g0LrQvtC80LDQvdC00LAg0YHQvtC30LTQsNGB0YIg0L3QvtCy0YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IGdpdCDQsiDQutCw0YLQsNC70L7Qs9C1IGBDOi9HSVQvc3JjYCDQuNC3INGF0YDQsNC90LjQu9C40YnQsCAx0KEg0L/QviDQv9GD0YLQuCBgQzov0KXRgNCw0L3QuNC70LjRidC1XzHQoS9gCiAgICDQlNC70Y8g0YDQsNCx0L7RgtGLINCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMY9GPINC/0LvQsNGC0YTQvtGA0LzQsCA4LjMuOS54eHh4CioqKgoqINCj0LrQsNC30LDQvdC40LUg0LLRi9Cy0L7QtNCwINC+0YLQu9Cw0LTQvtGH0L3Ri9GFINC70L7Qs9C+0LIKCiAgICBgZ2l0c3luYyAtLXZlcmJvc2UgaW5pdCBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChLyBDOi9HSVQvc3JjYAogICAg0LjQu9C4CiAgICBgZ2l0c3luYyAtdiBpbml0IEM6L9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvIEM6L0dJVC9zcmNgCgogICAg0JTQsNC90L3QsNGPINC60L7QvNCw0L3QtNCwINGB0L7Qt9C00LDRgdGCINC90L7QstGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBnaXQg0LIg0LrQsNGC0LDQu9C+0LPQtSBgQzovR0lUL3NyY2Ag0LjQtyDRhdGA0LDQvdC40LvQuNGJ0LAgMdChINC/0L4g0L/Rg9GC0LggYEM6L9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvYAogICAg0J/QvtGB0LvQtSDRg9C60LDQt9Cw0L3QuNGPINCx0YPQtNC10YIg0LLRi9Cy0L7QtNC40YLRjNGB0Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQvtGC0LvQsNC00L7Rh9C90YvQtSDQu9C+0LPQuCDRgSDQv9GA0LjQt9C90LDQutC+0LwgYNCe0YLQu9Cw0LTQutCwYAoqKioKKiDQo9C60LDQt9Cw0L3QuNC1INC60LDRgtCw0LvQvtCz0LAg0LLRgNC10LzQtdC90L3Ri9GFINGE0LDQudC70L7QsiDQv9GA0Lgg0YDQsNCx0L7RgtC1INC/0YDQuNC70L7QttC10L3QuNGPCgogICAgYGdpdHN5bmMgLS10ZW1wZGlyPS4vdGVtcF9zeW5jLyBpbml0IEM6L9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvIEM6L0dJVC9zcmNgCiAgICDQuNC70LgKICAgIGBnaXRzeW5jIC10IC4vdGVtcF9zeW5jLyBpbml0IEM6L9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvIEM6L0dJVC9zcmNgCgogICAg0JTQsNC90L3QsNGPINC60L7QvNCw0L3QtNCwINGB0L7Qt9C00LDRgdGCINC90L7QstGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBnaXQg0LIg0LrQsNGC0LDQu9C+0LPQtSBgQzovR0lUL3NyY2Ag0LjQtyDRhdGA0LDQvdC40LvQuNGJ0LAgMdChINC/0L4g0L/Rg9GC0LggYEM6L9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvYAogICAg0JTQu9GPINGA0LDQsdC+0YLRiyDQsdGD0LTQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjGPRjyDQutCw0YLQsNC70L7QsyDQstGA0LXQvNC10L3QvdGL0YUg0YTQsNC50LvQvtCyIGAuL3RlbXBfc3luYy9gCioqKgoqINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQuNGPINCyINGC0LXQutGD0YnQtdC8INGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUsCgogICAgPiDQv9C10YDQtdC80LXQvdC90LDRjyDQvtC60YDRg9C20LXQvdC40Y8gKipgR0lUU1lOQ19XT1JLRElSYCoqINC90LUg0LTQvtC70LbQvdCwINCx0YvRgtGMINC30LDQtNCw0L3QsAoKICAgIGBgYHNoCiAgICBjZCBDOi93b3JrX2Rpci8KICAgIGdpdHN5bmMgaW5pdCBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChLwogICAgYGBgCiAgICDQlNCw0L3QvdCw0Y8g0LrQvtC80LDQvdC00LAg0YHQvtC30LTQsNGB0YIg0L3QvtCy0YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IGdpdCDQsiDQutCw0YLQsNC70L7Qs9C1IGBDOi93b3JrX2Rpci9gINC40Lcg0YXRgNCw0L3QuNC70LjRidCwIDHQoSDQv9C+INC/0YPRgtC4IGBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChL2AKKioqCiog0JjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0LIg0YEg0YPQutCw0LfQsNC90LjQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuCDQv9Cw0YDQvtC70Y8uCgogICAgYGBgc2gKICAgIGdpdHN5bmMgaW5pdCAtLXN0b3JhZ2UtdXNlciBBZG1pbiAtLXN0b3JhZ2UtcHdkPVNlY3JldCBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChLyBDOi93b3JrX2Rpci8KICAgIGBgYAogICAg0JTQsNC90L3QsNGPINC60L7QvNCw0L3QtNCwINGB0L7Qt9C00LDRgdGCINC90L7QstGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBnaXQg0LIg0LrQsNGC0LDQu9C+0LPQtSBgQzovd29ya19kaXIvYCDQuNC3INGF0YDQsNC90LjQu9C40YnQsCAx0KEg0L/QviDQv9GD0YLQuCBgQzov0KXRgNCw0L3QuNC70LjRidC1XzHQoS9gCioqKgoqINCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INGB0LjQvdC+0L3QuNC80L7QsiAo0LrQvtGA0L7RgtC60LDRjyDQstC10YDRgdC40Y8g0L/RgNC10LTRi9C00YPRidC10LPQviDQv9GA0LjQvNC10YDQsCkKCiAgICBgYGBzaAogICAgZ2l0c3luYyBpIC11QWRtaW4gLXA9U2VjcmV0IEM6L9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvIEM6L3dvcmtfZGlyLwogICAgYGBgCiAgICDQlNCw0L3QvdCw0Y8g0LrQvtC80LDQvdC00LAg0YHQvtC30LTQsNGB0YIg0L3QvtCy0YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IGdpdCDQsiDQutCw0YLQsNC70L7Qs9C1IGBDOi93b3JrX2Rpci9gINC40Lcg0YXRgNCw0L3QuNC70LjRidCwIDHQoSDQv9C+INC/0YPRgtC4IGBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChL2AKKioqCiog0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YLQvtC70YzQutC+INC/0LXRgNC10LzQtdC90L3Ri9GFINC+0LrRgNGD0LbQtdC90LjRjwoKICAgIGxpbnV4OgogICAgYGBgc2gKICAgIGV4cG9ydCBHSVRTWU5DX1dPUktESVI9Li93b3JrX2Rpci8KICAgIGV4cG9ydCBHSVRTWU5DX1NUT1JBR0VfUEFUSD0uL9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvCgogICAgZXhwb3J0IEdJVFNZTkNfU1RPUkFHRV9VU0VSPdCQ0LTQvNC40L0KICAgIGV4cG9ydCBHSVRTWU5DX1NUT1JBR0VfUEFTU1dPUkQ90J/QsNGA0L7Qu9GMCiAgICBleHBvcnQgR0lUU1lOQ19WOFZFUlNJT049OC4zLjcKICAgIGV4cG9ydCBHSVRTWU5DX1ZFUlNPQkU9dHJ1ZSAj0JzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0JTQsC/Qm9C+0LbRjC/QndC10YIv0JjRgdGC0LjQvdCwCiAgICBleHBvcnQgR0lUU1lOQ19URU1QPS4vdGVtcC9zeW5jCiAgICBnaXRzeW5jIGkKICAgIGBgYAogICAgCiAgICB3aW5kb3dzOgogICAgYGBgY21kCiAgICBzZXQgR0lUU1lOQ19XT1JLRElSPS4vd29ya19kaXIvCiAgICBzZXQgR0lUU1lOQ19TVE9SQUdFX1BBVEg9Li/QpdGA0LDQvdC40LvQuNGJ0LVfMdChLwoKICAgIHNldCBHSVRTWU5DX1NUT1JBR0VfVVNFUj3QkNC00LzQuNC9CiAgICBzZXQgR0lUU1lOQ19TVE9SQUdFX1BBU1NXT1JEPdCf0LDRgNC+0LvRjAogICAgc2V0IEdJVFNZTkNfVjhWRVJTSU9OPTguMy43CiAgICBzZXQgR0lUU1lOQ19WRVJTT0JFPXRydWUgI9Cc0L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCU0LAv0JvQvtC20Ywv0J3QtdGCL9CY0YHRgtC40L3QsAogICAgc2V0IEdJVFNZTkNfVEVNUD0uL3RlbXAvc3luYwoKICAgIGdpdHN5bmMgaQogICAgYGBgCiAgICDQlNCw0L3QvdCw0Y8g0LrQvtC80LDQvdC00LAg0YHQvtC30LTQsNGB0YIg0L3QvtCy0YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IGdpdCDQsiDQutCw0YLQsNC70L7Qs9C1IGBDOi93b3JrX2Rpci9gINC40Lcg0YXRgNCw0L3QuNC70LjRidCwIDHQoSDQv9C+INC/0YPRgtC4IGBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChL2A="; + Возврат ЗапакованныеДанные; +КонецФункции + + diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/plugins_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/plugins_Gitsync.os" new file mode 100644 index 00000000..ffcedf55 --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/plugins_Gitsync.os" @@ -0,0 +1,34 @@ + +/////////////////////////////////////////// +// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // +/////////////////////////////////////////// +// +// ФАЙЛ: +// + +// Возвращает версию запакованного файла +// +Функция Версия() Экспорт + Возврат "1.0.0"; +КонецФункции + +// Возвращает имя запакованного файла +// +Функция ИмяФайла() Экспорт + Возврат "plugins.md"; +КонецФункции + +// Возвращает хеш строку запакованного файла +// +Функция Хеш() Экспорт + Возврат "D41D8CD98F00B204E9800998ECF8427E"; +КонецФункции + +// Возвращает запакованные данные файла +// +Функция ДвоичныеДанные() Экспорт + ЗапакованныеДанные = ""; + Возврат ЗапакованныеДанные; +КонецФункции + + diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/setversion_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/setversion_Gitsync.os" new file mode 100644 index 00000000..35edd93d --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/setversion_Gitsync.os" @@ -0,0 +1,34 @@ + +/////////////////////////////////////////// +// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // +/////////////////////////////////////////// +// +// ФАЙЛ: +// + +// Возвращает версию запакованного файла +// +Функция Версия() Экспорт + Возврат "1.0.0"; +КонецФункции + +// Возвращает имя запакованного файла +// +Функция ИмяФайла() Экспорт + Возврат "setversion.md"; +КонецФункции + +// Возвращает хеш строку запакованного файла +// +Функция Хеш() Экспорт + Возврат "D41D8CD98F00B204E9800998ECF8427E"; +КонецФункции + +// Возвращает запакованные данные файла +// +Функция ДвоичныеДанные() Экспорт + ЗапакованныеДанные = ""; + Возврат ЗапакованныеДанные; +КонецФункции + + diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/sync_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/sync_Gitsync.os" new file mode 100644 index 00000000..7243f598 --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/sync_Gitsync.os" @@ -0,0 +1,34 @@ + +/////////////////////////////////////////// +// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // +/////////////////////////////////////////// +// +// ФАЙЛ: +// + +// Возвращает версию запакованного файла +// +Функция Версия() Экспорт + Возврат "1.0.0"; +КонецФункции + +// Возвращает имя запакованного файла +// +Функция ИмяФайла() Экспорт + Возврат "sync.md"; +КонецФункции + +// Возвращает хеш строку запакованного файла +// +Функция Хеш() Экспорт + Возврат "74CEF0F61D02F663EE3857B6112384D2"; +КонецФункции + +// Возвращает запакованные данные файла +// +Функция ДвоичныеДанные() Экспорт + ЗапакованныеДанные = "IyDQn9C+0LTRgNC+0LHQvdC+0LUg0L7Qv9C40YHQsNC90LjQtSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQutC+0LzQsNC90LTRiyA8c3luYz4KCnN5bmMgKNGB0LjQvdC+0L3QuNC8IHMpIC0g0JLRi9C/0L7Qu9C90Y/QtdGCINGB0LjQvdGF0YDQvtC90LjQt9Cw0YbQuNGOINGF0YDQsNC90LjQu9C40YnQsCAx0KEg0YEgZ2l0LdGA0LXQv9C+0LfQuNGC0L7RgNC40LXQvAoKPiDQn9C+0LTRgNC+0LHQvdGD0Y4g0YHQv9GA0LDQstC60YMg0L/QviDQvtC/0YbQuNGP0Lwg0Lgg0LDRgNCz0YPQvNC10L3RgtCw0Lwg0YHQvC4gYGdpdHN5bmMgc3luYyAtLWhlbHBgCgojIyMg0KHQv9GA0LDQstC60LAg0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjiDQutC+0LzQsNC90LTRizoKYGBgCtCa0L7QvNCw0L3QtNCwOiBzeW5jLCBzCiDQktGL0L/QvtC70L3Rj9C10YIg0YHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y4g0YXRgNCw0L3QuNC70LjRidCwIDHQoSDRgSBnaXQt0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8CgrQodGC0YDQvtC60LAg0LfQsNC/0YPRgdC60LA6IGdpdHN5bmMgc3luYyBb0J7Qn9Cm0JjQmF0gUEFUSCBbV09SS0RJUl0KCtCQ0YDQs9GD0LzQtdC90YLRizoKICBQQVRIICAgICAgICAgINCf0YPRgtGMINC6INGF0YDQsNC90LjQu9C40YnRgyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggMdChLiAoZW52ICRHSVRTWU5DX1NUT1JBR0VfUEFUSCkKICBXT1JLRElSICAgICAgINCa0LDRgtCw0LvQvtCzINC40YHRhdC+0LTQvdC40LrQvtCyINCy0L3Rg9GC0YDQuCDQu9C+0LrQsNC70YzQvdC+0Lkg0LrQvtC/0LjQuCBnaXQt0YDQtdC/0L7Qt9C40YLQsNGA0LjRjy4gKGVudiAkR0lUU1lOQ19XT1JLRElSKQoK0J7Qv9GG0LjQuDoKICAtdSwgLS1zdG9yYWdlLXVzZXIgICAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGF0YDQsNC90LjQu9C40YnQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggKGVudiAkR0lUU1lOQ19TVE9SQUdFX1VTRVIpICjQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQkNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgCkKICAtcCwgLS1zdG9yYWdlLXB3ZCAgICAg0L/QsNGA0L7Qu9GMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRhdGA0LDQvdC40LvQuNGJ0LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IChlbnYgJEdJVFNZTkNfU1RPUkFHRV9QQVNTV09SRCwgJEdJVFNZTkNfU1RPUkFHRV9QV0QpCgpgYGAKIyMjINCT0LvQvtCx0LDQu9GM0L3Ri9C1INC/0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjwp8INCY0LzRjyAgICAgICAgICAgICAgICAgfCDQntC/0LjRgdCw0L3QuNC1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwtLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgYEdJVFNZTkNfVjhWRVJTSU9OYCB8INC80LDRgdC60LAg0LLQtdGA0YHQuNC4INC/0LvQsNGC0YTQvtGA0LzRiyAoOC4zLCA4LjMuNSwgOC4zLjYuMjI5OSDQuCDRgi7Qvy4pIHwKfCBgR0lUU1lOQ19WRVJTT0JFYCAgIHwg0LLRi9Cy0L7QtCDQvtGC0LvQsNC00L7Rh9C90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQsiDQv9GA0L7RhtC10YHRgdC1INCy0YvQv9C+0LvQvdC10L3QuNC4ICAgICAgfAp8IGBHSVRTWU5DX1RFTVBgICAgICAgfCDQv9GD0YLRjCDQuiDQutCw0YLQsNC70L7Qs9GDINCy0YDQtdC80LXQvdC90YvRhSDRhNCw0LnQu9C+0LIgICAgICAgICAgICAgICAgICAgICAgIHwKfCBgR0lUU1lOQ19FTUFJTGAgICAgIHwg0LTQvtC80LXQvSDQv9C+0YfRgtGLINC00LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSBnaXQgICAgICAgICAgICAgICAgICAgICAgfAoKIyMjINCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDQutC+0LzQsNC90LTRiwoKfCDQmNC80Y8gICAgICAgICAgICAgICAgICAgICAgICB8INCe0L/QuNGB0LDQvdC40LUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgYEdJVFNZTkNfV09SS0RJUmAgICAgICAgICAgfCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQtNC70Y8g0LrQvtC80LDQvdC00YsgICAgICAgICAgICAgICAgfAp8IGBHSVRTWU5DX1NUT1JBR0VfUEFUSGAgICAgIHwg0L/Rg9GC0Ywg0Log0YXRgNCw0L3QuNC70LjRidGDINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCAx0KEuICAgICAgICAgIHwKfCBgR0lUU1lOQ19TVE9SQUdFX1VTRVJgICAgICB8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRhdGA0LDQvdC40LvQuNGJ0LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4ICAgICAgICB8CnwgYEdJVFNZTkNfU1RPUkFHRV9QQVNTV09SRGAgfCDQv9Cw0YDQvtC70Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINGF0YDQsNC90LjQu9C40YnQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggfAoKIyMjINCX0L3QsNGH0LXQvdC40Y8g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4KCnwgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwtLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgV09SS0RJUiAgICAgICAgICAgIHwg0YLQtdC60YPRidCw0Y8g0YDQsNCx0L7Rh9Cw0Y8g0LTQuNGA0LXQutGC0L7RgNC40Y8gICB8CnwgLXUsIC0tc3RvcmFnZS11c2VyIHwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMIGDQkNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgGAgfAoKIyMg0J/RgNC40LzQtdGA0YssINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPCgoqINCf0YDQvtGB0YLQvtC1INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1CgogICAgYGdpdHN5bmMgc3luYyBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChLyBDOi9HSVQvc3JjYAoKICAgINCU0LDQvdC90LDRjyDQutC+0LzQsNC90LTQsCDQstGL0L/QvtC70L3QuNGC0Ywg0YHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y4g0YXRgNCw0L3QuNC70LjRidCwIDHQoSDQv9C+INC/0YPRgtC4IGBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChL2Ag0Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyBnaXQg0LIg0LrQsNGC0LDQu9C+0LPQtSBgQzovR0lUL3NyY2AKCiog0JjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0LIg0YLQtdC60YPRidC10Lwg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSwKCiAgICA+INC/0LXRgNC10LzQtdC90L3QsNGPINC+0LrRgNGD0LbQtdC90LjRjyAqKmBHSVRTWU5DX1dPUktESVJgKiog0L3QtSDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0LfQsNC00LDQvdCwCgogICAgYGBgc2gKICAgIGNkIEM6L3dvcmtfZGlyLwogICAgZ2l0c3luYyBzeW5jIEM6L9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvCiAgICBgYGAKICAgINCU0LDQvdC90LDRjyDQutC+0LzQsNC90LTQsCDQstGL0L/QvtC70L3QuNGC0Ywg0YHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y4g0YXRgNCw0L3QuNC70LjRidCwIDHQoSDQv9C+INC/0YPRgtC4IGBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChL2Ag0Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyBnaXQg0LIg0LrQsNGC0LDQu9C+0LPQtSBgQzovd29ya19kaXJgCgoqINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQuNGPINCyINGBINGD0LrQsNC30LDQvdC40LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0Lgg0L/QsNGA0L7Qu9GPLgoKICAgIGBgYHNoCiAgICBnaXRzeW5jIHN5bmMgLS1zdG9yYWdlLXVzZXIgQWRtaW4gLS1zdG9yYWdlLXB3ZD1TZWNyZXQgQzov0KXRgNCw0L3QuNC70LjRidC1XzHQoS8gQzovd29ya19kaXIvCiAgICBgYGAKICAgINCU0LDQvdC90LDRjyDQutC+0LzQsNC90LTQsCDQstGL0L/QvtC70L3QuNGC0Ywg0YHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y4g0YXRgNCw0L3QuNC70LjRidCwIDHQoSDQv9C+INC/0YPRgtC4IGBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChL2Ag0Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyBnaXQg0LIg0LrQsNGC0LDQu9C+0LPQtSBgQzovd29ya19kaXJgCiAgICDQmNGB0L/QvtC70YzQt9GD0Y8g0LTQu9GPINC/0L7QtNC60LvRjtGH0LXQvdC40Y8g0Log0YXRgNCw0L3QuNC70LjRidGDIDHQoSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gYEFkbWluYCDQuCDQv9Cw0YDQvtC70YwgYFNlY3JldGAKCiog0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YHQuNC90L7QvdC40LzQvtCyICjQutC+0YDQvtGC0LrQsNGPINCy0LXRgNGB0LjRjyDQv9GA0LXQtNGL0LTRg9GJ0LXQs9C+INC/0YDQuNC80LXRgNCwKQoKICAgIGBgYHNoCiAgICBnaXRzeW5jIHMgLXVBZG1pbiAtcD1TZWNyZXQgQzov0KXRgNCw0L3QuNC70LjRidC1XzHQoS8gQzovd29ya19kaXIvCiAgICBgYGAKICAgINCU0LDQvdC90LDRjyDQutC+0LzQsNC90LTQsCDQstGL0L/QvtC70L3QuNGC0Ywg0YHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y4g0YXRgNCw0L3QuNC70LjRidCwIDHQoSDQv9C+INC/0YPRgtC4IGBDOi/QpdGA0LDQvdC40LvQuNGJ0LVfMdChL2Ag0Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyBnaXQg0LIg0LrQsNGC0LDQu9C+0LPQtSBgQzovd29ya19kaXJgCiAgICDQmNGB0L/QvtC70YzQt9GD0Y8g0LTQu9GPINC/0L7QtNC60LvRjtGH0LXQvdC40Y8g0Log0YXRgNCw0L3QuNC70LjRidGDIDHQoSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gYEFkbWluYCDQuCDQv9Cw0YDQvtC70YwgYFNlY3JldGAKCiog0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YLQvtC70YzQutC+INC/0LXRgNC10LzQtdC90L3Ri9GFINC+0LrRgNGD0LbQtdC90LjRjwoKICAgIGxpbnV4OgogICAgYGBgc2gKICAgIGV4cG9ydCBHSVRTWU5DX1dPUktESVI9Li93b3JrX2Rpci8KICAgIGV4cG9ydCBHSVRTWU5DX1NUT1JBR0VfUEFUSD0uL9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvCgogICAgZXhwb3J0IEdJVFNZTkNfU1RPUkFHRV9VU0VSPUFkbWluCiAgICBleHBvcnQgR0lUU1lOQ19TVE9SQUdFX1BBU1NXT1JEPVNlY3JldAogICAgZXhwb3J0IEdJVFNZTkNfVjhWRVJTSU9OPTguMy43CiAgICBleHBvcnQgR0lUU1lOQ19WRVJTT0JFPXRydWUgI9Cc0L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCU0LAv0JvQvtC20Ywv0J3QtdGCL9CY0YHRgtC40L3QsAogICAgZXhwb3J0IEdJVFNZTkNfVEVNUD0uL3RlbXAvc3luYwogICAgZ2l0c3luYyBzCiAgICBgYGAKICAgIHdpbmRvd3M6CiAgICBgYGBjbWQKICAgIHNldCBHSVRTWU5DX1dPUktESVI9Li93b3JrX2Rpci8KICAgIHNldCBHSVRTWU5DX1NUT1JBR0VfUEFUSD0uL9Cl0YDQsNC90LjQu9C40YnQtV8x0KEvCgogICAgc2V0IEdJVFNZTkNfU1RPUkFHRV9VU0VSPUFkbWluCiAgICBzZXQgR0lUU1lOQ19TVE9SQUdFX1BBU1NXT1JEPVNlY3JldAogICAgc2V0IEdJVFNZTkNfVjhWRVJTSU9OPTguMy43CiAgICBzZXQgR0lUU1lOQ19WRVJTT0JFPXRydWUgI9Cc0L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCU0LAv0JvQvtC20Ywv0J3QtdGCL9CY0YHRgtC40L3QsAogICAgc2V0IEdJVFNZTkNfVEVNUD0uL3RlbXAvc3luYwoKICAgIGdpdHN5bmMgcwogICAgYGBgCiAgICDQlNCw0L3QvdCw0Y8g0LrQvtC80LDQvdC00LAg0LLRi9C/0L7Qu9C90LjRgtGMINGB0LjQvdGF0YDQvtC90LjQt9Cw0YbQuNGOINGF0YDQsNC90LjQu9C40YnQsCAx0KEg0L/QviDQv9GD0YLQuCBgQzov0KXRgNCw0L3QuNC70LjRidC1XzHQoS9gINC4INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gZ2l0INCyINC60LDRgtCw0LvQvtCz0LUgYEM6L3dvcmtfZGlyYAogICAg0JjRgdC/0L7Qu9GM0LfRg9GPINC00LvRjyDQv9C+0LTQutC70Y7Rh9C10L3QuNGPINC6INGF0YDQsNC90LjQu9C40YnRgyAx0KEg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIGBBZG1pbmAg0Lgg0L/QsNGA0L7Qu9GMIGBTZWNyZXRgCg=="; + Возврат ЗапакованныеДанные; +КонецФункции + + diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/usage_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/usage_Gitsync.os" new file mode 100644 index 00000000..2831f01d --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/usage_Gitsync.os" @@ -0,0 +1,34 @@ + +/////////////////////////////////////////// +// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // +/////////////////////////////////////////// +// +// ФАЙЛ: +// + +// Возвращает версию запакованного файла +// +Функция Версия() Экспорт + Возврат "1.0.0"; +КонецФункции + +// Возвращает имя запакованного файла +// +Функция ИмяФайла() Экспорт + Возврат "usage.md"; +КонецФункции + +// Возвращает хеш строку запакованного файла +// +Функция Хеш() Экспорт + Возврат "D41D8CD98F00B204E9800998ECF8427E"; +КонецФункции + +// Возвращает запакованные данные файла +// +Функция ДвоичныеДанные() Экспорт + ЗапакованныеДанные = ""; + Возврат ЗапакованныеДанные; +КонецФункции + + diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" index 61b6909c..8b1191eb 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" @@ -2,6 +2,13 @@ ИндексФайлов = Новый Соответствие; ИндексФайлов.Вставить("tempExtension.cfe", "tempExtension_Gitsync"); + ИндексФайлов.Вставить("clone.md", "clone_Gitsync"); + ИндексФайлов.Вставить("init.md", "init_Gitsync"); + ИндексФайлов.Вставить("plugins.md", "plugins_Gitsync"); + ИндексФайлов.Вставить("README.md", "README_Gitsync"); + ИндексФайлов.Вставить("setversion.md", "setversion_Gitsync"); + ИндексФайлов.Вставить("sync.md", "sync_Gitsync"); + ИндексФайлов.Вставить("usage.md", "usage_Gitsync"); Возврат ИндексФайлов; diff --git a/tasks/pack.os b/tasks/pack.os index 86c227a5..e77635a9 100644 --- a/tasks/pack.os +++ b/tasks/pack.os @@ -20,7 +20,7 @@ ИндексКлассов = Новый Соответствие; ОбработатьКаталог(КаталогBin, "*.cfe"); - // ОбработатьКаталог(КаталогcTool_1CD, "*.exe"); + ОбработатьКаталог(ОбъединитьПути(КаталогПроекта, "docs"), "*.md"); ЗаписатьКлассИндексаЗапаковки(ИндексКлассов); @@ -70,7 +70,7 @@ ПолныйПутьКФайлу = НайденныйФайл.ПолноеИмя; ИмяКлассаФайла = СтрШаблон("%1_%2", ИмяФайла, ПрефиксКлассов); - + ПутьКФайлуКласса = ОбъединитьПути(КаталогКлассов, ИмяКлассаФайла + ".os"); ДанныеФайла = ПолучитBase64Строка(ПолныйПутьКФайлу); ХешСтрока = ПолучитьХешСтроку(ПолныйПутьКФайлу); From c75744b411afaa4c0dfb2f71f1f8c824c5dca48e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 17:26:45 +0300 Subject: [PATCH 28/76] =?UTF-8?q?=D0=95=D1=89=D0=B5=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B8=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README_Gitsync.os" | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/README_Gitsync.os" diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/README_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/README_Gitsync.os" new file mode 100644 index 00000000..2fa0476d --- /dev/null +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/README_Gitsync.os" @@ -0,0 +1,34 @@ + +/////////////////////////////////////////// +// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ // +/////////////////////////////////////////// +// +// ФАЙЛ: +// + +// Возвращает версию запакованного файла +// +Функция Версия() Экспорт + Возврат "1.0.0"; +КонецФункции + +// Возвращает имя запакованного файла +// +Функция ИмяФайла() Экспорт + Возврат "README.md"; +КонецФункции + +// Возвращает хеш строку запакованного файла +// +Функция Хеш() Экспорт + Возврат "D716283B8EAD871D80805B7FAB76784C"; +КонецФункции + +// Возвращает запакованные данные файла +// +Функция ДвоичныеДанные() Экспорт + ЗапакованныеДанные = "0J7Qv9C40YHQsNC90LjQtSDQv9GD0LHQu9C40YfQvdC+0LPQviDQuNC90YLQtdGA0YTQtdC50YHQsCDQsdC40LHQu9C40L7RgtC10LrQuCBgZ2l0c3luY2AKPT09PT09PT09Cgo8IS0tIFRPQyBpbnNlcnRBbmNob3I6dHJ1ZSAtLT4KCgo8IS0tIC9UT0MgLS0+Cgo+INCU0L7QutGD0LzQtdC90YLQsNGG0LjRjyDQsiDRgNCw0LfRgNCw0LHQvtGC0LrQtQoKPCEtLSBUT0RPOiDQn9C+0LTQs9C+0YLQvtCy0LjRgtGMINC00L7QutGD0LzQtdC90YLQsNGG0LjRjiAtLT4="; + Возврат ЗапакованныеДанные; +КонецФункции + + From 1a5457282efc7407df3f3a83e5e6acc50bafe102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Mon, 11 Mar 2019 17:27:20 +0300 Subject: [PATCH 29/76] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=BE=D0=B5=20=D0=B8=D1=81=D0=BF=D0=BE=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD?= =?UTF-8?q?=D0=B4=D1=8B=20make?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/make.os | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks/make.os b/tasks/make.os index f6cd1a48..ab931c02 100644 --- a/tasks/make.os +++ b/tasks/make.os @@ -237,11 +237,12 @@ КомандаOpm.УстановитьКоманду("oscript"); КомандаOpm.ДобавитьПараметр(ФайлПриложения); КомандаOpm.ДобавитьПараметр("p init"); + КомандаOpm.ПоказыватьВыводНемедленно(Истина); // КомандаOpm.("task.install-opm"); КодВозврата = КомандаOpm.Исполнить(); - Если КодВозврата <> 0 Тогда + Если КодВозврата <> 0 Тогда ВызватьИсключение КомандаOpm.ПолучитьВывод(); КонецЕсли; From d293b26097b2f705cd274729ae6eb650543df6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 12:20:09 +0300 Subject: [PATCH 30/76] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B9=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D1=87=D0=BD=D1=8B=D0=B9=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D0=BF=D0=B0=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 7eb9162f..e79d1cc3 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -709,7 +709,7 @@ Лог.Информация("Используется путь к платформе 1С <%1>", ТекущийПутьКПлатформе); Иначе УправлениеКонфигуратором.ИспользоватьВерсиюПлатформы(ТекущаяВерсияПлатформы); - Лог.Отладка("Используется платформа 1С версии <%1>", ТекущийПутьКПлатформе); + Лог.Отладка("Используется платформа 1С версии <%1>", ТекущаяВерсияПлатформы); КонецЕсли; Возврат УправлениеКонфигуратором; From 923a5457b9fb25a55742b0a38dbb5be6a5d10535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 12:20:49 +0300 Subject: [PATCH 31/76] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B3=D0=BE=D0=BD=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=D1=85=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/test.os | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tasks/test.os b/tasks/test.os index 46098aeb..034f396c 100644 --- a/tasks/test.os +++ b/tasks/test.os @@ -188,12 +188,12 @@ КонецФункции // ПрогнатьФичи() Функция ПрогнатьФичи() + ФичиПрошли_opm = ПрогнатьФичи_opm(); ФичиПрошли_core = ПрогнатьФичи_core(); ФичиПрошли_cmd = ПрогнатьФичи_cmd(); - - //ФичиПрошли_exe = ПрогнатьФичи_exe(); - ФичиПрошли_exe = Истина; + ФичиПрошли_exe = ПрогнатьФичи_exe(); + // ФичиПрошли_exe = Истина; Возврат ФичиПрошли_opm From 5cc2fc75736769a3aa1516ee6ff2f62d5f065ffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 15:25:38 +0300 Subject: [PATCH 32/76] =?UTF-8?q?=D0=9A=D0=BE=D1=80=D1=80=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=BD=D0=B0=D1=8F=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20configor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- tasks/make.os | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packagedef b/packagedef index ebc81f35..b586a630 100644 --- a/packagedef +++ b/packagedef @@ -15,7 +15,7 @@ .ЗависитОт("reflector", "0.4.0") .ЗависитОт("opm", "0.15.3") .ЗависитОт("cli", "0.9.10") - .ЗависитОт("configor", "0.6.2") + .ЗависитОт("configor", "0.6.3") .ВключитьФайл("src") .ВключитьФайл("docs") .ВключитьФайл("embedded_plugins") diff --git a/tasks/make.os b/tasks/make.os index ab931c02..daae77ee 100644 --- a/tasks/make.os +++ b/tasks/make.os @@ -253,7 +253,6 @@ КаталогСборки = ВременныеФайлы.СоздатьКаталог(); КаталогУстановки = ВременныеФайлы.СоздатьКаталог(); - ПутьКМанифестуСборки = ОбъединитьПути(КаталогПроекта, "build_packagedef"); СобратьПакет(КаталогСборки, ПутьКМанифестуСборки); From 1e3551de222e2d64b67adb72cc33859ae8409052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 15:44:26 +0300 Subject: [PATCH 33/76] =?UTF-8?q?=D0=97=D0=B0=D0=B2=D0=B8=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BEc=D1=82=D1=8C=20=D0=BE=D1=82=20=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8=20v8storage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index b586a630..01e36d74 100644 --- a/packagedef +++ b/packagedef @@ -11,7 +11,7 @@ .ЗависитОт("json", "1.0.1") .ЗависитОт("fs", "0.4.1") .ЗависитОт("delegate", "0.2.0") - .ЗависитОт("v8storage", "0.7.0") + .ЗависитОт("v8storage", "0.7.1") .ЗависитОт("reflector", "0.4.0") .ЗависитОт("opm", "0.15.3") .ЗависитОт("cli", "0.9.10") From b1a7cf231275e834858a9a0c85f5aae0b9df5af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 15:45:07 +0300 Subject: [PATCH 34/76] =?UTF-8?q?=D0=97=D0=B0=D0=B2=D0=B8=D1=81=D1=81?= =?UTF-8?q?=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BE=D0=B9=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8?= =?UTF-8?q?=20=D1=81=D1=80=D0=B5=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index 01e36d74..ca37281d 100644 --- a/packagedef +++ b/packagedef @@ -1,7 +1,7 @@ Описание.Имя("gitsync") .Версия("3.0.0") - .ВерсияСреды("1.0.20") + .ВерсияСреды("1.0.21") .ЗависитОт("logos", "1.2.0") .ЗависитОт("tempfiles", "0.2.2") .ЗависитОт("v8runner", "1.3.0") From f7d00b819532884494f5b70d3f33feeabb2d2218 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 15:49:54 +0300 Subject: [PATCH 35/76] =?UTF-8?q?=D0=92=D0=BE=D0=B7=D0=B2=D1=80=D0=B0?= =?UTF-8?q?=D1=82=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build_packagedef | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/build_packagedef b/build_packagedef index 635970bc..fd5c2d8b 100644 --- a/build_packagedef +++ b/build_packagedef @@ -1,9 +1,54 @@ #Использовать logos #Использовать fs +Перем Лог; + +Процедура ПередСборкой(Знач РабочийКаталог) Экспорт + + Лог.Информация("Установка локальных зависимостей библиотек"); + КомандаOpm = Новый Команда; + + КомандаOpm.УстановитьКоманду("opm"); + КомандаOpm.ДобавитьПараметр("install -l"); + КомандаOpm.ДобавитьЛогВыводаКоманды("task.build"); + + КодВозврата = КомандаOpm.Исполнить(); + + Если КодВозврата <> 0 Тогда + ВызватьИсключение КомандаOpm.ПолучитьВывод(); + КонецЕсли; + + Лог.Информация("Получение последней версии плагинов"); + + КомандаOpm = Новый Команда; + КомандаOpm.УстановитьКоманду("opm"); + КомандаOpm.ДобавитьПараметр("run get-plugins"); + + КомандаOpm.ДобавитьЛогВыводаКоманды("task.build"); + + КодВозврата = КомандаOpm.Исполнить(); + + Если КодВозврата <> 0 Тогда + ВызватьИсключение КомандаOpm.ПолучитьВывод(); + КонецЕсли; + +КонецПроцедуры + +Процедура ПослеСборки(Знач РабочийКаталог, Знач ПутьКФайлуПакета) Экспорт + + ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); + ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); + Если ФайлНастройкиСкрипта.Существует() Тогда + УдалитьФайлы(ПутьКФайлуНастройкиСкрипта); + КонецЕсли; + + ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); + +КонецПроцедуры + Описание.Имя("gitsync") .Версия("3.0.0") - .ВерсияСреды("1.0.20") + .ВерсияСреды("1.0.21") .ВключитьФайл("src") .ВключитьФайл("embedded_plugins") .ВключитьФайл("oscript_modules") From bb741b9b5f15fde025b6f08a8a1434e30600880b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 15:51:58 +0300 Subject: [PATCH 36/76] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build_packagedef | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/build_packagedef b/build_packagedef index fd5c2d8b..351931e0 100644 --- a/build_packagedef +++ b/build_packagedef @@ -1,11 +1,8 @@ -#Использовать logos #Использовать fs -Перем Лог; - Процедура ПередСборкой(Знач РабочийКаталог) Экспорт - Лог.Информация("Установка локальных зависимостей библиотек"); + Сообщить("Установка локальных зависимостей библиотек"); КомандаOpm = Новый Команда; КомандаOpm.УстановитьКоманду("opm"); @@ -18,7 +15,7 @@ ВызватьИсключение КомандаOpm.ПолучитьВывод(); КонецЕсли; - Лог.Информация("Получение последней версии плагинов"); + Сообщить("Получение последней версии плагинов"); КомандаOpm = Новый Команда; КомандаOpm.УстановитьКоманду("opm"); From ab4bb9ead3f083cfeab122804a50007044120947 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 15:57:12 +0300 Subject: [PATCH 37/76] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=203.?= =?UTF-8?q?0.0-rc.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build_packagedef | 2 +- packagedef | 2 +- ...\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build_packagedef b/build_packagedef index 351931e0..a1736f20 100644 --- a/build_packagedef +++ b/build_packagedef @@ -44,7 +44,7 @@ КонецПроцедуры Описание.Имя("gitsync") - .Версия("3.0.0") + .Версия("3.0.0-rc.1") .ВерсияСреды("1.0.21") .ВключитьФайл("src") .ВключитьФайл("embedded_plugins") diff --git a/packagedef b/packagedef index ca37281d..528b6276 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@ Описание.Имя("gitsync") - .Версия("3.0.0") + .Версия("3.0.0-rc.1") .ВерсияСреды("1.0.21") .ЗависитОт("logos", "1.2.0") .ЗависитОт("tempfiles", "0.2.2") diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index d3ebd2fb..e41413bb 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -281,7 +281,7 @@ Функция Версия() Экспорт - Возврат "3.0.0"; + Возврат "3.0.0-rc.1"; КонецФункции From c0b4ec12366185a62e650d61c57752192e086386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 16:41:44 +0300 Subject: [PATCH 38/76] =?UTF-8?q?=D0=A1=D0=B8=D1=85=D1=80=D0=BE=D0=BD?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=201=20=D1=80=D0=B5=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=B8=D0=B7=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...274\320\260\320\275\320\264\320\260All.os" | 11 +++++- ...20\267\320\260\321\206\320\270\321\217.os" | 37 ++++++++++++++++++- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" index fa7f4766..945a643b 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" @@ -7,6 +7,9 @@ .ТЧисло() .ВОкружении("GITSYNC_ALL_TIMER"); + Команда.Опция("n name", "", "имя настройки пакетной синхронизации") + .ТСтрока(); + Команда.Опция("u storage-user", "", "пользователь хранилища конфигурации") .ТСтрока() .ВОкружении("GITSYNC_STORAGE_USER") @@ -35,6 +38,8 @@ ПользовательХранилища = Команда.ЗначениеОпции("storage-user"); ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); + ИмяНастройкиСинхронизации = Команда.ЗначениеОпции("name"); + ИнтервалПовторенияСинхронизации = Команда.ЗначениеОпции("timer"); ФайлНастроек = Новый Файл(ПутьКФайлуНастроек); @@ -56,7 +61,11 @@ .РежимУдаленияВременныхФайлов(Истина) .АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища); - ПакетнаяСинхронизация.ВыполнитьСинхронизацию(); + Если ЗначениеЗаполнено(ИмяНастройкиСинхронизации) Тогда + ПакетнаяСинхронизация.ВыполнитьСинхронизациюПоНастройке(ИмяНастройкиСинхронизации); + Иначе + ПакетнаяСинхронизация.ВыполнитьСинхронизацию(); + КонецЕсли; Лог.Информация("Завершено выполнение команды "); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" index 00890702..72b7fbd1 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" @@ -188,7 +188,7 @@ // Выполняет пакетную синхронизацию // -Процедура ВыполнитьСинхронизацию() Экспорт +Процедура ВыполнитьСинхронизацию(ИмяНастройкиСинхронизации) Экспорт Пока Истина Цикл @@ -209,6 +209,41 @@ КонецПроцедуры +// Выполняет пакетную синхронизацию +// +Процедура ВыполнитьСинхронизациюПоНастройке(Знач ИмяНастройкиСинхронизации) Экспорт + + Пока Истина Цикл + + ПрочитатьФайлНастроек(); + ПодготовитьИндексРепозиториев(); + + РепоСинхронизации = ИндексРепозиториев[ИмяНастройкиСинхронизации]; + + Если РепоСинхронизации = Неопределено Тогда + Лог.Информация("Не найдена или отключена настройка синхронизации <%1>", ИмяНастройкиСинхронизации); + Прервать; + КонецЕсли; + + Лог.Информация("Начата синхронизация с репозиторием <%1> ", ИмяНастройкиСинхронизации); + + РепоСинхронизации.Синхронизировать(); + + Если ТаймерПовторения <= 0 Тогда + + Прервать; + + Иначе + + Лог.Информация("Ожидаем <%1> секунд перед новым циклом", ТаймерПовторения); + Приостановить(ТаймерПовторения * 1000); + + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + #КонецОбласти Процедура ПрочитатьФайлНастроек() From f2b67d885c253eb52694a423a2639d62f846ee3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Tue, 12 Mar 2019 17:20:42 +0300 Subject: [PATCH 39/76] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=BF=D0=BE=D0=B4=20=D1=81=D0=B8=D0=BD?= =?UTF-8?q?=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8E=20?= =?UTF-8?q?=D0=B2=20=D0=BD=D0=B5=D1=81=D0=BA=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE?= =?UTF-8?q?=20=D0=BF=D0=BE=D1=82=D0=BE=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\276\320\274\320\260\320\275\320\264\320\260All.os" | 9 +++++++-- ...5\320\270\320\267\320\260\321\206\320\270\321\217.os" | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" index 945a643b..3e237c05 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" @@ -7,6 +7,10 @@ .ТЧисло() .ВОкружении("GITSYNC_ALL_TIMER"); + Команда.Опция("thread", 1, "количество потоков выполнения") + .ТЧисло() + .ВОкружении("GITSYNC_ALL_THREAD"); + Команда.Опция("n name", "", "имя настройки пакетной синхронизации") .ТСтрока(); @@ -39,7 +43,8 @@ ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); ИмяНастройкиСинхронизации = Команда.ЗначениеОпции("name"); - + КоличествоПотоковСинхронизации = Команда.ЗначениеОпции("thread"); + ИнтервалПовторенияСинхронизации = Команда.ЗначениеОпции("timer"); ФайлНастроек = Новый Файл(ПутьКФайлуНастроек); @@ -64,7 +69,7 @@ Если ЗначениеЗаполнено(ИмяНастройкиСинхронизации) Тогда ПакетнаяСинхронизация.ВыполнитьСинхронизациюПоНастройке(ИмяНастройкиСинхронизации); Иначе - ПакетнаяСинхронизация.ВыполнитьСинхронизацию(); + ПакетнаяСинхронизация.ВыполнитьСинхронизацию(КоличествоПотоковСинхронизации); КонецЕсли; Лог.Информация("Завершено выполнение команды "); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" index 72b7fbd1..9dbf0185 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" @@ -188,7 +188,7 @@ // Выполняет пакетную синхронизацию // -Процедура ВыполнитьСинхронизацию(ИмяНастройкиСинхронизации) Экспорт +Процедура ВыполнитьСинхронизацию(Знач КоличествоПотоков = 1) Экспорт Пока Истина Цикл From 0a3017ad30ed06325231ce4125b87ce7c8c150b5 Mon Sep 17 00:00:00 2001 From: Aleksey Khorev Date: Wed, 13 Mar 2019 07:47:27 +0300 Subject: [PATCH 40/76] =?UTF-8?q?=D0=A7=D1=83=D1=82=D0=BA=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=85=D0=B8=D0=BC=D0=B8=D1=87=D0=B8=D0=BB=20=D1=81=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BE=D0=B9=20all?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...274\320\260\320\275\320\264\320\260All.os" | 52 +++++- ...20\267\320\260\321\206\320\270\321\217.os" | 148 ++++++++---------- 2 files changed, 109 insertions(+), 91 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" index 3e237c05..2aee2b59 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" @@ -1,4 +1,5 @@ - +#Использовать configor + Перем Лог; Процедура ОписаниеКоманды(Команда) Экспорт @@ -49,13 +50,18 @@ ФайлНастроек = Новый Файл(ПутьКФайлуНастроек); Если Не ФайлНастроек.Существует() Тогда - ВызватьИсключение Новый ИнформацияОбОшибке(СтрШаблон("Файл настроек <%1> не найден", ФайлНастроек.ПолноеИмя), "Работа приложения остановлена"); + ВызватьИсключение СтрШаблон("Файл настроек <%1> не найден", ФайлНастроек.ПолноеИмя); КонецЕсли; ОбщиеПараметры = ПараметрыПриложения.Параметры(); + ПараметрыФайлаНастроек = ПрочитатьФайлНастроек(ПутьКФайлуНастроек); + + Если ПараметрыФайлаНастроек.Количество() = 0 Тогда + ВызватьИсключение "Файл настроек не содержит данных"; + КонецЕсли; + ПакетнаяСинхронизация = Новый ПакетнаяСинхронизация(); - ПакетнаяСинхронизация.УстановитьНастройки(ПутьКФайлуНастроек); ПакетнаяСинхронизация.ТаймерПовторения(ИнтервалПовторенияСинхронизации) .КаталогПлагинов(ПараметрыПриложения.КаталогПлагинов()) .ФайлВключенныхПлагинов(ПараметрыПриложения.ФайлВключенныхПлагинов()) @@ -65,7 +71,9 @@ .УровеньЛога(ПараметрыПриложения.УровеньЛога()) .РежимУдаленияВременныхФайлов(Истина) .АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища); - + + ПакетнаяСинхронизация.ПрочитатьНастройки(ПараметрыФайлаНастроек); + Если ЗначениеЗаполнено(ИмяНастройкиСинхронизации) Тогда ПакетнаяСинхронизация.ВыполнитьСинхронизациюПоНастройке(ИмяНастройкиСинхронизации); Иначе @@ -76,4 +84,40 @@ КонецПроцедуры +Функция ПрочитатьФайлНастроек(Знач ПутьКФайлуНастроек) + + МенеджерПараметров = Новый МенеджерПараметров(); + МенеджерПараметров.УстановитьФайлПараметров(ПутьКФайлуНастроек); + МенеджерПараметров.ИспользоватьПровайдерJSON(); + + Если НЕ ПараметрыПриложения.ЭтоСборкаEXE() Тогда + МенеджерПараметров.ИспользоватьПровайдерYAML(); + КонецЕсли; + + Лог.Отладка("Чтение файла настроек начато"); + МенеджерПараметров.Прочитать(); + Лог.Отладка("Чтение файла настроек завершено"); + + ПрочитанныйПараметры = МенеджерПараметров.ПрочитанныйПараметры(); + + ЭтоОдинРепозиторий = МенеджерПараметров.Параметр("repositories") = Неопределено + И МенеджерПараметров.Параметр("Репозитории") = Неопределено; + + Параметры = ПрочитанныйПараметры; + + Если ЭтоОдинРепозиторий Тогда + + Параметры = Новый Соответствие(); + МассивРепозиториев = Новый Массив; + МассивРепозиториев.Добавить(ПрочитанныйПараметры); + + Параметры.Вставить("repositories", МассивРепозиториев); + + КонецЕсли; + + Возврат Параметры; + +КонецФункции + + Лог = ПараметрыПриложения.Лог(); \ No newline at end of file diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" index 9dbf0185..8def0b65 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" @@ -134,18 +134,19 @@ КонецФункции -// Устанавливает путь к файлу настроек пакетной синхронизации +// Читает настройки пакетной синхронизации из соответствия // // Параметры: -// НовыйПутьКФайлуНастроек - Строка - путь к настроек пакетной синхронизации +// НастройкиСинхронизации - Соответствие - набор настроек для пакетной синхронизации // -// Возвращаемое значение: -// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации> -// -Функция УстановитьНастройки(НовыйПутьКФайлуНастроек) Экспорт - ПутьКФайлуНастроек = НовыйПутьКФайлуНастроек; - Возврат ЭтотОбъект; -КонецФункции +Процедура ПрочитатьНастройки(Знач НастройкиСинхронизации) Экспорт + + КонструкторПараметров = КонструкторПараметровПакетнойСинхронизации(); + КонструкторПараметров.ИзСоответствия(НастройкиСинхронизации); + + Параметры = КонструкторПараметров.ВСтруктуру(); + +КонецПроцедуры // Устанавливает таймер повторения пакетной синхронизации // @@ -190,6 +191,8 @@ // Процедура ВыполнитьСинхронизацию(Знач КоличествоПотоков = 1) Экспорт + ПодготовитьИндексРепозиториев(); + Пока Истина Цикл ПакетнаяСинхронизация(); @@ -213,10 +216,9 @@ // Процедура ВыполнитьСинхронизациюПоНастройке(Знач ИмяНастройкиСинхронизации) Экспорт - Пока Истина Цикл + ПодготовитьИндексРепозиториев(); - ПрочитатьФайлНастроек(); - ПодготовитьИндексРепозиториев(); + Пока Истина Цикл РепоСинхронизации = ИндексРепозиториев[ИмяНастройкиСинхронизации]; @@ -246,86 +248,71 @@ #КонецОбласти -Процедура ПрочитатьФайлНастроек() - - МенеджерПараметров = Новый МенеджерПараметров(); - МенеджерПараметров.УстановитьФайлПараметров(ПутьКФайлуНастроек); - МенеджерПараметров.ИспользоватьПровайдерJSON(); - МенеджерПараметров.ИспользоватьПровайдерYAML(); - МенеджерПараметров.КонструкторПараметров(ЭтотОбъект); - Лог.Отладка("Чтение файла настроек начато"); - МенеджерПараметров.Прочитать(); - Лог.Отладка("Чтение файла настроек завершено"); - -КонецПроцедуры - #Область Интерфейс_конструктора_параметров -Функция Параметры() Экспорт - Возврат Параметры; -КонецФункции - -Процедура УстановитьПараметры(Знач ВходящиеПараметры) Экспорт - Параметры = ВходящиеПараметры; -КонецПроцедуры - -Процедура ОписаниеПараметров(Знач Конструктор) Экспорт - - ПараметрыПлагины = Конструктор.НовыеПараметры(); +Функция КонструкторОбщихПараметров() + + ПараметрыПлагины = Новый КонструкторПараметров(); ПараметрыПлагины.ПолеМассив("ВключенныеПлагины enable", Тип("Строка")) .ПолеМассив("ОтключенныеПлагины disable", Тип("Строка")) + .ПолеМассив("ДополнительныеПлагины extra additional more", Тип("Строка")) ; - ПараметрыНастроекПлагинов = Конструктор.НовыеПараметры(); + ПараметрыНастроекПлагинов = Новый КонструкторПараметров(); ПараметрыНастроекПлагинов.ПроизвольныеПоля(); - ГлобальныеПараметры = Конструктор.НовыеПараметры(); - ГлобальныеПараметры.ПолеСтрока("ПользовательХранилища storage-user user", АвторизацияВХранилище.ПользовательХранилища) - .ПолеСтрока("ПарольПользователяХранилища storage-pwd storage-password password pwd", АвторизацияВХранилище.ПарольХранилища) - .ПолеСтрока("ПутьИсполняемомуФайлуГит git-path git", ПутьКИсполняемомуФайлуGit) - .ПолеСтрока("ПутьКВременномуКаталогу temp-dir tempdir temp", ПутьКВременномуКаталогу) - .ПолеСтрока("ВерсияПлатформы v8version v8", ТекущаяВерсияПлатформы) - .ПолеСтрока("ДоменПочтыПоУмолчанию domain-email email", ДоменПочтыДляGitПоУмолчанию) - .ПолеЧисло("КоличествоЦикловОжиданияЛицензии lic-try-count", КоличествоЦикловОжиданияЛицензииПоУмолчанию) + КонструкторПараметров = Новый КонструкторПараметров(); + + КонструкторПараметров.ПолеСтрока("ПользовательХранилища storage-user user") + .ПолеСтрока("ПарольПользователяХранилища storage-pwd storage-password password pwd") + .ПолеСтрока("ПутьИсполняемомуФайлуГит git-path git") + .ПолеСтрока("ПутьКВременномуКаталогу temp-dir tempdir temp") + .ПолеСтрока("ВерсияПлатформы v8version v8") + .ПолеСтрока("ДоменПочтыПоУмолчанию domain-email email") + .ПолеЧисло("КоличествоЦикловОжиданияЛицензии lic-try-count") .ПолеОбъект("Плагины plugins", ПараметрыПлагины) .ПолеОбъект("НастройкиПлагинов plugins-config flags", ПараметрыНастроекПлагинов) ; - ПараметрыПлагиныРепозитория = ПараметрыПлагины.Скопировать(); - ПараметрыПлагиныРепозитория.ПолеМассив("ДополнительныеПлагины extra additional more", Тип("Строка")); + Возврат КонструкторПараметров; + +КонецФункции - ПараметрыРепозитория = Конструктор.НовыеПараметры(); - ПараметрыРепозитория.ПолеБулево("Отключено disable", Ложь) +Функция КонструкторПараметровРепозитория() + + КонструкторПараметров = КонструкторОбщихПараметров(); + + КонструкторПараметров.ПолеБулево("Отключено disable", Ложь) .ПолеСтрока("Наименование storage-name name") .ПолеСтрока("ПутьКХранилищу storage-path path") .ПолеСтрока("ПутьКРабочемуКаталогу work-dir git-local-path dir") .ПолеСтрока("ИмяРасширения extention") - // Стандартные поля - .ПолеСтрока("ПользовательХранилища storage-user user") - .ПолеСтрока("ПарольПользователяХранилища storage-pwd storage-password password pass") - .ПолеСтрока("ПутьИсполняемомуФайлуГит git-path git") - .ПолеСтрока("ПутьКВременномуКаталогу temp-dir tempdir temp") - .ПолеСтрока("ВерсияПлатформы v8version v8") - .ПолеСтрока("ДоменПочтыПоУмолчанию domain-email email") - .ПолеЧисло("КоличествоЦикловОжиданияЛицензии lic-try-count", КоличествоЦикловОжиданияЛицензииПоУмолчанию) - .ПолеОбъект("Плагины plugins", ПараметрыПлагиныРепозитория) - .ПолеОбъект("НастройкиПлагинов plugins-config flags", ПараметрыНастроекПлагинов) ; - Конструктор.ПолеОбъект("НастройкиПоУмолчанию globals default", ГлобальныеПараметры) + Возврат КонструкторПараметров; + +КонецФункции + +Функция КонструкторПараметровПакетнойСинхронизации() Экспорт + + КонструкторПараметров = Новый КонструкторПараметров(); + + ОбщиеПараметры = КонструкторОбщихПараметров(); + ПараметрыРепозитория = КонструкторПараметровРепозитория(); + + КонструкторПараметров.ПолеОбъект("НастройкиПоУмолчанию globals default", ОбщиеПараметры) .ПолеМассив("Репозитории repositories", ПараметрыРепозитория) ; + + Возврат КонструкторПараметров; -КонецПроцедуры +КонецФункции + #КонецОбласти Процедура ПакетнаяСинхронизация() - ПрочитатьФайлНастроек(); - - ПодготовитьИндексРепозиториев(); - Лог.Информация("Начата пакетная синхронизация с <%1> репозиториями", ИндексРепозиториев.Количество()); Для каждого КлючЗначение Из ИндексРепозиториев Цикл @@ -339,32 +326,19 @@ Процедура ПодготовитьИндексРепозиториев() + ИндексРепозиториев = Новый Соответствие(); + Лог.Отладка("Готовлю индекс для <%1> репозиториев", Параметры.Репозитории.Количество()); Для каждого ПараметрыРепозитория Из Параметры.Репозитории Цикл - РепоСинхронизации = ИндексРепозиториев[ПараметрыРепозитория.Наименование]; - ОтключенныйРепозиторий = ПараметрыРепозитория.Отключено; - Если ОтключенныйРепозиторий - И НЕ РепоСинхронизации = Неопределено Тогда - ИндексРепозиториев.Удалить(РепоСинхронизации); - КонецЕсли; - - Если ОтключенныйРепозиторий Тогда - Продолжить; - КонецЕсли; - - Если РепоСинхронизации = Неопределено Тогда - - РепоСинхронизации = Новый РепозиторийСинхронизации(); - РепоСинхронизации.КаталогПлагинов(КаталогПлагинов) - .ФайлВключенныхПлагинов(ПутьКФайлуВключенныхПлагинов) - // .УровеньЛога(Лог.ПолучитьУровеньЛога()) - ; - - ИндексРепозиториев.Вставить(ПараметрыРепозитория.Наименование, РепоСинхронизации); - - КонецЕсли; + РепоСинхронизации = Новый РепозиторийСинхронизации(); + РепоСинхронизации.КаталогПлагинов(КаталогПлагинов) + .ФайлВключенныхПлагинов(ПутьКФайлуВключенныхПлагинов) + // .УровеньЛога(Лог.ПолучитьУровеньЛога()) + ; + + ИндексРепозиториев.Вставить(ПараметрыРепозитория.Наименование, РепоСинхронизации); ОбъединитьПараметрыРепозиторияИГлобальные(ПараметрыРепозитория); From bb4aa78b6fa320b1e69752b3c000bf543e82991f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Wed, 13 Mar 2019 10:31:26 +0300 Subject: [PATCH 41/76] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D0=B9=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B5.=20=D0=9D?= =?UTF-8?q?=D0=B5=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F=D0=BB=D0=BE=D1=81?= =?UTF-8?q?=D1=8C=20=D0=B8=D0=BC=D1=8F=20=D1=80=D0=B0=D1=81=D1=88=D0=B8?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\270\320\267\320\260\321\206\320\270\320\270.os" | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index e79d1cc3..79d486da 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -495,13 +495,14 @@ Если СтандартнаяОбработка Тогда - Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); - Параметры.Добавить(СтрШаблон("/DumpConfigToFiles %1", КаталогВыгрузки)); - Если ИмяРасширения <> "" Тогда - Параметры.Добавить(СтрШаблон("-Extension %1", ИмяРасширения)); - КонецЕсли; Попытка - Конфигуратор.ВыполнитьКоманду(Параметры); + + Если НЕ ПустаяСтрока(ИмяРасширения) Тогда + Конфигуратор.ВыгрузитьРасширениеВФайлы(КаталогВыгрузки, ИмяРасширения); + Иначе + Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогВыгрузки); + КонецЕсли; + Исключение ОписаниеОшибки = ОписаниеОшибки(); Если Не ЭтоПропускаемаяОшибка(ОписаниеОшибки) Тогда From a5d7e1d72d2edf652cf1ebc498ac406a3dab0fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Wed, 13 Mar 2019 10:31:59 +0300 Subject: [PATCH 42/76] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D1=8F=20=D0=BD=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D0=BF=D0=B8=D1=81=D0=BA=D0=B5=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D1=86=D1=8B=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\277\320\270\321\201\320\276\320\272.os" | 42 ++++++++ ...20\267\320\260\321\206\320\270\320\270.os" | 96 ++++++++++++------- 2 files changed, 102 insertions(+), 36 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" index 1a71f9aa..63bb64d7 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" @@ -245,6 +245,48 @@ КонецПроцедуры +// Вызывается при получении таблицы пользователей из хранилища конфигурации +// +// Параметры: +// ПутьКФайлуАвторов - Строка - полный путь к хранилищу конфигурации +// ТаблицаАвторов - ТаблицаЗначений - инициализированная таблица с колонками: +// * Автор - Строка - имя автора версии в хранилище +// * ПредставлениеАвтора - Строка - представление автора для коммита в git +// СтандартнаяОбработка - Булево - признак отказ от обработки по умолчанию +// +Процедура ПриПолученииТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов, СтандартнаяОбработка) Экспорт + + ПараметрыВыполнения = Новый Массив; + ПараметрыВыполнения.Добавить(ПутьКФайлуАвторов); + ПараметрыВыполнения.Добавить(ТаблицаАвторов); + ПараметрыВыполнения.Добавить(СтандартнаяОбработка); + + ВыполнитьПодпискуНаСобытие("ПриПолученииТаблицыАвторов", ПараметрыВыполнения); + + ПрисвоитьЗначенияПараметраПроцедуры(ПараметрыВыполнения, ПутьКФайлуАвторов, ТаблицаАвторов, СтандартнаяОбработка); + +КонецПроцедуры + +// Вызывается при получении таблицы пользователей из хранилища конфигурации +// +// Параметры: +// ПутьКФайлуАвторов - Строка - полный путь к хранилищу конфигурации +// ТаблицаАвторов - ТаблицаЗначений - инициализированная таблица с колонками: +// * Автор - Строка - имя автора версии в хранилище +// * ПредставлениеАвтора - Строка - представление автора для коммита в git +// +Процедура ПослеПолученияТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов) Экспорт + + ПараметрыВыполнения = Новый Массив; + ПараметрыВыполнения.Добавить(ПутьКФайлуАвторов); + ПараметрыВыполнения.Добавить(ТаблицаАвторов); + + ВыполнитьПодпискуНаСобытие("ПослеПолученияТаблицыАвторов", ПараметрыВыполнения); + + ПрисвоитьЗначенияПараметраПроцедуры(ПараметрыВыполнения, ПутьКФайлуАвторов, ТаблицаАвторов); + +КонецПроцедуры + #КонецОбласти #Область Подписки_на_обработки_строки_версии diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 79d486da..689bbaa3 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -982,7 +982,9 @@ Знач КаталогРабочейКопии) Экспорт ПутьКФайлуСопоставления = ОбъединитьПути(КаталогРабочейКопии, ИмяФайлаАвторов()); - ТаблицаСопоставления = ПрочитатьФайлАвторовГитВТаблицуПользователей(ПутьКФайлуСопоставления); + + ТаблицаСопоставления = ПолучитьТаблицуАвторов(ПутьКФайлуСопоставления); + Для Каждого СтрокаТаблицы Из ТаблицаХранилища Цикл СтрокаПользователя = ТаблицаСопоставления.Найти(СтрокаТаблицы.Автор, "Автор"); @@ -1029,7 +1031,7 @@ КонецПроцедуры -// Читает файл авторов и возвращает таблицу пользователей +// Получает таблицу авторов из файла // // Параметры: // ПутьКФайлуАвторов - Строка - путь к файлу авторов @@ -1038,52 +1040,64 @@ // ТаблицаЗначений - таблица пользователей с колонками // * Автор - Строка - имя автора версии в хранилище // * ПредставлениеАвтора - Строка - представление автора для коммита в git -// * ГУИД_Автора - Строка - уникальный идентификатор автора версии // -Функция ПрочитатьФайлАвторовГитВТаблицуПользователей(Знач ПутьКФайлуАвторов) Экспорт +Функция ПолучитьТаблицуАвторов(Знач ПутьКФайлуАвторов) Экспорт - Если НЕ ЗначениеЗаполнено(ПутьКФайлуАвторов) Тогда - Возврат Неопределено; + СтандартнаяОбработка = Истина; + + ТаблицаАвторов = НоваяТаблицаАвторов(); + + ОбработчикПодписок.ПриПолученииТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов, СтандартнаяОбработка); + + Если СтандартнаяОбработка Тогда + ПрочитатьФайлАвторов(ПутьКФайлуАвторов, ТаблицаАвторов); КонецЕсли; + ОбработчикПодписок.ПослеПолученияТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов); + + Возврат ТаблицаАвторов; + +КонецФункции + +Процедура ПрочитатьФайлАвторов(ПутьКФайлуАвторов, ТаблицаАвторов) + + Если НЕ ЗначениеЗаполнено(ПутьКФайлуАвторов) Тогда + Возврат; + КонецЕсли; + Файл = Новый Файл(ПутьКФайлуАвторов); Если Не Файл.Существует() Тогда - Возврат НоваяТаблицаПользователейХранилища(); + Возврат; КонецЕсли; + + ТекстовыйФайл = Новый ЧтениеТекста(ПутьКФайлуАвторов, "utf-8"); + ТекстФайла = ТекстовыйФайл.Прочитать(); - Пользователи = НоваяТаблицаПользователейХранилища(); - - Попытка - ТекстовыйФайл = Новый ЧтениеТекста(ПутьКФайлуАвторов, "utf-8"); - СтрокаФайла = ""; - Пока СтрокаФайла <> Неопределено Цикл - СтрокаФайла = ТекстовыйФайл.ПрочитатьСтроку(); - Индекс = Найти(СтрокаФайла, "="); - Если Индекс > 0 Тогда - - Ключ = Лев(СтрокаФайла, Индекс - 1); - АвторПредставление = Сред(СтрокаФайла, Индекс + 1); - - НоваяСтрока = Пользователи.Добавить(); - НоваяСтрока.ПредставлениеАвтора = АвторПредставление; - НоваяСтрока.Автор = Ключ; - КонецЕсли; - КонецЦикла; - - Исключение - Если ТекстовыйФайл <> Неопределено Тогда - ОсвободитьОбъект(ТекстовыйФайл); + МассивСтрокФайла = СтрРазделить(ТекстФайла, Символы.ПС, Ложь); + + Для каждого СтрокаФайла Из МассивСтрокФайла Цикл + + МассивКлючей = СтрРазделить(СтрокаФайла, "=", Ложь); + + Если Не МассивКлючей.Количество() = 2 Тогда + Лог.Предупреждение("Ошибка чтения файла авторов строка <%1>", СтрокаФайла); + Продолжить; КонецЕсли; - ВызватьИсключение; - КонецПопытки; - + + НоваяСтрока = ТаблицаАвторов.Добавить(); + НоваяСтрока.ПредставлениеАвтора = СокрЛП(МассивКлючей[0]); + НоваяСтрока.Автор = СокрЛП(МассивКлючей[1]); + + КонецЦикла; + + ТекстовыйФайл.Закрыть(); + Если ТекстовыйФайл <> Неопределено Тогда ОсвободитьОбъект(ТекстовыйФайл); КонецЕсли; - - Возврат Пользователи; - -КонецФункции + +КонецПроцедуры + // Наполняет каталог рабочей копии служебными данными // @@ -1278,6 +1292,16 @@ КонецФункции +Функция НоваяТаблицаАвторов() + + Таблица = Новый ТаблицаЗначений; + Таблица.Колонки.Добавить("Автор"); + Таблица.Колонки.Добавить("ПредставлениеАвтора"); + + Возврат Таблица; + +КонецФункции + Функция ПодготовитьФайлКоммита(Знач Комментарий) ИмяФайлаКомментария = ВременныеФайлы.СоздатьФайл("txt"); From 3c62ca7350a7c3d349f32dc878fd2a1ceeea8337 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 13 Mar 2019 11:31:47 +0300 Subject: [PATCH 43/76] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=B9=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO | 6 ------ ...\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 TODO diff --git a/TODO b/TODO deleted file mode 100644 index d5a7ec82..00000000 --- a/TODO +++ /dev/null @@ -1,6 +0,0 @@ -[] Добавить чистку кеша Хранилища 1С по отдельному флагу (или подключаемому плагину) -[] Команда all - [] Чтение файла формата json - [] Чтение файла формата yaml - [] Чтение файла формата xml для совместимости??? -[] Описать интерфейс подписчиков отдельно diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 689bbaa3..797a6aa2 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -1056,7 +1056,7 @@ ОбработчикПодписок.ПослеПолученияТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов); Возврат ТаблицаАвторов; - + КонецФункции Процедура ПрочитатьФайлАвторов(ПутьКФайлуАвторов, ТаблицаАвторов) From 4874db6301d61ab0e6223ced69ff2906430b0598 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 13 Mar 2019 12:52:12 +0300 Subject: [PATCH 44/76] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BF=D1=83?= =?UTF-8?q?=D1=82=D0=B0=D0=BB=20=D0=B8=D0=BD=D0=B4=D0=B5=D0=BA=D1=81=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 797a6aa2..3e0e3b5a 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -1085,8 +1085,8 @@ КонецЕсли; НоваяСтрока = ТаблицаАвторов.Добавить(); - НоваяСтрока.ПредставлениеАвтора = СокрЛП(МассивКлючей[0]); - НоваяСтрока.Автор = СокрЛП(МассивКлючей[1]); + НоваяСтрока.Автор = СокрЛП(МассивКлючей[0]); + НоваяСтрока.ПредставлениеАвтора = СокрЛП(МассивКлючей[1]); КонецЦикла; From 977d1024e0998b3633be28a54b9cf3e3dfd72c55 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 13 Mar 2019 17:59:21 +0300 Subject: [PATCH 45/76] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D0=BA=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D0=B5=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 4 ++++ 1 file changed, 4 insertions(+) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 3e0e3b5a..60ce4378 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -1077,6 +1077,10 @@ Для каждого СтрокаФайла Из МассивСтрокФайла Цикл + Если СтрНачинаетсяС(СокрЛП(СтрокаФайла), "//") Тогда + Продолжить; + КонецЕсли; + МассивКлючей = СтрРазделить(СтрокаФайла, "=", Ложь); Если Не МассивКлючей.Количество() = 2 Тогда From aacdcb42e13f9f3c97b0ea78c9a53badced5c5d4 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Mon, 18 Mar 2019 11:21:16 +0300 Subject: [PATCH 46/76] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=BF=D1=86=D0=B8=D1=8F=20-e=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B?= =?UTF-8?q?=20clone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\276\320\274\320\260\320\275\320\264\320\260Clone.os" | 6 ++++++ 1 file changed, 6 insertions(+) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" index 2c908e0d..cebc407c 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" @@ -9,6 +9,10 @@ Команда.Опция("p storage-pwd", "", "пароль пользователя хранилища конфигурации") .ТСтрока() .ВОкружении("GITSYNC_STORAGE_PASSWORD GITSYNC_STORAGE_PWD"); + + Команда.Опция("e ext extension", "", "имя расширения для работы с хранилищем расширения") + .ТСтрока() + .ВОкружении("GITSYNC_EXTENSION"); Команда.Аргумент("PATH", "", "Путь к хранилищу конфигурации 1С.") .ТСтрока() @@ -34,6 +38,7 @@ ПользовательХранилища = Команда.ЗначениеОпции("storage-user"); ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); + ИмяРасширения = Команда.ЗначениеОпции("extension"); Лог.Отладка("КаталогРабочейКопии: %1", КаталогРабочейКопии); @@ -61,6 +66,7 @@ .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) + .ИмяРасширения(ИмяРасширения) .ПодпискиНаСобытия(ИндексПлагинов) .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды()) .УровеньЛога(ПараметрыПриложения.УровеньЛога()) From f7a1adfb62b07453882a210ebca7e0e03c62e0cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Wed, 13 Mar 2019 10:31:26 +0300 Subject: [PATCH 47/76] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D0=B9=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B5.=20=D0=9D?= =?UTF-8?q?=D0=B5=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F=D0=BB=D0=BE=D1=81?= =?UTF-8?q?=D1=8C=20=D0=B8=D0=BC=D1=8F=20=D1=80=D0=B0=D1=81=D1=88=D0=B8?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\270\320\267\320\260\321\206\320\270\320\270.os" | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index e79d1cc3..79d486da 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -495,13 +495,14 @@ Если СтандартнаяОбработка Тогда - Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); - Параметры.Добавить(СтрШаблон("/DumpConfigToFiles %1", КаталогВыгрузки)); - Если ИмяРасширения <> "" Тогда - Параметры.Добавить(СтрШаблон("-Extension %1", ИмяРасширения)); - КонецЕсли; Попытка - Конфигуратор.ВыполнитьКоманду(Параметры); + + Если НЕ ПустаяСтрока(ИмяРасширения) Тогда + Конфигуратор.ВыгрузитьРасширениеВФайлы(КаталогВыгрузки, ИмяРасширения); + Иначе + Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогВыгрузки); + КонецЕсли; + Исключение ОписаниеОшибки = ОписаниеОшибки(); Если Не ЭтоПропускаемаяОшибка(ОписаниеОшибки) Тогда From 7f2b4d472d0785c5c250b04fa09c87eb9125376b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80?= <Администратор@localhost> Date: Wed, 13 Mar 2019 10:31:59 +0300 Subject: [PATCH 48/76] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D1=8F=20=D0=BD=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D0=BF=D0=B8=D1=81=D0=BA=D0=B5=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D1=86=D1=8B=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\277\320\270\321\201\320\276\320\272.os" | 42 ++++++++ ...20\267\320\260\321\206\320\270\320\270.os" | 96 ++++++++++++------- 2 files changed, 102 insertions(+), 36 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" index 1a71f9aa..63bb64d7 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\264\320\277\320\270\321\201\320\276\320\272.os" @@ -245,6 +245,48 @@ КонецПроцедуры +// Вызывается при получении таблицы пользователей из хранилища конфигурации +// +// Параметры: +// ПутьКФайлуАвторов - Строка - полный путь к хранилищу конфигурации +// ТаблицаАвторов - ТаблицаЗначений - инициализированная таблица с колонками: +// * Автор - Строка - имя автора версии в хранилище +// * ПредставлениеАвтора - Строка - представление автора для коммита в git +// СтандартнаяОбработка - Булево - признак отказ от обработки по умолчанию +// +Процедура ПриПолученииТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов, СтандартнаяОбработка) Экспорт + + ПараметрыВыполнения = Новый Массив; + ПараметрыВыполнения.Добавить(ПутьКФайлуАвторов); + ПараметрыВыполнения.Добавить(ТаблицаАвторов); + ПараметрыВыполнения.Добавить(СтандартнаяОбработка); + + ВыполнитьПодпискуНаСобытие("ПриПолученииТаблицыАвторов", ПараметрыВыполнения); + + ПрисвоитьЗначенияПараметраПроцедуры(ПараметрыВыполнения, ПутьКФайлуАвторов, ТаблицаАвторов, СтандартнаяОбработка); + +КонецПроцедуры + +// Вызывается при получении таблицы пользователей из хранилища конфигурации +// +// Параметры: +// ПутьКФайлуАвторов - Строка - полный путь к хранилищу конфигурации +// ТаблицаАвторов - ТаблицаЗначений - инициализированная таблица с колонками: +// * Автор - Строка - имя автора версии в хранилище +// * ПредставлениеАвтора - Строка - представление автора для коммита в git +// +Процедура ПослеПолученияТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов) Экспорт + + ПараметрыВыполнения = Новый Массив; + ПараметрыВыполнения.Добавить(ПутьКФайлуАвторов); + ПараметрыВыполнения.Добавить(ТаблицаАвторов); + + ВыполнитьПодпискуНаСобытие("ПослеПолученияТаблицыАвторов", ПараметрыВыполнения); + + ПрисвоитьЗначенияПараметраПроцедуры(ПараметрыВыполнения, ПутьКФайлуАвторов, ТаблицаАвторов); + +КонецПроцедуры + #КонецОбласти #Область Подписки_на_обработки_строки_версии diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 79d486da..689bbaa3 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -982,7 +982,9 @@ Знач КаталогРабочейКопии) Экспорт ПутьКФайлуСопоставления = ОбъединитьПути(КаталогРабочейКопии, ИмяФайлаАвторов()); - ТаблицаСопоставления = ПрочитатьФайлАвторовГитВТаблицуПользователей(ПутьКФайлуСопоставления); + + ТаблицаСопоставления = ПолучитьТаблицуАвторов(ПутьКФайлуСопоставления); + Для Каждого СтрокаТаблицы Из ТаблицаХранилища Цикл СтрокаПользователя = ТаблицаСопоставления.Найти(СтрокаТаблицы.Автор, "Автор"); @@ -1029,7 +1031,7 @@ КонецПроцедуры -// Читает файл авторов и возвращает таблицу пользователей +// Получает таблицу авторов из файла // // Параметры: // ПутьКФайлуАвторов - Строка - путь к файлу авторов @@ -1038,52 +1040,64 @@ // ТаблицаЗначений - таблица пользователей с колонками // * Автор - Строка - имя автора версии в хранилище // * ПредставлениеАвтора - Строка - представление автора для коммита в git -// * ГУИД_Автора - Строка - уникальный идентификатор автора версии // -Функция ПрочитатьФайлАвторовГитВТаблицуПользователей(Знач ПутьКФайлуАвторов) Экспорт +Функция ПолучитьТаблицуАвторов(Знач ПутьКФайлуАвторов) Экспорт - Если НЕ ЗначениеЗаполнено(ПутьКФайлуАвторов) Тогда - Возврат Неопределено; + СтандартнаяОбработка = Истина; + + ТаблицаАвторов = НоваяТаблицаАвторов(); + + ОбработчикПодписок.ПриПолученииТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов, СтандартнаяОбработка); + + Если СтандартнаяОбработка Тогда + ПрочитатьФайлАвторов(ПутьКФайлуАвторов, ТаблицаАвторов); КонецЕсли; + ОбработчикПодписок.ПослеПолученияТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов); + + Возврат ТаблицаАвторов; + +КонецФункции + +Процедура ПрочитатьФайлАвторов(ПутьКФайлуАвторов, ТаблицаАвторов) + + Если НЕ ЗначениеЗаполнено(ПутьКФайлуАвторов) Тогда + Возврат; + КонецЕсли; + Файл = Новый Файл(ПутьКФайлуАвторов); Если Не Файл.Существует() Тогда - Возврат НоваяТаблицаПользователейХранилища(); + Возврат; КонецЕсли; + + ТекстовыйФайл = Новый ЧтениеТекста(ПутьКФайлуАвторов, "utf-8"); + ТекстФайла = ТекстовыйФайл.Прочитать(); - Пользователи = НоваяТаблицаПользователейХранилища(); - - Попытка - ТекстовыйФайл = Новый ЧтениеТекста(ПутьКФайлуАвторов, "utf-8"); - СтрокаФайла = ""; - Пока СтрокаФайла <> Неопределено Цикл - СтрокаФайла = ТекстовыйФайл.ПрочитатьСтроку(); - Индекс = Найти(СтрокаФайла, "="); - Если Индекс > 0 Тогда - - Ключ = Лев(СтрокаФайла, Индекс - 1); - АвторПредставление = Сред(СтрокаФайла, Индекс + 1); - - НоваяСтрока = Пользователи.Добавить(); - НоваяСтрока.ПредставлениеАвтора = АвторПредставление; - НоваяСтрока.Автор = Ключ; - КонецЕсли; - КонецЦикла; - - Исключение - Если ТекстовыйФайл <> Неопределено Тогда - ОсвободитьОбъект(ТекстовыйФайл); + МассивСтрокФайла = СтрРазделить(ТекстФайла, Символы.ПС, Ложь); + + Для каждого СтрокаФайла Из МассивСтрокФайла Цикл + + МассивКлючей = СтрРазделить(СтрокаФайла, "=", Ложь); + + Если Не МассивКлючей.Количество() = 2 Тогда + Лог.Предупреждение("Ошибка чтения файла авторов строка <%1>", СтрокаФайла); + Продолжить; КонецЕсли; - ВызватьИсключение; - КонецПопытки; - + + НоваяСтрока = ТаблицаАвторов.Добавить(); + НоваяСтрока.ПредставлениеАвтора = СокрЛП(МассивКлючей[0]); + НоваяСтрока.Автор = СокрЛП(МассивКлючей[1]); + + КонецЦикла; + + ТекстовыйФайл.Закрыть(); + Если ТекстовыйФайл <> Неопределено Тогда ОсвободитьОбъект(ТекстовыйФайл); КонецЕсли; - - Возврат Пользователи; - -КонецФункции + +КонецПроцедуры + // Наполняет каталог рабочей копии служебными данными // @@ -1278,6 +1292,16 @@ КонецФункции +Функция НоваяТаблицаАвторов() + + Таблица = Новый ТаблицаЗначений; + Таблица.Колонки.Добавить("Автор"); + Таблица.Колонки.Добавить("ПредставлениеАвтора"); + + Возврат Таблица; + +КонецФункции + Функция ПодготовитьФайлКоммита(Знач Комментарий) ИмяФайлаКомментария = ВременныеФайлы.СоздатьФайл("txt"); From ff380ce82dcd574a26ae20f8dc8be12b573a039e Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 13 Mar 2019 11:31:47 +0300 Subject: [PATCH 49/76] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=B9=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO | 6 ------ ...\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 TODO diff --git a/TODO b/TODO deleted file mode 100644 index d5a7ec82..00000000 --- a/TODO +++ /dev/null @@ -1,6 +0,0 @@ -[] Добавить чистку кеша Хранилища 1С по отдельному флагу (или подключаемому плагину) -[] Команда all - [] Чтение файла формата json - [] Чтение файла формата yaml - [] Чтение файла формата xml для совместимости??? -[] Описать интерфейс подписчиков отдельно diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 689bbaa3..797a6aa2 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -1056,7 +1056,7 @@ ОбработчикПодписок.ПослеПолученияТаблицыАвторов(ПутьКФайлуАвторов, ТаблицаАвторов); Возврат ТаблицаАвторов; - + КонецФункции Процедура ПрочитатьФайлАвторов(ПутьКФайлуАвторов, ТаблицаАвторов) From 9c0dc7b99be67823de467c319a23614c18afeba5 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 13 Mar 2019 12:52:12 +0300 Subject: [PATCH 50/76] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BF=D1=83?= =?UTF-8?q?=D1=82=D0=B0=D0=BB=20=D0=B8=D0=BD=D0=B4=D0=B5=D0=BA=D1=81=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 797a6aa2..3e0e3b5a 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -1085,8 +1085,8 @@ КонецЕсли; НоваяСтрока = ТаблицаАвторов.Добавить(); - НоваяСтрока.ПредставлениеАвтора = СокрЛП(МассивКлючей[0]); - НоваяСтрока.Автор = СокрЛП(МассивКлючей[1]); + НоваяСтрока.Автор = СокрЛП(МассивКлючей[0]); + НоваяСтрока.ПредставлениеАвтора = СокрЛП(МассивКлючей[1]); КонецЦикла; From 5f1ff8044eed2041cfc84345688b4852bece15d4 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 13 Mar 2019 17:59:21 +0300 Subject: [PATCH 51/76] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D0=BA=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D0=B5=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 4 ++++ 1 file changed, 4 insertions(+) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 3e0e3b5a..60ce4378 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -1077,6 +1077,10 @@ Для каждого СтрокаФайла Из МассивСтрокФайла Цикл + Если СтрНачинаетсяС(СокрЛП(СтрокаФайла), "//") Тогда + Продолжить; + КонецЕсли; + МассивКлючей = СтрРазделить(СтрокаФайла, "=", Ложь); Если Не МассивКлючей.Количество() = 2 Тогда From 6f61ae57be102ca9033ac46d1d55bd941c681684 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Mon, 18 Mar 2019 11:21:16 +0300 Subject: [PATCH 52/76] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=BF=D1=86=D0=B8=D1=8F=20-e=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B?= =?UTF-8?q?=20clone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\276\320\274\320\260\320\275\320\264\320\260Clone.os" | 6 ++++++ 1 file changed, 6 insertions(+) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" index 2c908e0d..cebc407c 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" @@ -9,6 +9,10 @@ Команда.Опция("p storage-pwd", "", "пароль пользователя хранилища конфигурации") .ТСтрока() .ВОкружении("GITSYNC_STORAGE_PASSWORD GITSYNC_STORAGE_PWD"); + + Команда.Опция("e ext extension", "", "имя расширения для работы с хранилищем расширения") + .ТСтрока() + .ВОкружении("GITSYNC_EXTENSION"); Команда.Аргумент("PATH", "", "Путь к хранилищу конфигурации 1С.") .ТСтрока() @@ -34,6 +38,7 @@ ПользовательХранилища = Команда.ЗначениеОпции("storage-user"); ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); + ИмяРасширения = Команда.ЗначениеОпции("extension"); Лог.Отладка("КаталогРабочейКопии: %1", КаталогРабочейКопии); @@ -61,6 +66,7 @@ .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) + .ИмяРасширения(ИмяРасширения) .ПодпискиНаСобытия(ИндексПлагинов) .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды()) .УровеньЛога(ПараметрыПриложения.УровеньЛога()) From 06e7a00df14a173bbbe8c418db41b8bab486d42b Mon Sep 17 00:00:00 2001 From: khorevaa Date: Tue, 19 Mar 2019 10:42:07 +0300 Subject: [PATCH 53/76] =?UTF-8?q?=D0=9E=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...70\320\267\320\260\321\206\320\270\320\270.os" | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 06cee4f0..c3d50b9f 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -33,7 +33,7 @@ ПроверитьВозможностьСинхронизации(); - НастроитьМенеджерСинхронизации(); + МенеджерСинхронизации = ПолучитьМенеджерСинхронизации(); Если МенеджерСинхронизации.ТребуетсяСинхронизироватьХранилищеСГит(ПутьКРабочемуКаталогу, ПутьКХранилищу) Тогда @@ -45,7 +45,7 @@ Лог.Информация("Путь к рабочей копии: <%1>", ПутьКРабочемуКаталогу); Иначе - Лог.Предупреждение("--> Синхронизация не требуется <--"); + Лог.Информация("--> Синхронизация не требуется <--"); КонецЕсли; Лог.Информация("================================="); @@ -55,12 +55,9 @@ // TODO: Написать проверку какую? ) КонецПроцедуры -Процедура НастроитьМенеджерСинхронизации() +Функция ПолучитьМенеджерСинхронизации() - Если МенеджерСинхронизации = Неопределено Тогда - МенеджерСинхронизации = Новый МенеджерСинхронизации(); - КонецЕсли; - + МенеджерСинхронизации = Новый МенеджерСинхронизации(); МенеджерСинхронизации.ВерсияПлатформы(ВерсияПлатформы) .ДоменПочтыПоУмолчанию(ДоменПочтыПоУмолчанию) .ИсполняемыйФайлГит(ПутьИсполняемомуФайлуГит) @@ -75,7 +72,9 @@ МенеджерСинхронизации.ИмяРасширения(ИмяРасширения); КонецЕсли; -КонецПроцедуры + Возврат МенеджерСинхронизации; + +КонецФункции // Устанавливает путь к каталогу плагинов // From ff272f9348fce858c1312ae930993760f8ca3da1 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Tue, 19 Mar 2019 17:54:54 +0300 Subject: [PATCH 54/76] =?UTF-8?q?=D0=9C=D0=BE=D0=B4=D1=83=D0=BB=D1=8C=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\271\320\273\320\260\320\274\320\270.os" | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 "src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" new file mode 100644 index 00000000..01a53335 --- /dev/null +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" @@ -0,0 +1,49 @@ +#Использовать json + +Функция ПрочитатьФайл(Знач ПутьКФайлу) Экспорт + + ЧтениеТекста = Новый ЧтениеТекста(ПутьКФайлу, "UTF-8"); + ТекстФайла = ЧтениеТекста.Прочитать(); + ЧтениеТекста.Закрыть(); + + Возврат ТекстФайла; + +КонецФункции + +Процедура ЗаписатьФайл(Знач ПутьКФайлу, Знач ТекстФайла) Экспорт + + ЗаписьТекста = Новый ЗаписьТекста(ПутьКФайлу); + ЗаписьТекста.Записать(ТекстФайла); + ЗаписьТекста.Закрыть(); + +КонецПроцедуры + +Функция ОБъектВJson(Знач Объект, ПараметрыЗаписи = Неопределено) Экспорт + + Если ПараметрыЗаписи = Неопределено Тогда + ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", ,,,,,, Истина); + КонецЕсли; + + ЗаписьJSON = Новый ЗаписьJSON; + ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи); + ЗаписатьJSON(ЗаписьJSON, Объект); + + Возврат ЗаписьJSON.Закрыть(); + +КонецФункции + +Функция ОбъектИзJson(ТекстJSON, ЧитатьВСтруктуру = Ложь, ФорматДаты = Неопределено) Экспорт + + Если ФорматДаты = Неопределено Тогда + ФорматДаты = ФорматДатыJSON.ISO; + КонецЕсли; + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.УстановитьСтроку(ТекстJSON); + + Объект = ПрочитатьJSON(ЧтениеJSON, + НЕ ЧитатьВСтруктуру,, + ФорматДаты); + ЧтениеJSON.Закрыть(); + Возврат Объект; + +КонецФункции \ No newline at end of file From 01a56356c57c6fba55e8af895fecf51d7d95fc28 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Tue, 19 Mar 2019 17:55:19 +0300 Subject: [PATCH 55/76] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D0=B0=D1=8F=20=D0=BE?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20all?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...274\320\260\320\275\320\264\320\260All.os" | 34 +++--- ...20\267\320\260\321\206\320\270\320\270.os" | 2 +- ...20\267\320\260\321\206\320\270\321\217.os" | 114 +++++++++++++----- 3 files changed, 102 insertions(+), 48 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" index 2aee2b59..47176324 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" @@ -14,11 +14,10 @@ Команда.Опция("n name", "", "имя настройки пакетной синхронизации") .ТСтрока(); - + Команда.Опция("u storage-user", "", "пользователь хранилища конфигурации") .ТСтрока() - .ВОкружении("GITSYNC_STORAGE_USER") - .ПоУмолчанию("Администратор"); + .ВОкружении("GITSYNC_STORAGE_USER"); Команда.Опция("p storage-pwd", "", "пароль пользователя хранилища конфигурации") .ТСтрока() @@ -42,7 +41,7 @@ ПользовательХранилища = Команда.ЗначениеОпции("storage-user"); ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); - + ИмяНастройкиСинхронизации = Команда.ЗначениеОпции("name"); КоличествоПотоковСинхронизации = Команда.ЗначениеОпции("thread"); @@ -62,15 +61,18 @@ КонецЕсли; ПакетнаяСинхронизация = Новый ПакетнаяСинхронизация(); - ПакетнаяСинхронизация.ТаймерПовторения(ИнтервалПовторенияСинхронизации) + ПакетнаяСинхронизация + .ТаймерПовторения(ИнтервалПовторенияСинхронизации) .КаталогПлагинов(ПараметрыПриложения.КаталогПлагинов()) .ФайлВключенныхПлагинов(ПараметрыПриложения.ФайлВключенныхПлагинов()) .ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) - .УровеньЛога(ПараметрыПриложения.УровеньЛога()) + .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) + .УровеньЛога(ПараметрыПриложения.УровеньЛога()) .РежимУдаленияВременныхФайлов(Истина) - .АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища); + .АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища) + ; ПакетнаяСинхронизация.ПрочитатьНастройки(ПараметрыФайлаНастроек); @@ -85,23 +87,17 @@ КонецПроцедуры Функция ПрочитатьФайлНастроек(Знач ПутьКФайлуНастроек) - - МенеджерПараметров = Новый МенеджерПараметров(); - МенеджерПараметров.УстановитьФайлПараметров(ПутьКФайлуНастроек); - МенеджерПараметров.ИспользоватьПровайдерJSON(); - - Если НЕ ПараметрыПриложения.ЭтоСборкаEXE() Тогда - МенеджерПараметров.ИспользоватьПровайдерYAML(); - КонецЕсли; Лог.Отладка("Чтение файла настроек начато"); - МенеджерПараметров.Прочитать(); + + ТекстФайла = РаботаСФайлами.ПрочитатьФайл(ПутьКФайлуНастроек); + Лог.Отладка("Чтение файла настроек завершено"); - ПрочитанныйПараметры = МенеджерПараметров.ПрочитанныйПараметры(); + ПрочитанныйПараметры = РаботаСФайлами.ОбъектИзJson(ТекстФайла); - ЭтоОдинРепозиторий = МенеджерПараметров.Параметр("repositories") = Неопределено - И МенеджерПараметров.Параметр("Репозитории") = Неопределено; + ЭтоОдинРепозиторий = ПрочитанныйПараметры.Получить("repositories") = Неопределено + И ПрочитанныйПараметры.Получить("Репозитории") = Неопределено; Параметры = ПрочитанныйПараметры; diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 60ce4378..d7bb0c59 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -458,7 +458,7 @@ ПериодОжидания = 10000; Лог.Ошибка(ТекстОшибки); - Лог.Информация("Повторное подключение через 10сек. Осталось попыток: <%1>", КоличествоЦикловОжиданияЛицензии); + Лог.Информация("Повторное подключение через 10 сек. Осталось попыток: <%1>", КоличествоЦикловОжиданияЛицензии); Приостановить(ПериодОжидания); Иначе diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" index 8def0b65..36f630af 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" @@ -11,8 +11,8 @@ /////////////////////////////////////////////////////////////////////////////////////////////// // ПРОГРАММНЫЙ ИНТЕРФЕЙС -Перем ДоменПочтыДляGitПоУмолчанию Экспорт; // Строка, домен пользователей по умолчанию -Перем ТекущаяВерсияПлатформы Экспорт; // Строка, используемая версия 1С.Предприятие +Перем ДоменПочтыДляGitПоУмолчанию; // Строка, домен пользователей по умолчанию +Перем ТекущаяВерсияПлатформы; // Строка, используемая версия 1С.Предприятие Перем ТаймерПовторения; Перем ПутьКФайлуНастроек; @@ -21,7 +21,8 @@ Перем ПутьКВременномуКаталогу; Перем ИндексРепозиториев; -Перем Параметры; +Перем НастройкиПоУмолчанию; +Перем РепозиторииСинхронизации; #Область Публичное_API @@ -134,6 +135,21 @@ КонецФункции +// Устанавливает путь к платформе 1С +// +// Параметры: +// НовыйПутьКПлатформе - Строка - путь к исполняемому файлу платформы 1С.Предприятие +// +// Возвращаемое значение: +// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации> +// +Функция ПутьКПлатформе(Знач НовыйПутьКПлатформе) Экспорт + + ТекущийПутьКПлатформе = НовыйПутьКПлатформе; + Возврат ЭтотОбъект; + +КонецФункции + // Читает настройки пакетной синхронизации из соответствия // // Параметры: @@ -141,11 +157,19 @@ // Процедура ПрочитатьНастройки(Знач НастройкиСинхронизации) Экспорт + Лог.Отладка("Количество настроек <%1>", НастройкиСинхронизации.Количество()); + КонструкторПараметров = КонструкторПараметровПакетнойСинхронизации(); КонструкторПараметров.ИзСоответствия(НастройкиСинхронизации); Параметры = КонструкторПараметров.ВСтруктуру(); + НастройкиПоУмолчанию = Параметры.НастройкиПоУмолчанию; + + ДополнитьНастройкиПоУмолчания(); + + РепозиторииСинхронизации = Параметры.Репозитории; + КонецПроцедуры // Устанавливает таймер повторения пакетной синхронизации @@ -328,8 +352,8 @@ ИндексРепозиториев = Новый Соответствие(); - Лог.Отладка("Готовлю индекс для <%1> репозиториев", Параметры.Репозитории.Количество()); - Для каждого ПараметрыРепозитория Из Параметры.Репозитории Цикл + Лог.Отладка("Готовлю индекс для <%1> репозиториев", РепозиторииСинхронизации.Количество()); + Для каждого ПараметрыРепозитория Из РепозиторииСинхронизации Цикл РепоСинхронизации = Новый РепозиторийСинхронизации(); @@ -340,7 +364,7 @@ ИндексРепозиториев.Вставить(ПараметрыРепозитория.Наименование, РепоСинхронизации); - ОбъединитьПараметрыРепозиторияИГлобальные(ПараметрыРепозитория); + ДополнитьПараметрыРепозитория(ПараметрыРепозитория); РепоСинхронизации.ПрочитатьПараметры(ПараметрыРепозитория); @@ -348,35 +372,69 @@ КонецПроцедуры -Процедура ОбъединитьПараметрыРепозиторияИГлобальные(ПараметрыРепозитория) +Процедура ДополнитьНастройкиПоУмолчания() + + Если ЗначениеЗаполнено(АвторизацияВХранилище.ПользовательХранилища) Тогда + НастройкиПоУмолчанию.Вставить("ПользовательХранилища", АвторизацияВХранилище.ПользовательХранилища); + НастройкиПоУмолчанию.Вставить("ПарольПользователяХранилища", АвторизацияВХранилище.ПарольПользователяХранилища); + КонецЕсли; - ГлобальныеПараметры = Параметры.НастройкиПоУмолчанию; + ЗаполнитьПриемникПриНеобходимости("ПутьИсполняемомуФайлуГит", ПутьКИсполняемомуФайлуGit, НастройкиПоУмолчанию); + ЗаполнитьПриемникПриНеобходимости("ПутьКВременномуКаталогу", ПутьКВременномуКаталогу, НастройкиПоУмолчанию); + ЗаполнитьПриемникПриНеобходимости("ВерсияПлатформы", ТекущаяВерсияПлатформы, НастройкиПоУмолчанию); + ЗаполнитьПриемникПриНеобходимости("ДоменПочтыПоУмолчанию", ДоменПочтыДляGitПоУмолчанию, НастройкиПоУмолчанию); + ЗаполнитьПриемникПриНеобходимости("КоличествоЦикловОжиданияЛицензии", КоличествоЦикловОжиданияЛицензииПоУмолчанию, НастройкиПоУмолчанию); - Для каждого ГлобальныйПараметр Из ГлобальныеПараметры Цикл - - КлючПараметра = ГлобальныйПараметр.Ключ; - ЗначениеПараметра = ГлобальныйПараметр.Значение; +КонецПроцедуры - Если Не ЗначениеЗаполнено(ЗначениеПараметра) Тогда - Продолжить; - КонецЕсли; +Процедура ДополнитьПараметрыРепозитория(ПараметрыРепозитория) - ЗначениеИзПараметровРепо = ПараметрыРепозитория[КлючПараметра]; + ГлобальныеПараметры = НастройкиПоУмолчанию; - Если КлючПараметра = "Плагины" Тогда - ОбъединитьПлагины(ЗначениеПараметра, ЗначениеИзПараметровРепо); - Продолжить; - ИначеЕсли КлючПараметра = "НастройкиПлагинов" Тогда - Лог.Отладка("Тип значения настройки плагинов <%1>", ТипЗнч(ЗначениеИзПараметровРепо)); - ОбъединитьНастройкиПлагинов(ЗначениеПараметра, ЗначениеИзПараметровРепо); - Продолжить; - КонецЕсли; + ЗаполнитьПриНеобходимости("ПользовательХранилища", ГлобальныеПараметры, ПараметрыРепозитория); + ЗаполнитьПриНеобходимости("ПарольПользователяХранилища", ГлобальныеПараметры, ПараметрыРепозитория); + ЗаполнитьПриНеобходимости("ПутьИсполняемомуФайлуГит", ГлобальныеПараметры, ПараметрыРепозитория); + ЗаполнитьПриНеобходимости("ПутьКВременномуКаталогу", ГлобальныеПараметры, ПараметрыРепозитория); + ЗаполнитьПриНеобходимости("ВерсияПлатформы", ГлобальныеПараметры, ПараметрыРепозитория); + ЗаполнитьПриНеобходимости("ДоменПочтыПоУмолчанию", ГлобальныеПараметры, ПараметрыРепозитория); + ЗаполнитьПриНеобходимости("КоличествоЦикловОжиданияЛицензии", ГлобальныеПараметры, ПараметрыРепозитория); - Если Не ЗначениеЗаполнено(ЗначениеИзПараметровРепо) Тогда - ПараметрыРепозитория.Вставить(КлючПараметра, ЗначениеПараметра); - КонецЕсли; + ОбъединитьПлагины(ГлобальныеПараметры.Плагины, ПараметрыРепозитория.Плагины); + ОбъединитьНастройкиПлагинов(ГлобальныеПараметры.НастройкиПлагинов, ГлобальныеПараметры.НастройкиПлагинов); - КонецЦикла; +КонецПроцедуры + +Процедура ЗаполнитьПриемникПриНеобходимости(Ключ, Значение, Приемник) + + Если Не ЗначениеЗаполнено(Значение) Тогда + Возврат; + КонецЕсли; + + ЗначениеПриемник = Приемник[Ключ]; + + Если ЗначениеЗаполнено(ЗначениеПриемник) Тогда + Возврат; + КонецЕсли; + + Приемник.Вставить(Ключ, Значение); + +КонецПроцедуры + +Процедура ЗаполнитьПриНеобходимости(КлючНастройки, Источник, Приемник) + + ЗначениеИсточник = Источник[КлючНастройки]; + + Если Не ЗначениеЗаполнено(ЗначениеИсточник) Тогда + Возврат; + КонецЕсли; + + ЗначениеПриемник = Приемник[КлючНастройки]; + + Если ЗначениеЗаполнено(ЗначениеПриемник) Тогда + Возврат; + КонецЕсли; + + Приемник.Вставить(КлючНастройки, ЗначениеИсточник); КонецПроцедуры From 09507f3fabfcdcb14894d18eb03f74f1b84bd460 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Tue, 19 Mar 2019 17:56:00 +0300 Subject: [PATCH 56/76] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20all?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/cmd/all.feature | 47 +++++++++ features/cmd/fixtures/default.yaml | 34 +++++++ features/cmd/step_definitions/all.os | 146 +++++++++++++++++++++++++++ tests/fixtures/ext.yaml | 33 ++++++ 4 files changed, 260 insertions(+) create mode 100644 features/cmd/all.feature create mode 100644 features/cmd/fixtures/default.yaml create mode 100644 features/cmd/step_definitions/all.os create mode 100644 tests/fixtures/ext.yaml diff --git a/features/cmd/all.feature b/features/cmd/all.feature new file mode 100644 index 00000000..ee9f96d6 --- /dev/null +++ b/features/cmd/all.feature @@ -0,0 +1,47 @@ +# language: ru + +Функционал: Проверка работы команды all + Как Пользователь + Я хочу выполнить клонирование существующего репозитория гит + Чтобы выполнять автоматическую выгрузку конфигураций из хранилища + +Структура сценария: <Сценарий> + Дано Я очищаю параметры команды "gitsync" в контексте + И Я создаю новый объект ГитРепозиторий + И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке + + # Подготовка хранилища 1 + И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С_1" + И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С_1" + И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников_1" + И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников_1" + И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" + И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходников_1" + + # Подготовка хранилища 2 + И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С_2" + И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С_2" + И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников_2" + И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников_2" + И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_2" + И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходников_2" + + И Я создаю файл настройки из файла <ПутьКФайлуШаблона> и сохраняю в переменную "FILE" + + Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" + И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" + # И Я добавляю параметр "-v" для команды "gitsync" + И Я добавляю параметр "all" для команды "gitsync" + И Я добавляю параметр <ДопПараметрыЗапуска> для команды "gitsync" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "FILE" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит <Результат> + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + +Примеры: + | Сценарий | ПутьКФайлуШаблона | ДопПараметрыЗапуска | Результат | + | Выполнение синхронизации по имени | tests/fixtures/default.yaml | --name ТестовыйРепозиторий | ИНФОРМАЦИЯ - Наименование: <ТестовыйРепозиторий> | + | Выполнение синхронизации с несколькими хранилищами | tests/fixtures/default.yaml | | ИНФОРМАЦИЯ - Завершено выполнение команды | + | Выполнение синхронизации расширениями | tests/fixtures/ext.yaml | | ИНФОРМАЦИЯ - Завершено выполнение команды | + \ No newline at end of file diff --git a/features/cmd/fixtures/default.yaml b/features/cmd/fixtures/default.yaml new file mode 100644 index 00000000..3bfca11f --- /dev/null +++ b/features/cmd/fixtures/default.yaml @@ -0,0 +1,34 @@ +globals: + storage-user: Администратор + storage-pwd: '' + git-path: git + v8version: 8.3 + domain-email: localhost + lic-try-count: 5 + plugins: + enable: + - test + - test2 + disable: + - test3 +repositories: + - name: ТестовыйРепозиторий + # disable: false + path: <КаталогХранилища1С_1> + dir: <ПутьКаталогаИсходников_1> + plugins: + more: + - test3 + plugins-config: + + - name: ТестовыйРепозиторий2 + # disable: true + path: <КаталогХранилища1С_2> + dir: <ПутьКаталогаИсходников_2> + storage-user: Администратор + storage-pwd: '' + git-path: git + temp-dir: "" + v8version: 8.3 + domain-email: localhost + lic-try-count: 5 \ No newline at end of file diff --git a/features/cmd/step_definitions/all.os b/features/cmd/step_definitions/all.os new file mode 100644 index 00000000..cc4e3497 --- /dev/null +++ b/features/cmd/step_definitions/all.os @@ -0,0 +1,146 @@ +#Использовать tempfiles +#Использовать yaml + +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd + +Перем БДД; //контекст фреймворка 1bdd + +// Метод выдает список шагов, реализованных в данном файле-шагов +Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт + БДД = КонтекстФреймворкаBDD; + + ВсеШаги = Новый Массив; + + ВсеШаги.Добавить("ЯСоздаюТестовойФайлAuthorsВКаталогеИзПеременной"); + ВсеШаги.Добавить("ЯЗаписываюВФайлVersionВКаталогеИзПеременной"); + ВсеШаги.Добавить("ЯСоздаюФайлНастройкиИзФайлаИСохраняюВПеременную"); + ВсеШаги.Добавить("ЯДобавляюПараметр__Параметрдлятаблицы____Параметрстрока__Gitsync"); + + Возврат ВсеШаги; +КонецФункции + +// Реализация шагов + +// Процедура выполняется перед запуском каждого сценария +Процедура ПередЗапускомСценария(Знач Узел) Экспорт + +КонецПроцедуры + +// Процедура выполняется после завершения каждого сценария +Процедура ПослеЗапускаСценария(Знач Узел) Экспорт + +КонецПроцедуры + + + +//Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" +Процедура ЯСоздаюТестовойФайлAuthorsВКаталогеИзПеременной(Знач ИмяПеременной) Экспорт + ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста(ИмяПеременной); + ФайлАвторов = Новый ЗаписьТекста; + ФайлАвторов.Открыть(ОбъединитьПути(ПутьКаталогаИсходников, "AUTHORS"), "utf-8"); + ФайлАвторов.ЗаписатьСтроку("Администратор=Администратор "); + ФайлАвторов.ЗаписатьСтроку("Отладка=Отладка "); + ФайлАвторов.Закрыть(); +КонецПроцедуры + +//Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходников_1" +Процедура ЯЗаписываюВФайлVersionВКаталогеИзПеременной(Знач НомерВерсии, Знач ИмяПеременной) Экспорт + + ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста(ИмяПеременной); + + ПутьКФайлуВерсий = ОбъединитьПути(ПутьКаталогаИсходников,"VERSION"); + Попытка + Запись = Новый ЗаписьТекста(ПутьКФайлуВерсий, "utf-8"); + Запись.ЗаписатьСтроку(""); + Запись.ЗаписатьСтроку("" + НомерВерсии + ""); + Запись.Закрыть(); + Исключение + Если Запись <> Неопределено Тогда + ОсвободитьОбъект(Запись); + КонецЕсли; + ВызватьИсключение; + КонецПопытки; +КонецПроцедуры + +//Я добавляю параметр <--name ТестовыйРепозиторий>" для команды "gitsync" +Процедура ЯДобавляюПараметр__Параметрдлятаблицы____Параметрстрока__Gitsync(Знач Парам1, Знач ПарамСтрока2) Экспорт + ВызватьИсключение Новый ИнформацияОбОшибке("Шаг <ЯДобавляюПараметр__Параметрдлятаблицы____Параметрстрока__Gitsync> не реализован", "Не реализовано."); +КонецПроцедуры + +//Я создаю файл настройки из файла и сохраняю в переменную "FILE" +Процедура ЯСоздаюФайлНастройкиИзФайлаИСохраняюВПеременную(Знач ПутьКФайлу, Знач ИмяПеременной) Экспорт + + + ПутьКаталогаИсходников_1 = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников_1"); + КаталогХранилища1С_1 = БДД.ПолучитьИзКонтекста("КаталогХранилища1С_1"); + + ПутьКаталогаИсходников_2 = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников_2"); + КаталогХранилища1С_2 = БДД.ПолучитьИзКонтекста("КаталогХранилища1С_2"); + + ЧтениеТекста = Новый ЧтениеТекста(); + ЧтениеТекста.Открыть(ПутьКФайлу, КодировкаТекста.UTF8); + ТекстYaml = ЧтениеТекста.Прочитать(); + ЧтениеТекста.Закрыть(); + + ТекстYaml = СтрЗаменить(ТекстYaml, "<ПутьКаталогаИсходников_1>", ПутьКаталогаИсходников_1); + ТекстYaml = СтрЗаменить(ТекстYaml, "<КаталогХранилища1С_1>", КаталогХранилища1С_1); + + ТекстYaml = СтрЗаменить(ТекстYaml, "<ПутьКаталогаИсходников_2>", ПутьКаталогаИсходников_2); + ТекстYaml = СтрЗаменить(ТекстYaml, "<КаталогХранилища1С_2>", КаталогХранилища1С_2); + + ВременныйФайл = ВременныеФайлы.СоздатьФайл(".yaml"); + + ЗаписьТекста = Новый ЗаписьТекста(ВременныйФайл); + ЗаписьТекста.Записать(ТекстYaml); + ЗаписьТекста.Закрыть(); + + + ЧтениеТекста = Новый ЧтениеТекста(); + ЧтениеТекста.Открыть(ВременныйФайл, КодировкаТекста.UTF8); + ТекстYaml = ЧтениеТекста.Прочитать(); + ЧтениеТекста.Закрыть(); + + ПарсерYAml = Новый ПарсерYaml(); + Результа = ПарсерYAml.ПрочитатьYaml(ТекстYaml); + + ТекстJson = ОБъектВJson(Результа); + + ВременныйФайл = ВременныеФайлы.СоздатьФайл(".json"); + ЗаписьТекста = Новый ЗаписьТекста(ВременныйФайл); + ЗаписьТекста.Записать(ТекстJson); + ЗаписьТекста.Закрыть(); + + БДД.СохранитьВКонтекст(ИмяПеременной, ВременныйФайл); + +КонецПроцедуры + + +Функция ОБъектВJson(Знач Объект, ПараметрыЗаписи = Неопределено) Экспорт + + Если ПараметрыЗаписи = Неопределено Тогда + ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", ,,,,,, Истина); + КонецЕсли; + + ЗаписьJSON = Новый ЗаписьJSON; + ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи); + ЗаписатьJSON(ЗаписьJSON, Объект); + + Возврат ЗаписьJSON.Закрыть(); + +КонецФункции + +Функция ОбъектИзJson(ТекстJSON, ЧитатьВСтруктуру = Ложь, ФорматДаты = Неопределено) Экспорт + + Если ФорматДаты = Неопределено Тогда + ФорматДаты = ФорматДатыJSON.ISO; + КонецЕсли; + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.УстановитьСтроку(ТекстJSON); + + Объект = ПрочитатьJSON(ЧтениеJSON, + НЕ ЧитатьВСтруктуру,, + ФорматДаты); + ЧтениеJSON.Закрыть(); + Возврат Объект; + +КонецФункции diff --git a/tests/fixtures/ext.yaml b/tests/fixtures/ext.yaml new file mode 100644 index 00000000..648ee49f --- /dev/null +++ b/tests/fixtures/ext.yaml @@ -0,0 +1,33 @@ +globals: + storage-user: Администратор + storage-pwd: '' + git-path: git + v8version: 8.3 + domain-email: localhost + lic-try-count: 5 + plugins: + enable: + - test + - test2 + disable: + - test3 +repositories: + - name: ТестовыйРепозиторий + # disable: false + path: <КаталогХранилища1С_1> + dir: <ПутьКаталогаИсходников_1> + plugins: + more: + - test3 + + - name: ТестовыйРепозиторий2 + # disable: true + path: <КаталогХранилища1С_2> + dir: <ПутьКаталогаИсходников_2> + storage-user: Администратор + storage-pwd: '' + git-path: git + temp-dir: "" + v8version: 8.3 + domain-email: localhost + lic-try-count: 5 \ No newline at end of file From 61eb18255116728ef935eeba77763863dbdcd09f Mon Sep 17 00:00:00 2001 From: khorevaa Date: Tue, 19 Mar 2019 17:56:24 +0300 Subject: [PATCH 57/76] =?UTF-8?q?=D0=95=D1=89=D0=B5=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B8=D0=BA=20=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/fixtures/default.yaml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tests/fixtures/default.yaml diff --git a/tests/fixtures/default.yaml b/tests/fixtures/default.yaml new file mode 100644 index 00000000..c9b151f3 --- /dev/null +++ b/tests/fixtures/default.yaml @@ -0,0 +1,35 @@ +globals: + storage-user: Администратор + storage-pwd: '' + git-path: git + v8version: 8.3 + domain-email: localhost + lic-try-count: 5 + plugins: + enable: + - test + - test2 + disable: + - test3 +repositories: + - name: ТестовыйРепозиторий + # disable: false + path: <КаталогХранилища1С_1> + dir: <ПутьКаталогаИсходников_1> + plugins: + more: + - test3 + plugins-config: + URL: http + + - name: ТестовыйРепозиторий2 + # disable: true + path: <КаталогХранилища1С_2> + dir: <ПутьКаталогаИсходников_2> + storage-user: Администратор + storage-pwd: '' + git-path: git + temp-dir: "" + v8version: 8.3 + domain-email: localhost + lic-try-count: 5 \ No newline at end of file From 998d2067897b9aff3132f32b61d5dcc3509184a3 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Tue, 19 Mar 2019 18:09:34 +0300 Subject: [PATCH 58/76] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D1=85?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D0=B0=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/cmd/all.feature | 12 +++++++++-- features/cmd/step_definitions/all.os | 12 ++++++----- tests/fixtures/ext.yaml | 30 ++++------------------------ 3 files changed, 21 insertions(+), 33 deletions(-) diff --git a/features/cmd/all.feature b/features/cmd/all.feature index ee9f96d6..a3cc71a9 100644 --- a/features/cmd/all.feature +++ b/features/cmd/all.feature @@ -26,6 +26,14 @@ И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_2" И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходников_2" + # Подготовка хранилища 2 + И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилищаРасширения" + И я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилищаРасширения" + И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходниковРасширения" + И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходниковРасширения" + И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходниковРасширения" + И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходниковРасширения" + И Я создаю файл настройки из файла <ПутьКФайлуШаблона> и сохраняю в переменную "FILE" Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" @@ -41,7 +49,7 @@ Примеры: | Сценарий | ПутьКФайлуШаблона | ДопПараметрыЗапуска | Результат | - | Выполнение синхронизации по имени | tests/fixtures/default.yaml | --name ТестовыйРепозиторий | ИНФОРМАЦИЯ - Наименование: <ТестовыйРепозиторий> | - | Выполнение синхронизации с несколькими хранилищами | tests/fixtures/default.yaml | | ИНФОРМАЦИЯ - Завершено выполнение команды | + # | Выполнение синхронизации по имени | tests/fixtures/default.yaml | --name ТестовыйРепозиторий | ИНФОРМАЦИЯ - Наименование: <ТестовыйРепозиторий> | + # | Выполнение синхронизации с несколькими хранилищами | tests/fixtures/default.yaml | | ИНФОРМАЦИЯ - Завершено выполнение команды | | Выполнение синхронизации расширениями | tests/fixtures/ext.yaml | | ИНФОРМАЦИЯ - Завершено выполнение команды | \ No newline at end of file diff --git a/features/cmd/step_definitions/all.os b/features/cmd/step_definitions/all.os index cc4e3497..5daace23 100644 --- a/features/cmd/step_definitions/all.os +++ b/features/cmd/step_definitions/all.os @@ -62,11 +62,6 @@ КонецПопытки; КонецПроцедуры -//Я добавляю параметр <--name ТестовыйРепозиторий>" для команды "gitsync" -Процедура ЯДобавляюПараметр__Параметрдлятаблицы____Параметрстрока__Gitsync(Знач Парам1, Знач ПарамСтрока2) Экспорт - ВызватьИсключение Новый ИнформацияОбОшибке("Шаг <ЯДобавляюПараметр__Параметрдлятаблицы____Параметрстрока__Gitsync> не реализован", "Не реализовано."); -КонецПроцедуры - //Я создаю файл настройки из файла и сохраняю в переменную "FILE" Процедура ЯСоздаюФайлНастройкиИзФайлаИСохраняюВПеременную(Знач ПутьКФайлу, Знач ИмяПеременной) Экспорт @@ -77,6 +72,10 @@ ПутьКаталогаИсходников_2 = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников_2"); КаталогХранилища1С_2 = БДД.ПолучитьИзКонтекста("КаталогХранилища1С_2"); + ПутьКаталогаИсходниковРасширения = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходниковРасширения"); + КаталогХранилищаРасширения = БДД.ПолучитьИзКонтекста("КаталогХранилищаРасширения"); + + ЧтениеТекста = Новый ЧтениеТекста(); ЧтениеТекста.Открыть(ПутьКФайлу, КодировкаТекста.UTF8); ТекстYaml = ЧтениеТекста.Прочитать(); @@ -88,6 +87,9 @@ ТекстYaml = СтрЗаменить(ТекстYaml, "<ПутьКаталогаИсходников_2>", ПутьКаталогаИсходников_2); ТекстYaml = СтрЗаменить(ТекстYaml, "<КаталогХранилища1С_2>", КаталогХранилища1С_2); + ТекстYaml = СтрЗаменить(ТекстYaml, "<ПутьКаталогаИсходниковРасширения>", ПутьКаталогаИсходниковРасширения); + ТекстYaml = СтрЗаменить(ТекстYaml, "<КаталогХранилищаРасширения>", КаталогХранилищаРасширения); + ВременныйФайл = ВременныеФайлы.СоздатьФайл(".yaml"); ЗаписьТекста = Новый ЗаписьТекста(ВременныйФайл); diff --git a/tests/fixtures/ext.yaml b/tests/fixtures/ext.yaml index 648ee49f..3f02e665 100644 --- a/tests/fixtures/ext.yaml +++ b/tests/fixtures/ext.yaml @@ -1,29 +1,7 @@ -globals: - storage-user: Администратор - storage-pwd: '' - git-path: git - v8version: 8.3 - domain-email: localhost - lic-try-count: 5 - plugins: - enable: - - test - - test2 - disable: - - test3 -repositories: - - name: ТестовыйРепозиторий - # disable: false - path: <КаталогХранилища1С_1> - dir: <ПутьКаталогаИсходников_1> - plugins: - more: - - test3 - - - name: ТестовыйРепозиторий2 - # disable: true - path: <КаталогХранилища1С_2> - dir: <ПутьКаталогаИсходников_2> + name: Расширение1 + extention: test + path: <КаталогХранилищаРасширения> + dir: <ПутьКаталогаИсходниковРасширения> storage-user: Администратор storage-pwd: '' git-path: git From 540b805457e050a626c3013a3b0c4caa9a90ab71 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Tue, 19 Mar 2019 18:13:56 +0300 Subject: [PATCH 59/76] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\271\320\273\320\276\320\262Gitsync.os" | 47 +------------------ 1 file changed, 1 insertion(+), 46 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" index e39368fb..beb0b8e7 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\227\320\260\320\277\320\260\320\272\320\276\320\262\320\260\320\275\320\275\321\213\321\205\320\244\320\260\320\271\320\273\320\276\320\262Gitsync.os" @@ -4,22 +4,7 @@ Функция ПолучитьПутьКФайлу(Знач ИмяФайла) Экспорт - МенеджерЗапакованныхФайлов = Новый МенеджерЗапакованныхФайловGitsync; - ИндексФайлов = МенеджерЗапакованныхФайлов.ПолучитьИндексФайлов(); - - ИмяКлассаФайла = ИндексФайлов[ИмяФайла]; - - Если ИмяКлассаФайла = Неопределено Тогда - ВызватьИсключение СтрШаблон("Не удалось найти двоичные данные для файла <%1>", ИмяФайла); - КонецЕсли; - - КлассФайла = Новый (ИмяКлассаФайла); - - ПутьКФайлу = ""; - - НайтиФайлИлиРаспаковать(КлассФайла, ПутьКФайлу); - - Возврат ПутьКФайлу; + Возврат ПолучитьВременныйПутьКФайлу(ИмяФайла); КонецФункции @@ -79,36 +64,6 @@ КонецПроцедуры -Функция ВычислитьХешФайла(Знач ПутьКФайлу) - - ХешФайла = Новый ХешированиеДанных(ХешФункция.MD5); - ХешФайла.ДобавитьФайл(ПутьКФайлу); - ХешСуммаСтрокой = ХешФайла.ХешСуммаСтрокой; - ХешФайла = Неопределено; - Возврат ХешСуммаСтрокой; - -КонецФункции - -Процедура НайтиФайлИлиРаспаковать(КлассФайла, ПутьКФайлу) - - ИмяФайла = КлассФайла.ИмяФайла(); - - ПутьКФайлу = ПолучитьПутьКВременномуФайлу(ИмяФайла); - - ВременныйФайл = Новый Файл(ПутьКФайлу); - - Если Не ВременныйФайл.Существует() - ИЛИ Не ВычислитьХешФайла(ПутьКФайлу) = КлассФайла.Хеш() Тогда - РаспаковатьДанные(ПутьКФайлу, КлассФайла); - КонецЕсли; - -КонецПроцедуры - -Функция ПолучитьПутьКВременномуФайлу(Знач ИмяФайла) - ПутьКФайлу = ОбъединитьПути(КаталогВременныхФайлов(), ".Gitsync", ИмяФайла); - Возврат ПутьКФайлу; -КонецФункции - Процедура ОбеспечитьКаталог(ПутьККаталогу) ВременныйКаталог = Новый Файл(ПутьККаталогу); From d158cd239d553d7a8243ea42728800610421b60a Mon Sep 17 00:00:00 2001 From: khorevaa Date: Fri, 22 Mar 2019 15:10:43 +0300 Subject: [PATCH 60/76] =?UTF-8?q?fix=20#138=20=D0=92=D0=BE=D0=B7=D0=BC?= =?UTF-8?q?=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D1=83=D0=BA=D0=B0?= =?UTF-8?q?=D0=B7=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BA=D0=BE=D0=BD=D0=BA=D1=80?= =?UTF-8?q?=D0=B5=D1=82=D0=BD=D0=BE=D0=B9=20=D0=B1=D0=B0=D0=B7=D1=8B=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cmd/gitsync.os | 18 ++++++++-- ...4\320\260\320\275\320\264\320\260Clone.os" | 5 +++ ...74\320\260\320\275\320\264\320\260Init.os" | 5 +++ ...74\320\260\320\275\320\264\320\260Sync.os" | 5 +++ ...20\267\320\260\321\206\320\270\320\270.os" | 36 +++++++++++++++++++ 5 files changed, 66 insertions(+), 3 deletions(-) diff --git a/src/cmd/gitsync.os b/src/cmd/gitsync.os index 98a961a5..bc4e859d 100644 --- a/src/cmd/gitsync.os +++ b/src/cmd/gitsync.os @@ -27,19 +27,31 @@ Приложение.Опция("v verbose", Ложь, "вывод отладочной информация в процессе выполнении") .Флаговый() .ВОкружении("GITSYNC_VERBOSE"); - + + Приложение.Опция("U ib-user ib-usr", "", "пользователь информационной базы") + .ТСтрока() + .ВОкружении("GITSYNC_IB_USR GITSYNC_IB_USER"); + + Приложение.Опция("P ib-pwd", "", "пароль пользователя информационной базы") + .ТСтрока() + .ВОкружении("GITSYNC_IB_PASSWORD GITSYNC_IB_PWD"); + + Приложение.Опция("C ib-connection ibconnection", "", "путь подключения к информационной базе") + .ТСтрока() + .ВОкружении("GITSYNC_IB_CONNECTION GITSYNC_IBCONNECTION"); + // Приложение.Опция("p plugins", "", "плагины к загрузке и исполнению (дополнительное ограничение)") // .ТМассивСтрок() // .ВОкружении("GITSYNC_RUN_PLUGINS"); Приложение.Опция("t tempdir", "", "путь к каталогу временных файлов") - .ВОкружении("GITSYNC_TEMP"); + .ВОкружении("GITSYNC_TEMP GITSYNC_TEMPDIR"); Приложение.Опция("git-path", "", "путь к исполняемому файлу git") .ВОкружении("GITSYNC_GIT_PATH GIT_PATH"); Приложение.Опция("domain-email", "localhost", "домен почты для пользователей git") - .ВОкружении("GITSYNC_EMAIL"); + .ВОкружении("GITSYNC_EMAIL GITSYNC_DOMAIN_EMAIL"); Приложение.ДобавитьКоманду("usage u", "Выводит примеры использования", Новый КомандаUsage); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" index cebc407c..3032497f 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" @@ -40,6 +40,10 @@ ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); ИмяРасширения = Команда.ЗначениеОпции("extension"); + ПользовательИБ = Команда.ЗначениеОпции("ib-user"); + ПарольПользователяИБ = Команда.ЗначениеОпции("ib-pwd"); + СтрокаСоединенияИБ = Команда.ЗначениеОпции("ib-connection"); + Лог.Отладка("КаталогРабочейКопии: %1", КаталогРабочейКопии); Если ПустаяСтрока(URLРепозитория) Тогда @@ -66,6 +70,7 @@ .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) + .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ); .ИмяРасширения(ИмяРасширения) .ПодпискиНаСобытия(ИндексПлагинов) .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды()) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" index 8bc70b45..1440d14e 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" @@ -39,6 +39,10 @@ ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); ИмяРасширения = Команда.ЗначениеОпции("extension"); + ПользовательИБ = Команда.ЗначениеОпции("ib-user"); + ПарольПользователяИБ = Команда.ЗначениеОпции("ib-pwd"); + СтрокаСоединенияИБ = Команда.ЗначениеОпции("ib-connection"); + // инициализировать с нуля ФайлКаталогРабочейКопии = Новый Файл(КаталогРабочейКопии); Если Не ФайлКаталогРабочейКопии.Существует() Тогда @@ -68,6 +72,7 @@ .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) + .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ); .ПодпискиНаСобытия(ИндексПлагинов) .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды()) .ИмяРасширения(ИмяРасширения) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" index 48f0f381..f1bff7ec 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" @@ -40,6 +40,10 @@ ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd"); ИмяРасширения = Команда.ЗначениеОпции("extension"); + ПользовательИБ = Команда.ЗначениеОпции("ib-user"); + ПарольПользователяИБ = Команда.ЗначениеОпции("ib-pwd"); + СтрокаСоединенияИБ = Команда.ЗначениеОпции("ib-connection"); + ФайлКаталогРабочейКопии = Новый Файл(КаталогРабочейКопии); КаталогРабочейКопии = ФайлКаталогРабочейКопии.ПолноеИмя; @@ -62,6 +66,7 @@ .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) + .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ); .ПодпискиНаСобытия(ИндексПлагинов) .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды()) .УровеньЛога(ПараметрыПриложения.УровеньЛога()) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index d7bb0c59..e2d329be 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -27,6 +27,7 @@ Перем РабочийКонфигуратор; // Объект.УправлениеКонфигуратором Перем ПутьКИсполняемомуФайлуGit; // Строка, полный путь к исполняемому файлу git Перем ИмяРасширения; // Строка, Имя расширения для синхронизации +Перем КонтекстВыполнения; // Структура, Ключи СтрокаСоединения, Пользователь, Пароль /////////////////////////////////////////////////////////////////////////////////////////////// // ПРОГРАММНЫЙ ИНТЕРФЕЙС @@ -232,6 +233,27 @@ КонецФункции +// Устанавливает контекст выполнения синхронизации +// +// Параметры: +// СтрокаСоединения - Строка - строка соединения с информационной базой +// Пользователь - Строка - пользователь информационной базы +// Пароль - Строка - пароль информационной базы +// +// Возвращаемое значение: +// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации> +// +Функция УстановитьКонтекст(Знач СтрокаСоединения, Знач Пользователь, Знач Пароль) Экспорт + + КонтекстВыполнения.СтрокаСоединения = СтрокаСоединения; + КонтекстВыполнения.Пользователь = Пользователь; + КонтекстВыполнения.Пароль = Пароль; + + ПоказатьКонтекстВРежимеОтладки(); + + Возврат ЭтотОбъект; +КонецФункции + // Основная функция синхронизации. // Перемещает в git набор коммитов хранилища 1С // @@ -698,6 +720,12 @@ КаталогСборки = ВременныеФайлы.СоздатьКаталог(); УправлениеКонфигуратором.КаталогСборки(КаталогСборки); + Если ЗначениеЗаполнено(КонтекстВыполнения.СтрокаСоединения) Тогда + + УправлениеКонфигуратором.УстановитьКонтекст(КонтекстВыполнения.СтрокаСоединения, КонтекстВыполнения.Пользователь, КонтекстВыполнения.Пароль); + + КонецЕсли; + Если ЗначениеЗаполнено(ТекущийПутьКПлатформе) Тогда Если Не ФС.ФайлСуществует(ТекущийПутьКПлатформе) Тогда @@ -1542,6 +1570,12 @@ КонецПроцедуры +Процедура ПоказатьКонтекстВРежимеОтладки() + Лог.Отладка("СтрокаСоединения <%1>", КонтекстВыполнения.СтрокаСоединения); + Лог.Отладка("Пользователь <%1>", КонтекстВыполнения.Пользователь); + Лог.Отладка(?(ПустаяСтрока(КонтекстВыполнения.Пароль), "Пароль не задан", " Задан пароль <%1>",КонтекстВыполнения.Пароль)); +КонецПроцедуры + Функция ФорматДвузначноеЧисло(ЗначениеЧисло) ЧислоСтрокой = Строка(ЗначениеЧисло); Если СтрДлина(ЧислоСтрокой) < 2 Тогда @@ -1571,6 +1605,8 @@ ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; ТекущаяВерсияПлатформы = "8.3"; + + КонтекстВыполнения = Новый Структура("СтрокаСоединения, Пользователь, Пароль", "", "", ""); КонецПроцедуры From 19decb4bc28ee909191e2a5a24ba938e246823a8 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Fri, 22 Mar 2019 15:19:54 +0300 Subject: [PATCH 61/76] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=BE=D0=B9=20=D0=B1=D0=B0=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index e2d329be..224550ce 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -1573,7 +1573,7 @@ Процедура ПоказатьКонтекстВРежимеОтладки() Лог.Отладка("СтрокаСоединения <%1>", КонтекстВыполнения.СтрокаСоединения); Лог.Отладка("Пользователь <%1>", КонтекстВыполнения.Пользователь); - Лог.Отладка(?(ПустаяСтрока(КонтекстВыполнения.Пароль), "Пароль не задан", " Задан пароль <%1>",КонтекстВыполнения.Пароль)); + Лог.Отладка(?(ПустаяСтрока(КонтекстВыполнения.Пароль), "Пароль не задан", СтрШаблон("Задан пароль <%1>", КонтекстВыполнения.Пароль))); КонецПроцедуры Функция ФорматДвузначноеЧисло(ЗначениеЧисло) From e6feccd858ffbe774b693fcf3c1cd35c22e2cbbe Mon Sep 17 00:00:00 2001 From: khorevaa Date: Fri, 22 Mar 2019 15:22:00 +0300 Subject: [PATCH 62/76] =?UTF-8?q?=D0=9B=D0=B8=D1=88=D0=BD=D1=8F=D1=8F=20;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" | 2 +- ...\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" | 2 +- ...\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" index 3032497f..4c1c6bc1 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" @@ -70,7 +70,7 @@ .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) - .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ); + .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ) .ИмяРасширения(ИмяРасширения) .ПодпискиНаСобытия(ИндексПлагинов) .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды()) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" index 1440d14e..4da9d3d9 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" @@ -72,7 +72,7 @@ .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) - .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ); + .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ) .ПодпискиНаСобытия(ИндексПлагинов) .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды()) .ИмяРасширения(ИмяРасширения) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" index f1bff7ec..f75e15c5 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" @@ -66,7 +66,7 @@ .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) - .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ); + .УстановитьКонтекст(СтрокаСоединенияИБ, ПользовательИБ, ПарольПользователяИБ) .ПодпискиНаСобытия(ИндексПлагинов) .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды()) .УровеньЛога(ПараметрыПриложения.УровеньЛога()) From 6f62f636bdcf72fa764fda7fefdfd40b131c6434 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Fri, 22 Mar 2019 15:39:36 +0300 Subject: [PATCH 63/76] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20API=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../testPlugin.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/cmd/step_definitions/testsata/test_plugin/src/\320\232\320\273\320\260\321\201\321\201\321\213/testPlugin.os" "b/features/cmd/step_definitions/testsata/test_plugin/src/\320\232\320\273\320\260\321\201\321\201\321\213/testPlugin.os" index 32280b51..9f99d014 100644 --- "a/features/cmd/step_definitions/testsata/test_plugin/src/\320\232\320\273\320\260\321\201\321\201\321\213/testPlugin.os" +++ "b/features/cmd/step_definitions/testsata/test_plugin/src/\320\232\320\273\320\260\321\201\321\201\321\213/testPlugin.os" @@ -116,7 +116,7 @@ // ПутьКХранилищу - Строка - полный путь к хранилищу конфигурации // СтандартнаяОбработка - Булево - признак отказ от обработки по умолчанию // -Процедура ПриПолученииТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу, СтандартнаяОбработка) Экспорт +Процедура ПриПолученииТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу, ТекущаяВерсия, СтандартнаяОбработка) Экспорт Лог.Информация("Вызвано событие <ПриПолученииТаблицыВерсий> для плагина <%1>", Имя()); From 58544c15296fdb39fb10aff8c2437232672c5f88 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Fri, 22 Mar 2019 16:33:11 +0300 Subject: [PATCH 64/76] =?UTF-8?q?=20=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D1=83=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=20ib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/cmd/ibconnection.feature | 64 +++++++++++++++++++ features/cmd/step_definitions/clone.os | 11 ++-- features/cmd/step_definitions/extention.os | 6 +- features/cmd/step_definitions/ibconnection.os | 47 ++++++++++++++ features/cmd/step_definitions/init.os | 6 +- features/cmd/step_definitions/shared.os | 10 +-- features/cmd/step_definitions/sync.core.os | 12 ++-- features/cmd/step_definitions/sync.os | 6 +- features/core/step_definitions/clone.os | 10 +-- features/core/step_definitions/init.os | 6 +- features/core/step_definitions/shared.os | 10 +-- features/core/step_definitions/sync.batch.os | 2 +- features/core/step_definitions/sync.core.os | 12 ++-- features/core/step_definitions/sync.os | 6 +- ...20\267\320\260\321\206\320\270\320\270.os" | 1 + 15 files changed, 160 insertions(+), 49 deletions(-) create mode 100644 features/cmd/ibconnection.feature create mode 100644 features/cmd/step_definitions/ibconnection.os diff --git a/features/cmd/ibconnection.feature b/features/cmd/ibconnection.feature new file mode 100644 index 00000000..ff9c1d7a --- /dev/null +++ b/features/cmd/ibconnection.feature @@ -0,0 +1,64 @@ +# language: ru + +Функционал: Синхронизация в конкретной информационной базе + Как Пользователь + Я хочу иметь возможность указать не стандартный путь к платформе 1С + Чтобы иметь возможность запускать синхронизацию с указание конкретной информационной базы + +Контекст: Тестовый контекст + Когда Я очищаю параметры команды "gitsync" в контексте + И Я создаю новый объект ГитРепозиторий + И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке + И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С" + И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С" + И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" + И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" + И Я создаю временную базу и сохраняю в переменную "ВременнаяБаза" + И Я создаю тестовой файл AUTHORS + И Я записываю "0" в файл VERSION + +Сценарий: Простая синхронизация хранилища с git-репозиторием + Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" + И Я добавляю параметр "-v" для команды "gitsync" + И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" + И Я добавляю параметр "--ib-connection" для команды "gitsync" из переменной "ВременнаяБаза" + И Я добавляю параметр "sync" для команды "gitsync" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "Для синхронизации используется база" + И Вывод команды "gitsync" содержит "Завершена синхронизации с git" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + +Сценарий: Клонирование репозитория гит и наполнение его служебными данными + Допустим Я создаю временный каталог и сохраняю его в переменной "URLРепозитория" + И Я инициализирую bare репозиторий в каталоге из переменной "URLРепозитория" + И Я наполняю bare репозиторий из переменной "URLРепозитория" тестовыми данными + И Я добавляю параметр "-v" для команды "gitsync" + И Я добавляю параметр "--ib-connection" для команды "gitsync" из переменной "ВременнаяБаза" + И Я добавляю параметр "clone" для команды "gitsync" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "URLРепозитория" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "Клонирование завершено" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + И В каталоге из переменной "ПутьКаталогаИсходников" создается файл или каталог "AUTHORS" + И В каталоге из переменной "ПутьКаталогаИсходников" создается файл или каталог "VERSION" + +Сценарий: Инициализация каталога исходников в пустом каталоге внутри git-репозитория + Допустим Я инициализирую пустой репозиторий в каталог из переменной "ПутьКаталогаИсходников" + И Я создаю каталог src временный в каталоге из переменной "ПутьКаталогаИсходников" и сохраняю его в контекст в переменной "КаталогSRC" + И Я добавляю параметр "--ib-connection" для команды "gitsync" из переменной "ВременнаяБаза" + И Я добавляю параметр "init" для команды "gitsync" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогSRC" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "Инициализация завершена" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + И В каталоге из переменной "КаталогSRC" создается файл или каталог "AUTHORS" + И В каталоге из переменной "КаталогSRC" создается файл или каталог "VERSION" + И В каталоге из переменной "КаталогSRC" не создается файл или каталог ".git" \ No newline at end of file diff --git a/features/cmd/step_definitions/clone.os b/features/cmd/step_definitions/clone.os index ed02201e..dde5cd7e 100644 --- a/features/cmd/step_definitions/clone.os +++ b/features/cmd/step_definitions/clone.os @@ -2,7 +2,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -19,14 +19,13 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры @@ -36,7 +35,7 @@ ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); URLРепозитория = БДД.ПолучитьИзКонтекста(ПеременнаяURLРепозитория); - ВременныйКаталог = ЛокальныеВременныеФайлы.СоздатьКаталог(); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); ГитРепозиторий.УстановитьРабочийКаталог(ВременныйКаталог); ГитРепозиторий.Инициализировать(); @@ -62,7 +61,7 @@ ГитРепозиторий.Отправить(); - ЛокальныеВременныеФайлы.БезопасноУдалитьФайл(ВременныйКаталог); + ВременныеФайлы.БезопасноУдалитьФайл(ВременныйКаталог); КонецПроцедуры diff --git a/features/cmd/step_definitions/extention.os b/features/cmd/step_definitions/extention.os index f4718edd..6a1811fc 100644 --- a/features/cmd/step_definitions/extention.os +++ b/features/cmd/step_definitions/extention.os @@ -3,7 +3,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -21,13 +21,13 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры diff --git a/features/cmd/step_definitions/ibconnection.os b/features/cmd/step_definitions/ibconnection.os new file mode 100644 index 00000000..d1bd8d0e --- /dev/null +++ b/features/cmd/step_definitions/ibconnection.os @@ -0,0 +1,47 @@ +#Использовать v8runner +#Использовать tempfiles + +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd + + +Перем БДД; //контекст фреймворка 1bdd + + +// Метод выдает список шагов, реализованных в данном файле-шагов +Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт + БДД = КонтекстФреймворкаBDD; + + ВсеШаги = Новый Массив; + + ВсеШаги.Добавить("ЯСоздаюВременнуюБазуИСохраняюВПеременную"); + + Возврат ВсеШаги; +КонецФункции + +// Реализация шагов + + +// Процедура выполняется перед запуском каждого сценария +Процедура ПередЗапускомСценария(Знач Узел) Экспорт + + + +КонецПроцедуры + +// Процедура выполняется после завершения каждого сценария +Процедура ПослеЗапускаСценария(Знач Узел) Экспорт + +КонецПроцедуры + + +//Я создаю временную базу и сохраняю в переменную "ВременнаяБаза" +Процедура ЯСоздаюВременнуюБазуИСохраняюВПеременную(Знач ИмяПеременной) Экспорт + + ПутьКВременнойБазе = ВременныеФайлы.СоздатьКаталог(); + + УправлениеКонфигуратором = Новый УправлениеКонфигуратором; + УправлениеКонфигуратором.СоздатьФайловуюБазу(ПутьКВременнойБазе); + + БДД.СохранитьВКонтекст(ИмяПеременной, СтрШаблон("/F%1",ПутьКВременнойБазе)); + +КонецПроцедуры diff --git a/features/cmd/step_definitions/init.os b/features/cmd/step_definitions/init.os index 4ae473fb..153fea24 100644 --- a/features/cmd/step_definitions/init.os +++ b/features/cmd/step_definitions/init.os @@ -2,7 +2,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт БДД = КонтекстФреймворкаBDD; @@ -20,13 +20,13 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры //Я инициализирую пустой репозиторий в каталог из переменной "ПутьКаталогаИсходников" diff --git a/features/cmd/step_definitions/shared.os b/features/cmd/step_definitions/shared.os index b17a93a7..30784c14 100644 --- a/features/cmd/step_definitions/shared.os +++ b/features/cmd/step_definitions/shared.os @@ -6,7 +6,7 @@ #Использовать "../../../src/core" Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + Перем Лог; // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -53,13 +53,13 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры //я устанавливаю в контексте признак статистики скриптов OneScript @@ -104,7 +104,7 @@ //Я устанавливаю рабочей каталог во временный каталог Процедура ЯУстанавливаюРабочейКаталогВоВременныйКаталог() Экспорт - УстановитьТекущийКаталог(ЛокальныеВременныеФайлы.СоздатьКаталог()); + УстановитьТекущийКаталог(ВременныеФайлы.СоздатьКаталог()); КонецПроцедуры //Я создаю новый объект ГитРепозиторий @@ -371,6 +371,6 @@ КонецФункции -ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + Лог = Логирование.ПолучитьЛог(ИмяЛога()); \ No newline at end of file diff --git a/features/cmd/step_definitions/sync.core.os b/features/cmd/step_definitions/sync.core.os index e0327d2a..e7d9c86b 100644 --- a/features/cmd/step_definitions/sync.core.os +++ b/features/cmd/step_definitions/sync.core.os @@ -4,7 +4,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт БДД = КонтекстФреймворкаBDD; @@ -26,19 +26,19 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры //Я создаю временный каталог и сохраняю его в переменной "КаталогПлагинов" Процедура ЯСоздаюВременныйКаталогИСохраняюЕгоВПеременной(Знач ИмяПеременной) Экспорт - ВременныйКаталог = ЛокальныеВременныеФайлы.СоздатьКаталог(); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); БДД.СохранитьВКонтекст(ИмяПеременной, ВременныйКаталог); @@ -47,7 +47,7 @@ //Я собираю тестовый плагин и сохраняю в контекст "ПутьКФайлуПлагина" Процедура ЯСобираюТестовыйПлагинИСохраняюВКонтекст(Знач ИмяПеременной) Экспорт - ВременныйКаталог = ЛокальныеВременныеФайлы.СоздатьКаталог(); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); ФС.КопироватьСодержимоеКаталога(КаталогТестовогоПлагина(), ВременныйКаталог); @@ -126,4 +126,4 @@ Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "testsata", "test_plugin"); КонецФункции -ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + diff --git a/features/cmd/step_definitions/sync.os b/features/cmd/step_definitions/sync.os index 3a99892e..1aa3b993 100644 --- a/features/cmd/step_definitions/sync.os +++ b/features/cmd/step_definitions/sync.os @@ -1,7 +1,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -17,12 +17,12 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры diff --git a/features/core/step_definitions/clone.os b/features/core/step_definitions/clone.os index ed02201e..1503098b 100644 --- a/features/core/step_definitions/clone.os +++ b/features/core/step_definitions/clone.os @@ -2,7 +2,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -20,13 +20,13 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры @@ -36,7 +36,7 @@ ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); URLРепозитория = БДД.ПолучитьИзКонтекста(ПеременнаяURLРепозитория); - ВременныйКаталог = ЛокальныеВременныеФайлы.СоздатьКаталог(); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); ГитРепозиторий.УстановитьРабочийКаталог(ВременныйКаталог); ГитРепозиторий.Инициализировать(); @@ -62,7 +62,7 @@ ГитРепозиторий.Отправить(); - ЛокальныеВременныеФайлы.БезопасноУдалитьФайл(ВременныйКаталог); + ВременныеФайлы.БезопасноУдалитьФайл(ВременныйКаталог); КонецПроцедуры diff --git a/features/core/step_definitions/init.os b/features/core/step_definitions/init.os index 4ae473fb..153fea24 100644 --- a/features/core/step_definitions/init.os +++ b/features/core/step_definitions/init.os @@ -2,7 +2,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт БДД = КонтекстФреймворкаBDD; @@ -20,13 +20,13 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры //Я инициализирую пустой репозиторий в каталог из переменной "ПутьКаталогаИсходников" diff --git a/features/core/step_definitions/shared.os b/features/core/step_definitions/shared.os index 038eea71..21cbc2e4 100644 --- a/features/core/step_definitions/shared.os +++ b/features/core/step_definitions/shared.os @@ -6,7 +6,7 @@ #Использовать "../../../src/core" Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + Перем Лог; // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -53,13 +53,13 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры //я устанавливаю в контексте признак статистики скриптов OneScript @@ -104,7 +104,7 @@ //Я устанавливаю рабочей каталог во временный каталог Процедура ЯУстанавливаюРабочейКаталогВоВременныйКаталог() Экспорт - УстановитьТекущийКаталог(ЛокальныеВременныеФайлы.СоздатьКаталог()); + УстановитьТекущийКаталог(ВременныеФайлы.СоздатьКаталог()); КонецПроцедуры //Я создаю новый объект ГитРепозиторий @@ -343,7 +343,7 @@ Возврат "Команда-" + ИмяКоманды; КонецФункции -ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + Лог = Логирование.ПолучитьЛог(ИмяЛога()); //Лог.УстановитьУровень(Логирование.ПолучитьЛог("bdd").Уровень()); diff --git a/features/core/step_definitions/sync.batch.os b/features/core/step_definitions/sync.batch.os index e19cfa00..089d86c5 100644 --- a/features/core/step_definitions/sync.batch.os +++ b/features/core/step_definitions/sync.batch.os @@ -31,7 +31,7 @@ // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ВременныеФайлы.Удалить(); + КонецПроцедуры diff --git a/features/core/step_definitions/sync.core.os b/features/core/step_definitions/sync.core.os index fd9f3663..e4054548 100644 --- a/features/core/step_definitions/sync.core.os +++ b/features/core/step_definitions/sync.core.os @@ -4,7 +4,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт БДД = КонтекстФреймворкаBDD; @@ -26,19 +26,19 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры //Я создаю временный каталог и сохраняю его в переменной "КаталогПлагинов" Процедура ЯСоздаюВременныйКаталогИСохраняюЕгоВПеременной(Знач ИмяПеременной) Экспорт - ВременныйКаталог = ЛокальныеВременныеФайлы.СоздатьКаталог(); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); БДД.СохранитьВКонтекст(ИмяПеременной, ВременныйКаталог); @@ -47,7 +47,7 @@ //Я собираю тестовый плагин и сохраняю в контекст "ПутьКФайлуПлагина" Процедура ЯСобираюТестовыйПлагинИСохраняюВКонтекст(Знач ИмяПеременной) Экспорт - ВременныйКаталог = ЛокальныеВременныеФайлы.СоздатьКаталог(); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); ФС.КопироватьСодержимоеКаталога(КаталогТестовогоПлагина(), ВременныйКаталог); @@ -127,4 +127,4 @@ Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "testsata", "test_plugin"); КонецФункции -ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + diff --git a/features/core/step_definitions/sync.os b/features/core/step_definitions/sync.os index 3a99892e..1aa3b993 100644 --- a/features/core/step_definitions/sync.os +++ b/features/core/step_definitions/sync.os @@ -1,7 +1,7 @@ // Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd Перем БДД; //контекст фреймворка 1bdd -Перем ЛокальныеВременныеФайлы; + // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -17,12 +17,12 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы = Новый МенеджерВременныхФайлов; + КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - ЛокальныеВременныеФайлы.Удалить(); + КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 224550ce..9b5232e5 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -722,6 +722,7 @@ Если ЗначениеЗаполнено(КонтекстВыполнения.СтрокаСоединения) Тогда + Лог.Отладка("Для синхронизации используется база <%1>", КонтекстВыполнения.СтрокаСоединения); УправлениеКонфигуратором.УстановитьКонтекст(КонтекстВыполнения.СтрокаСоединения, КонтекстВыполнения.Пользователь, КонтекстВыполнения.Пароль); КонецЕсли; From a9d1eea0ef1dda10e0232896b4dc846135d3bda1 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Mon, 25 Mar 2019 16:36:05 +0300 Subject: [PATCH 65/76] =?UTF-8?q?=D0=A0=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=81=D0=B8=D0=B8=20=D0=BC=D0=B8=D0=BD=D0=B8=D0=BC=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8?= =?UTF-8?q?=D0=B8=208.3.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/tempExtension.cfe | Bin 3587 -> 3720 bytes .../tempExtension_Gitsync.os" | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/tempExtension.cfe b/bin/tempExtension.cfe index 97f7514377f4af6025996c5fc9bfa90221b2d156..3f28e7aa4c8a939b5d49811f04ec3a4ed929fc21 100644 GIT binary patch delta 2438 zcmZveXH=8R7KT3(Isp}ebO;DYF%nt=NJpB6DgqivB3hN_V+7xL(KaK`-rw5?U>}dZ!3gG2N{SLI7I^ur<N!!;YHeI8;*dkF@>$sTU|0g zfA#L~&9ue6s#|W`d9xsFiL)(NOn!CJ9Y>W^?1SgXZT~2d$kX$hf>V-~5z~r;R8Few z)8X#OYm&h+y7OS{=GsOD16idyvI`!F|5z&Gh&FjhCkQ`Ayv@zROm+omOmW1@R>!CoKLj=w1Cc(3Hi zniw39*@(CmtR}x%n^NvydHefpO=OU0$s#UpZ?CBeZGI%jUQwPFqz?hB*^S%9vkhssQyRB1Gv3(%37IyB`Z6b#^k<4*9FiYyhWX7Wo z1KkHe>jCGu2X9KL+Oy3sI5W?-zeo`9I@fYZjM3d6jJ=>&?LB^YicCAj_}hKOceUc} zY#2T-IyuZFN^{^y^&5peDU-7wk6aF%wI}-65-<260Sqd>F$pPrRO;cMic&I=GBaE9g)dxvC_8 z=a@;AdYO84!MS4W6D3&BDAI%s?@7p~kMvc&5G*>e{DvcPXk!JwUh+iCq-mf*`ne)G z&w(@I+S=Q1dg$6D)@{MYB3Tg>;Co~k06(VFuoAavp$9n2^^64r*zL3L?^*K{G<1DC z6|Dx3i?_d)fn|%d@|PHOX?j`dchLJ3?rN7ZmVJVJv*jT$uU^XSpssrT=06y@oUKP+5|bysuBiI9T`z z4Ha-I9V&X9DfEa8xTw z(d9-zI#l`al&%gj(|$R%UTfnM-?Emkj8@C7ke9Af6GAM|!Z8czNksagqVjv(Kz)>h zaGN^ZyMR$U5wT9<&K?{gLHlhUfiH!v_AU6$*}`ABaLjvX69lzv$;Y^K`kQwS4NLOJ zL=n;mvunn&9@PybDV^yAKDXcv&F#T50pi`9C~sCX8Zw@PG_GQDR5K^2efFuOd>hrY z#Z7j|AuZU5ZdGdQx<#U?jm1<5`OIKOQh9`E$rtM;%kpxs@R`5Y6jyfyQDriPSAMv# z9!-_Pgu!>m@6q!mBW^BQoYDPy9Floe*?`?%D~sdZ9rU;Il|sdG&gRZhY;O5X>#6cf zPO-$SDw`72_qbVOHc1&JPaDSkQgneb%U`j>`P~g=yPjs{y25?Ie*JUA^W z?VqPliDp%QwqEj8uo%jGWcT_2Tsg1FvEj^|xd3`eF;l8gE572CdLi_T=;on5mPU@^ zb=QLM(XrT=5D{HFRrVF1ln9fL&wbMV7R3vMjLD1DJ*a%J9g}8O0aAJV>=8DG2u7#j zSr6hV!dLB*7jSxwSHy{wAwwatY&mj#Z@qx2k^d6^8drJnKxR(6-pzRMQ!-ZMDHQcNy?vr z&$P9?_K;0$WFa_^-czr7wQ1|<&$1+66;h|E(NK#_(ARO8cr=?-K6L%1fmb|m<=KKA z*2JpOWX}=H5s0Qd4_qbCM^^K|hS^|cb{q8A;F%RA(>MCaUt#NCQRndxPvnZHy>zmB z`(+@E&9GCW$9H|8&0GQCd_Ql;S8AI?DY~0-^;Xi1no}(0?XO!q-9L7}f|TPB>Hmk& ze}IYpgH3lPCV%5niwQ~XKL|xL_3xfG6Pg$%E|Gsgi)OAaFoEjH1Sy(X7^eOgLQxox ze-NsMLLvTzP$Zc4oXc4C;K}6#tI6!dv9KzdiZ`W|MoO;#=sugV4rN}j!h^&@QGsw$@_2+{|Nc%;x_J~> z+$l>uLZDSZf+1kGDeIDeR1aqNO1j6EDrzcL?tI#CT z`M~dTDumTmef*$<-~Fc%JUv>D)fc`>UP!bT6BL~+SY^U0o+zH1P|op|!F9jh{q zo9u0qDqq21oK{~Q{ggj+*&{dGI>)DFVEmel5m?+Jg6$~|;GA$Ts~weXjkbFHXuK)N zd7*Jg=t7ikVN{`|z#3)_yVC!ueuk=<(|LMapPP}Aocy$qR{ zd5OvrpBCq`5T3DhzLCJ^?r43wgQws8>U#^Y~Vl-%pt5 G$?_lR4n*|; literal 3587 zcmeHJc{r3^8-EyMA4H z?25aFK#J~pMMY6nw>=Yuu`7U6i@`<*Kl{N703mF9IE@1UzJP5f{%fUw-2Y((_UVCA z+@psg2!5kS*4GkIbv;I4-|tjF1#kw`0VMzhr~x>@1&{}vK;#S{L4*V!6~GNd&S1<9 zoFxw+z=-NDRsmy*;JXVLSK2M+ukt6aD@LT%&i^g#hZ7>=~x8%^U7*C97cubLk zGt;;~z+l4$Y1f3e7%X9K0xe7YA=ok5b=Lsb)o+H%9@#MkJ`ysN_B#R+qvGY;D_ul- zlENtQdm?6h7H9dLhquS{^FwKh_XV?H1o1hwr6RTTXhSQp8y*WvpdlW@E97zP>(ipBTEmI^NaQs70UK z7?^TcpK(pdgWvdblLWQPJQ>sYv9x(8_N&``OGAhC>l}P+bHPBZ!bZ#YQJNN47QEq_ zX|=%5_Y;3!vcc9nqH-v#_tttykY2ru z`$tpv85D_YO`ZLS>!i}7;BT#}jd`a}f2Q4{6R#@VuYnVmD= zOI2aMEjCic*~0Y~q-|hw6zR>g^)p(g-+6uG{M<95@HzI8^$#BO*UgNGSL!rC0WVI# z@e@{L$bS;QkR*bs9w|mvnvw3JL=qxG%sk~QmY-}Otvtz<-GUsHugri#_y=??IY7Uw zKF#g0rAazQ7E9*yCLl1ZDRMM|V#!0i(K#!(cy_(4pw8*hl>C)^|9O7(*LV-j#Ssnt zst~xzw*^OnvbWMy@uOZqw?~-TosF+Tp;BJI;>nw_H0o9Due=qIrGAxDkIIv#6$D3Y z`FIH4WiGQ{;IC15 z$0;+;p7g1-ETAMx+-?@Jx+7Jk`=AQh#X2Z_?u{4Kz?zgI8*x@Vu!9olrLopY?T@_b za`XiR5Kem`)*4wvpmB0#T&#bZLlSVhXRLMzcUG>)XsYn-53Uve{$atI1`W*DI;p2~ zA=fEc0AI3QLY|nAtwOdWYVKX-`ibfy176c2`7vIYCng7_(sNWhC!J6px)IwmSvBbb zc`2UkY<-Su zl$>Xa!6p#TFg;Y&H!8%R7!OOWOV6$H3x7kTFo{Rof z*(<^Vt1`UM{3$ZO5Zs!BX^WcHdFilX5RiMuQkX-0MA$%weTrZ`WLZ}tX6VZz&>X}W zrYseF*NXX}O1Wl`dK*%5Tx~Nxj2m}i!q6h1n%2jbbtqL>`n~r=iEP-^d%w0S!_SW^ zc>c&gSn4P{owug>A%DF#n_BY*UU-jPf2q{b!tdu??y!EE2vZr_S*NVqLb~ofXU+Xj z*uGLI+f51n=+KGWpH&10lVfEWoOgBU=x4lT(Kg<ZQ6sCxM%y!X@L6cCnJvMb#HL(x_{6U8*;XM6N zM#vSesPhSW(zw`mJdNUBtYW)QC|JsyqW&B)KUT_Zpob;-W1-A*1nd5U=maHZXhd2t4T`m88L)F=$pDW2J6!! zk8iIQet@m}(3UIeMZeWDK7#P+CN;RRNcNVgPA7jRoByjHs*xh|TCRq7iy()8S-(#u&7x+EgB9pCef2nrQ%cb&coCwpW6- zC&e9_awMXzl4dLt?FWb(7LZJAzAE!`f_sFLl(fE;1bQ~%t=%SbuZsD=)VJX%I`qHL zGIdam6hZxR+SRBXEmHxN2?6Tbj+VLYj>_+B@R7-HiY$@t(fBx>o5^NfjG=HrtVJUjhf?4uLL#iWK#Wg zj^&u>HLFD4t~sI{cju)bt0rFJ0cTI}AqwJCt1Qd+>y7rw{%~G?9k5sUCx! z0!5tn@{F-BTa3?l^mQO%wDXCD_(W41-`dN;@75MCT?!c)ja<#-=131nmx3eh%AA^~ z#;&x~9xKTWRh89tjAeV{KPl6$m=Ny~CMuAQ4$JYYB;?5CL${o?)G?BzK)(WZ(y14l UMdh%uu=?O?_}_ZG|3k_D1CyR3ApigX diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/tempExtension_Gitsync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/tempExtension_Gitsync.os" index 0cdf0300..dd27e4e9 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/tempExtension_Gitsync.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/bindata/\320\232\320\273\320\260\321\201\321\201\321\213/tempExtension_Gitsync.os" @@ -21,13 +21,13 @@ // Возвращает хеш строку запакованного файла // Функция Хеш() Экспорт - Возврат "6E7209B96206088DEA5D372C40C4E64E"; + Возврат "6B3A3B869213E02BE3C63E74A4117049"; КонецФункции // Возвращает запакованные данные файла // Функция ДвоичныеДанные() Экспорт - ЗапакованныеДанные = "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"; + ЗапакованныеДанные = "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"; Возврат ЗапакованныеДанные; КонецФункции From 45061e0f3d1b8cc25722fe422b79bdaa7ea8bbf7 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 3 Apr 2019 17:59:53 +0300 Subject: [PATCH 66/76] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D0=B3=D0=B8?= =?UTF-8?q?=D1=82=D0=B8=D0=B3=D0=BD=D0=BE=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c7c44a1b..ef87b79e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ coverage/* *.ospx oscript_modules/ +tests/fixtures/gitsync-plugins/* embedded_plugins/*.ospx src/cmd/oscript.cfg From 88cf64a9123a2d4b0fa3be45fdbd031446ba8287 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 3 Apr 2019 18:00:44 +0300 Subject: [PATCH 67/76] =?UTF-8?q?=D0=9E=D0=BF=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=B0=D1=82=D0=B0=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B0=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B5=D0=B9=20=D0=B2=20=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D1=81=D1=81=D0=B5=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\260\320\263\320\270\320\275\320\276\320\262.os" | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" index d33c975b..aeeb2a1c 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" @@ -80,6 +80,18 @@ КонецФункции +Процедура ПриСозданииОбъекта() + + ДополнительныйКаталогБиблиотек = ПолучитьЗначениеСистемнойНастройки("lib.additional"); + + Если ЗначениеЗаполнено(ДополнительныйКаталогБиблиотек) Тогда + КаталогЗависимостей = ДополнительныйКаталогБиблиотек; + Иначе + КаталогЗависимостей = ПолучитьЗначениеСистемнойНастройки("lib.system"); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync.plugins.installer"); \ No newline at end of file From 135a5e01c476bd44982c86b937adb665fc97ef1b Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 3 Apr 2019 18:03:26 +0300 Subject: [PATCH 68/76] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BB?= =?UTF-8?q?=D0=B0=D1=81=D1=81=D0=B0=20=D0=B8=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D1=8B=20=D1=81=20=D0=BC=D0=B5=D0=BD=D0=B5=D0=B4=D0=B6?= =?UTF-8?q?=D0=B5=D1=80=D0=BE=D0=BC=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B1=D0=B5=D0=B7=20=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=D0=B0=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8?= =?UTF-8?q?.=20=D0=A7=D1=82=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=20=D0=B2=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build_packagedef | 3 +- features/cmd/all.feature | 4 +- features/cmd/step_definitions/sync.core.os | 28 +-- features/core/step_definitions/sync.core.os | 28 +-- features/core/sync.batch.feature | 2 +- features/core/sync.core.feature | 2 +- packagedef | 2 +- ...274\320\260\320\275\320\264\320\260All.os" | 4 +- ...4\320\260\320\275\320\264\320\260Clone.os" | 2 +- ...74\320\260\320\275\320\264\320\260Init.os" | 2 +- ...0\320\275\320\264\320\260PluginDisable.os" | 18 +- ...60\320\275\320\264\320\260PluginEnable.os" | 17 +- ...0\320\275\320\264\320\260PluginInstall.os" | 3 +- ...\260\320\275\320\264\320\260PluginList.os" | 26 ++- ...260\320\275\320\264\320\260PluginsInit.os" | 2 +- ...\260\320\275\320\264\320\260SetVersion.os" | 2 +- ...74\320\260\320\275\320\264\320\260Sync.os" | 3 +- ...20\266\320\265\320\275\320\270\321\217.os" | 114 +++++++++++-- ...20\267\320\260\321\206\320\270\320\270.os" | 58 +------ ...20\263\320\270\320\275\320\276\320\262.os" | 161 +++--------------- ...20\267\320\260\321\206\320\270\320\270.os" | 26 +-- ...20\267\320\260\321\206\320\270\321\217.os" | 17 +- 22 files changed, 204 insertions(+), 320 deletions(-) rename "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\273\320\260\320\263\320\270\320\275\320\260\320\274\320\270.os" => "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" (52%) diff --git a/build_packagedef b/build_packagedef index a1736f20..6bde410a 100644 --- a/build_packagedef +++ b/build_packagedef @@ -20,6 +20,7 @@ КомандаOpm = Новый Команда; КомандаOpm.УстановитьКоманду("opm"); КомандаOpm.ДобавитьПараметр("run get-plugins"); + КомандаOpm.ДобавитьПараметр("develop"); КомандаOpm.ДобавитьЛогВыводаКоманды("task.build"); @@ -52,5 +53,5 @@ .ВключитьФайл("docs") .ВключитьФайл("readme.md") .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") - .ОпределяетКласс("УправлениеПлагинами", "src/core/Классы/УправлениеПлагинами.os") + .ОпределяетКласс("МенеджерПлагинов", "src/core/Классы/МенеджерПлагинов.os") .ИсполняемыйФайл("src/cmd/gitsync.os"); \ No newline at end of file diff --git a/features/cmd/all.feature b/features/cmd/all.feature index a3cc71a9..f459136a 100644 --- a/features/cmd/all.feature +++ b/features/cmd/all.feature @@ -49,7 +49,7 @@ Примеры: | Сценарий | ПутьКФайлуШаблона | ДопПараметрыЗапуска | Результат | - # | Выполнение синхронизации по имени | tests/fixtures/default.yaml | --name ТестовыйРепозиторий | ИНФОРМАЦИЯ - Наименование: <ТестовыйРепозиторий> | - # | Выполнение синхронизации с несколькими хранилищами | tests/fixtures/default.yaml | | ИНФОРМАЦИЯ - Завершено выполнение команды | + | Выполнение синхронизации по имени | tests/fixtures/default.yaml | --name ТестовыйРепозиторий | ИНФОРМАЦИЯ - Наименование: <ТестовыйРепозиторий> | + | Выполнение синхронизации с несколькими хранилищами | tests/fixtures/default.yaml | | ИНФОРМАЦИЯ - Завершено выполнение команды | | Выполнение синхронизации расширениями | tests/fixtures/ext.yaml | | ИНФОРМАЦИЯ - Завершено выполнение команды | \ No newline at end of file diff --git a/features/cmd/step_definitions/sync.core.os b/features/cmd/step_definitions/sync.core.os index e7d9c86b..2951866e 100644 --- a/features/cmd/step_definitions/sync.core.os +++ b/features/cmd/step_definitions/sync.core.os @@ -12,7 +12,7 @@ ВсеШаги = Новый Массив; ВсеШаги.Добавить("ЯСоздаюВременныйКаталогИСохраняюЕгоВПеременной"); - ВсеШаги.Добавить("ЯСоздаюНовыйУправлениеплагинами"); + ВсеШаги.Добавить("ЯСоздаюНовыйМенеджерПлагинов"); ВсеШаги.Добавить("ЯСобираюТестовыйПлагинИСохраняюВКонтекст"); ВсеШаги.Добавить("ЯУстанавливаюФайлПлагинаИзПеременной"); ВсеШаги.Добавить("ЯЗагружаюПлагиныИзКаталогаВПеременной"); @@ -77,32 +77,32 @@ КонецПроцедуры -//Я создаю новый УправлениеПлагинами -Процедура ЯСоздаюНовыйУправлениеплагинами() Экспорт - УправлениеПлагинами = Новый УправлениеПлагинами; +//Я создаю новый МенеджерПлагинов +Процедура ЯСоздаюНовыйМенеджерПлагинов() Экспорт + МенеджерПлагинов = Новый МенеджерПлагинов; - БДД.СохранитьВКонтекст("УправлениеПлагинами", УправлениеПлагинами); + БДД.СохранитьВКонтекст("МенеджерПлагинов", МенеджерПлагинов); КонецПроцедуры //Я загружаю плагины из каталога в переменной "КаталогПлагинов" Процедура ЯЗагружаюПлагиныИзКаталогаВПеременной(Знач ИмяПеременнойКаталога) Экспорт - УправлениеПлагинами = БДД.ПолучитьИзКонтекста("УправлениеПлагинами"); + МенеджерПлагинов = БДД.ПолучитьИзКонтекста("МенеджерПлагинов"); КаталогПлагинов = БДД.ПолучитьИзКонтекста(ИмяПеременнойКаталога); - УправлениеПлагинами.УстановитьКаталогПлагинов(КаталогПлагинов); - УправлениеПлагинами.ЗагрузитьПлагины(); + МенеджерПлагинов.УстановитьКаталогПлагинов(КаталогПлагинов); + МенеджерПлагинов.ЗагрузитьПлагины(); - УправлениеПлагинами.ВключитьПлагин("test_plugin"); + МенеджерПлагинов.ВключитьПлагин("test_plugin"); КонецПроцедуры //Я подключаю плагины в МенеджерСинхронизации Процедура ЯПодключаюПлагиныВМенеджерсинхронизации() Экспорт - УправлениеПлагинами = БДД.ПолучитьИзКонтекста("УправлениеПлагинами"); + МенеджерПлагинов = БДД.ПолучитьИзКонтекста("МенеджерПлагинов"); - ИндексПлагинов = УправлениеПлагинами.ПолучитьИндексПлагинов(); + ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); МенеджерСинхронизации = БДД.ПолучитьИзКонтекста("МенеджерСинхронизации"); МенеджерСинхронизации.ПодпискиНаСобытия(ИндексПлагинов); @@ -115,9 +115,9 @@ КаталогПлагинов = БДД.ПолучитьИзКонтекста("КаталогПлагинов"); ФайлПлагина = БДД.ПолучитьИзКонтекста(ПутьКФайлуПлагина); - УправлениеПлагинами = БДД.ПолучитьИзКонтекста("УправлениеПлагинами"); - УправлениеПлагинами.УстановитьКаталогПлагинов(КаталогПлагинов); - УправлениеПлагинами.УстановитьФайлПлагин(ФайлПлагина); + МенеджерПлагинов = БДД.ПолучитьИзКонтекста("МенеджерПлагинов"); + МенеджерПлагинов.УстановитьКаталогПлагинов(КаталогПлагинов); + МенеджерПлагинов.УстановитьФайлПлагин(ФайлПлагина); КонецПроцедуры diff --git a/features/core/step_definitions/sync.core.os b/features/core/step_definitions/sync.core.os index e4054548..40b7e976 100644 --- a/features/core/step_definitions/sync.core.os +++ b/features/core/step_definitions/sync.core.os @@ -12,7 +12,7 @@ ВсеШаги = Новый Массив; ВсеШаги.Добавить("ЯСоздаюВременныйКаталогИСохраняюЕгоВПеременной"); - ВсеШаги.Добавить("ЯСоздаюНовыйУправлениеплагинами"); + ВсеШаги.Добавить("ЯСоздаюНовыйМенеджерПлагинов"); ВсеШаги.Добавить("ЯСобираюТестовыйПлагинИСохраняюВКонтекст"); ВсеШаги.Добавить("ЯУстанавливаюФайлПлагинаИзПеременной"); ВсеШаги.Добавить("ЯЗагружаюПлагиныИзКаталогаВПеременной"); @@ -78,32 +78,32 @@ КонецПроцедуры -//Я создаю новый УправлениеПлагинами -Процедура ЯСоздаюНовыйУправлениеплагинами() Экспорт - УправлениеПлагинами = Новый УправлениеПлагинами; +//Я создаю новый МенеджерПлагинов +Процедура ЯСоздаюНовыйМенеджерПлагинов() Экспорт + МенеджерПлагинов = Новый МенеджерПлагинов; - БДД.СохранитьВКонтекст("УправлениеПлагинами", УправлениеПлагинами); + БДД.СохранитьВКонтекст("МенеджерПлагинов", МенеджерПлагинов); КонецПроцедуры //Я загружаю плагины из каталога в переменной "КаталогПлагинов" Процедура ЯЗагружаюПлагиныИзКаталогаВПеременной(Знач ИмяПеременнойКаталога) Экспорт - УправлениеПлагинами = БДД.ПолучитьИзКонтекста("УправлениеПлагинами"); + МенеджерПлагинов = БДД.ПолучитьИзКонтекста("МенеджерПлагинов"); КаталогПлагинов = БДД.ПолучитьИзКонтекста(ИмяПеременнойКаталога); - УправлениеПлагинами.УстановитьКаталогПлагинов(КаталогПлагинов); - УправлениеПлагинами.ЗагрузитьПлагины(); + МенеджерПлагинов.УстановитьКаталогПлагинов(КаталогПлагинов); + МенеджерПлагинов.ЗагрузитьПлагины(); - УправлениеПлагинами.ВключитьПлагин("test_plugin"); + МенеджерПлагинов.ВключитьПлагин("test_plugin"); КонецПроцедуры //Я подключаю плагины в МенеджерСинхронизации Процедура ЯПодключаюПлагиныВМенеджерсинхронизации() Экспорт - УправлениеПлагинами = БДД.ПолучитьИзКонтекста("УправлениеПлагинами"); + МенеджерПлагинов = БДД.ПолучитьИзКонтекста("МенеджерПлагинов"); - ИндексПлагинов = УправлениеПлагинами.ПолучитьИндексПлагинов(); + ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); МенеджерСинхронизации = БДД.ПолучитьИзКонтекста("МенеджерСинхронизации"); МенеджерСинхронизации.ПодпискиНаСобытия(ИндексПлагинов); @@ -116,9 +116,9 @@ КаталогПлагинов = БДД.ПолучитьИзКонтекста("КаталогПлагинов"); ФайлПлагина = БДД.ПолучитьИзКонтекста(ПутьКФайлуПлагина); - УправлениеПлагинами = БДД.ПолучитьИзКонтекста("УправлениеПлагинами"); - УправлениеПлагинами.УстановитьКаталогПлагинов(КаталогПлагинов); - УправлениеПлагинами.УстановитьФайлПлагин(ФайлПлагина); + МенеджерПлагинов = БДД.ПолучитьИзКонтекста("МенеджерПлагинов"); + МенеджерПлагинов.УстановитьКаталогПлагинов(КаталогПлагинов); + МенеджерПлагинов.УстановитьФайлПлагин(ФайлПлагина); КонецПроцедуры diff --git a/features/core/sync.batch.feature b/features/core/sync.batch.feature index 7e4bd981..ee5f703b 100644 --- a/features/core/sync.batch.feature +++ b/features/core/sync.batch.feature @@ -91,7 +91,7 @@ repositories: # Допустим Я устанавливаю авторизацию в хранилище пользователя "Администратор" с паролем "" # И Я устанавливаю версию платформы "8.3" # И Я создаю временный каталог и сохраняю его в переменной "КаталогПлагинов" -# И Я создаю новый УправлениеПлагинами +# И Я создаю новый МенеджерПлагинов # И Я собираю тестовый плагин и сохраняю в контекст "ПутьКФайлуПлагина" # И Я устанавливаю файл плагина из переменной "ПутьКФайлуПлагина" # И Я загружаю плагины из каталога в переменной "КаталогПлагинов" diff --git a/features/core/sync.core.feature b/features/core/sync.core.feature index d2b1deb9..c2546b2f 100644 --- a/features/core/sync.core.feature +++ b/features/core/sync.core.feature @@ -27,7 +27,7 @@ Допустим Я устанавливаю авторизацию в хранилище пользователя "Администратор" с паролем "" И Я устанавливаю версию платформы "8.3" И Я создаю временный каталог и сохраняю его в переменной "КаталогПлагинов" - И Я создаю новый УправлениеПлагинами + И Я создаю новый МенеджерПлагинов И Я собираю тестовый плагин и сохраняю в контекст "ПутьКФайлуПлагина" И Я устанавливаю файл плагина из переменной "ПутьКФайлуПлагина" И Я загружаю плагины из каталога в переменной "КаталогПлагинов" diff --git a/packagedef b/packagedef index 528b6276..7a4f043c 100644 --- a/packagedef +++ b/packagedef @@ -23,5 +23,5 @@ .ВключитьФайл("readme.md") .ВключитьФайл("templates/temp.cfe") .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") - .ОпределяетКласс("УправлениеПлагинами", "src/core/Классы/УправлениеПлагинами.os") + .ОпределяетКласс("МенеджерПлагинов", "src/core/Классы/МенеджерПлагинов.os") .ИсполняемыйФайл("src/cmd/gitsync.os"); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" index 47176324..ae70b108 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260All.os" @@ -64,13 +64,11 @@ ПакетнаяСинхронизация .ТаймерПовторения(ИнтервалПовторенияСинхронизации) .КаталогПлагинов(ПараметрыПриложения.КаталогПлагинов()) - .ФайлВключенныхПлагинов(ПараметрыПриложения.ФайлВключенныхПлагинов()) .ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы) .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты) .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит) .ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе) - .УровеньЛога(ПараметрыПриложения.УровеньЛога()) - .РежимУдаленияВременныхФайлов(Истина) + .РежимУдаленияВременныхФайлов(Истина) .АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища) ; diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" index 4c1c6bc1..312ceadb 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" @@ -61,7 +61,7 @@ КонецЕсли; ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" index 4da9d3d9..bde6d66b 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" @@ -63,7 +63,7 @@ КонецЕсли; ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginDisable.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginDisable.os" index 1f10d9c1..a0c9872e 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginDisable.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginDisable.os" @@ -17,27 +17,17 @@ ИменаПлагинов = Команда.ЗначениеАргумента("PLUGIN"); ВсеВключенные = Команда.ЗначениеОпции("all"); - ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; - - ВсеПлагины = МенеджерПлагинов.ПолучитьИндексПлагинов(); + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); Лог = ПараметрыПриложения.Лог(); Лог.Отладка("Отключение всех плагинов <%1>", ВсеВключенные); - ПлагиныДляОтключения = Новый Массив; - Если ВсеВключенные Тогда - Для каждого Плагин Из ВсеПлагины Цикл - Лог.Отладка(" --> отключаю плагин <%1>", Плагин.Ключ); - ПлагиныДляОтключения.Добавить(Плагин.Ключ); - КонецЦикла; + МенеджерПлагинов.ОтключитьВсеПлагины(); Иначе - ПлагиныДляОтключения = ИменаПлагинов; + МенеджерПлагинов.ОтключитьПлагины(ИменаПлагинов); КонецЕсли; - МенеджерПлагинов.ОтключитьПлагины(ПлагиныДляОтключения); - - МенеджерПлагинов.ЗаписатьВключенныеПлагины(); + ПараметрыПриложения.ЗаписатьВключенныеПлагины(); КонецПроцедуры diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginEnable.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginEnable.os" index b89d503b..5be60ffa 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginEnable.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginEnable.os" @@ -19,19 +19,14 @@ ИменаПлагинов = Команда.ЗначениеАргумента("PLUGIN"); ВсеУстановленные = Команда.ЗначениеОпции("all"); - ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); - ВсеПлагины = МенеджерПлагинов.ПолучитьИндексПлагинов(); - Если ВсеУстановленные Тогда + МенеджерПлагинов.ВключитьВсеПлагины(); + Иначе - Для каждого Плагин Из ВсеПлагины Цикл - МенеджерПлагинов.ВключитьПлагин(Плагин.Ключ); - КонецЦикла; + ВсеПлагины = МенеджерПлагинов.ПолучитьИндексПлагинов(); - Иначе - Для каждого Плагин Из ИменаПлагинов Цикл ИмяПлагина = СокрЛ(Плагин); @@ -42,7 +37,7 @@ Продолжить; КонецЕсли; - МенеджерПлагинов.ВключитьПлагин(ИмяПлагина); + НашлиПлагин.Включить(); Сообщить("Включен плагин: "+ ИмяПлагина); @@ -50,7 +45,7 @@ КонецЕсли; - МенеджерПлагинов.ЗаписатьВключенныеПлагины(); + ПараметрыПриложения.ЗаписатьВключенныеПлагины(); КонецПроцедуры diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginInstall.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginInstall.os" index ff4b90c2..b607b9be 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginInstall.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginInstall.os" @@ -29,8 +29,7 @@ ПакетыКУстановке = Команда.ЗначениеАргумента("NAME"); МассивФайловПлагинов = Команда.ЗначениеОпции("file"); - ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); Для каждого ПутьКПлагину Из МассивФайловПлагинов Цикл diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginList.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginList.os" index a8e2753e..e94ea93d 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginList.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginList.os" @@ -16,35 +16,31 @@ ВывестиВсеПлагины = Команда.ЗначениеОпции("all"); ВыводТолькоНазваний = Команда.ЗначениеОпции("quiet"); - ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; - + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); ВсеПлагины = МенеджерПлагинов.ПолучитьИндексПлагинов(); - ВключенныеПлагины = МенеджерПлагинов.ПрочитатьВключенныеПлагины(); - + Если НЕ ВыводТолькоНазваний Тогда Сообщить(СтрШаблон("Каталог плагинов: <%1>", ПараметрыПриложения.КаталогПлагинов())); Сообщить("Список плагинов: "); КонецЕсли; - Для каждого Плагин Из ВсеПлагины Цикл + Для каждого КлючЗначение Из ВсеПлагины Цикл - ВключенныйПлагин = ВключенныеПлагины[Плагин.Ключ]; + Плагин = КлючЗначение.Значение; - Если ВключенныйПлагин = Неопределено - И НЕ ВывестиВсеПлагины Тогда - Продолжить; + Если НЕ ВывестиВсеПлагины Тогда + Если НЕ Плагин.Включен() Тогда + Продолжить; + КонецЕсли; КонецЕсли; - КлассПлагина = Плагин.Значение; - Если ВыводТолькоНазваний Тогда - - Сообщить(КлассПлагина.Имя()); + + Сообщить(Плагин.Имя()); Иначе - ВывестиОписаниеПлагина(КлассПлагина); + ВывестиОписаниеПлагина(Плагин); КонецЕсли; diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" index b1e3b86e..724e1d39 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginsInit.os" @@ -16,7 +16,7 @@ МассивФайловПлагинов = НайтиФайлы(КаталогВстроенныхПлагинов, "*.ospx"); ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); Лог.Информация("Начата инициализация предустановленных плагинов"); Лог.Отладка("Каталог поиска предустановленных плагинов: <%1>", КаталогВстроенныхПлагинов); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260SetVersion.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260SetVersion.os" index 10867197..e8456901 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260SetVersion.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260SetVersion.os" @@ -24,7 +24,7 @@ ВызватьКоммит = Команда.ЗначениеОпции("commit"); ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" index f75e15c5..2f624e43 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" @@ -57,7 +57,7 @@ КонецЕсли; ОбщиеПараметры = ПараметрыПриложения.Параметры(); - МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами; + МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов(); ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); @@ -73,7 +73,6 @@ .ИмяРасширения(ИмяРасширения) .АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища) .РежимУдаленияВременныхФайлов(Истина) - .РежимРаботыСХранилищемРасширения(ОбщиеПараметры.ЭтоРасширение) .Синхронизировать(КаталогИсходников, ПутьКХранилищу); Лог.Информация("Завершено выполнение команды "); diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index e41413bb..43f53a9c 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -11,25 +11,116 @@ Перем ИмяКаталогаПлагинов; Перем ИмяКаталогаПриложения; Перем ИмяФайлаНастройкиПриложения; +Перем МенеджерПлагинов; +Перем ИмяФайлаПлагинов; Процедура Инициализация() ОбщиеПараметры = Новый Структура(); - ОбщиеПараметры.Вставить("Плагины", Новый Массив); ОбщиеПараметры.Вставить("ВерсияПлатформы", "8.3"); ОбщиеПараметры.Вставить("ПутьКПлатформе", ""); ОбщиеПараметры.Вставить("ДоменПочты", "localhost"); ОбщиеПараметры.Вставить("ПутьКГит", ""); - ОбщиеПараметры.Вставить("ЭтоРасширение", ""); ИмяКаталогаПлагинов = "plugins"; ИмяКаталогаПриложения = ".gitsync"; ИмяФайлаНастройкиПриложения = "config.json"; + ИмяФайлаПлагинов = "plugins.json gitsync-plugins.json"; + МенеджерПлагинов = Новый МенеджерПлагинов; ОпределитьКаталогПлагинов(); КонецПроцедуры +// Выполняет чтение включенных плагинов из файла +// +// Возвращаемое значение: +// Соответствие - набор данных о плагина +// * ключ - строка - имя плагина +// * значение - булево - признак включенности плагина +// +Функция ПрочитатьВключенныеПлагины() + + ВключенныеПлагины = Новый Соответствие; + + ПутьКФайлу = ПолучитьПутьКФайлуПлагинов(); + ФайлПлагинов = Новый Файл(ПутьКФайлу); + + Если Не ФайлПлагинов.Существует() Тогда + Возврат ВключенныеПлагины; + КонецЕсли; + + JsonСтрока = РаботаСФайлами.ПрочитатьФайл(ПутьКФайлу); + + Если ПустаяСтрока(JsonСтрока) Тогда + Возврат ВключенныеПлагины; + КонецЕсли; + + ДанныеФайла = РаботаСФайлами.ОбъектИзJson(JsonСтрока); + + Для каждого ДанныеПлагинаИзФайла Из ДанныеФайла Цикл + + Если Булево(ДанныеПлагинаИзФайла.Значение) Тогда + ВключенныеПлагины.Вставить(ДанныеПлагинаИзФайла.Ключ, ДанныеПлагинаИзФайла.Значение); + КонецЕсли; + + КонецЦикла; + + Возврат ВключенныеПлагины; + +КонецФункции + +Функция МенеджерПлагинов() Экспорт + Возврат МенеджерПлагинов; +КонецФункции + +// Процедура записывает активированные плагины в файл +// +Процедура ЗаписатьВключенныеПлагины() Экспорт + + ИмяФайла = ПолучитьПутьКФайлуПлагинов(); + + КаталогФайла = Новый Файл(ИмяФайла).Путь; + ФС.ОбеспечитьКаталог(КаталогФайла); + + ДанныеДляЗаписи = Новый Соответствие; + ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); + + Для каждого КлючЗначение Из МенеджерПлагинов.ИндексПлагинов Цикл + + Плагин = КлючЗначение.Значение; + ДанныеДляЗаписи.Вставить(Плагин.Имя(), Плагин.Включен()); + + КонецЦикла; + + ТекстФайла = РаботаСФайлами.ОБъектВJson(ДанныеДляЗаписи); + + РаботаСФайлами.ЗаписатьФайл(ИмяФайла, ТекстФайла); + +КонецПроцедуры + +#КонецОбласти + +Функция ПолучитьПутьКФайлуПлагинов() + + МассивИменФайла = СтрРазделить(ИмяФайлаПлагинов, " ", Ложь); + + Для каждого ИмяФайла Из МассивИменФайла Цикл + + ПутьКФайлуПлагинов = ОбъединитьПути(КаталогПлагинов(), ИмяФайла); + + ФайлПлагинов = Новый Файл(ПутьКФайлуПлагинов); + + Если Не ФайлПлагинов.Существует() Тогда + Возврат ФайлПлагинов.ПолноеИмя; + КонецЕсли; + + КонецЦикла; + + Возврат ОбъединитьПути(КаталогПлагинов(), МассивИменФайла[0]); + +КонецФункции + Функция ЭтоСборкаEXE() Экспорт Если ЭтоПриложениеEXE = Неопределено Тогда @@ -58,7 +149,7 @@ Если ЗначениеЗаполнено(ПутьККаталогуПлагинов) Тогда - ОбщиеПараметры.УправлениеПлагинами.УстановитьКаталогПлагинов(ПутьККаталогуПлагинов); + ПараметрыПриложения.МенеджерПлагинов().УстановитьКаталогПлагинов(ПутьККаталогуПлагинов); КонецЕсли; @@ -109,7 +200,7 @@ ИначеЕсли ПроверитьТекущийКаталог() Тогда - Возврат ; + Возврат; Иначе @@ -177,29 +268,26 @@ // TODO Сделать чтение настройки из файла КонецПроцедуры -Функция ФайлВключенныхПлагинов() Экспорт - Возврат ОбъединитьПути(КаталогПлагинов(), "gitsync-plugins.json"); -КонецФункции - Функция ИмяФайлаНастройкиПакетнойСинхронизации() Экспорт Возврат "config.yaml"; КонецФункции Процедура ВыполнитьПодпискуПриРегистрацииКомандыПриложения(Команда) Экспорт - ОбработчикПодписок = ОбщиеПараметры.УправлениеПлагинами.НовыйМенеджерПодписок(); + ОбработчикПодписок = ПараметрыПриложения.МенеджерПлагинов().НовыйМенеджерПодписок(); ОбработчикПодписок.ПриРегистрацииКомандыПриложения(Команда.ПолучитьИмяКоманды(), Команда); КонецПроцедуры Процедура ПодготовитьПлагины() Экспорт - МенеджерПлагинов = Новый УправлениеПлагинами; + МенеджерПлагинов = Новый МенеджерПлагинов; МенеджерПлагинов.УстановитьКаталогПлагинов(КаталогПлагинов()); - МенеджерПлагинов.УстановитьФайлВключенныхПлагинов(ФайлВключенныхПлагинов()); МенеджерПлагинов.ЗагрузитьПлагины(); + ВключенныеПлагины = ПрочитатьВключенныеПлагины(); + МенеджерПлагинов.ВключитьПлагины(ВключенныеПлагины); - ОбщиеПараметры.Вставить("УправлениеПлагинами", МенеджерПлагинов); + ОбщиеПараметры.Вставить("МенеджерПлагинов", МенеджерПлагинов); КонецПроцедуры @@ -248,7 +336,7 @@ Если РежимОтладки Тогда Лог().УстановитьУровень(УровниЛога.Отладка); - ОбщиеПараметры.УправлениеПлагинами.УстановитьРежимОтладки(); + ПараметрыПриложения.МенеджерПлагинов().УстановитьРежимОтладки(); КонецЕсли; diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index c3d50b9f..374addbe 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -12,14 +12,11 @@ Перем УровеньЛогаСинхронизации; Перем КоличествоЦикловОжиданияЛицензии; Перем ИмяРасширения; - Перем ИндексПодписчиков; Перем ПараметрыПодписчиков; Перем МенеджерСинхронизации; Перем КаталогПлагинов; -Перем ПутьКФайлуВключенныхПлагинов; -Перем ЛокальноеУправлениеПлагинами; Перем Лог; @@ -63,7 +60,6 @@ .ИсполняемыйФайлГит(ПутьИсполняемомуФайлуГит) .ПодпискиНаСобытия(ИндексПодписчиков) .ПараметрыПодписокНаСобытия(ПараметрыПодписчиков) - .УровеньЛога(УровеньЛогаСинхронизации) .ЦикловОжиданияЛицензии(КоличествоЦикловОжиданияЛицензии) .РежимУдаленияВременныхФайлов(Истина) .АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища); @@ -89,34 +85,6 @@ Возврат ЭтотОбъект; КонецФункции -// Устанавливает уровень вывода логов -// -// Параметры: -// НовыйУровеньЛога - Строка - уровень вывода лога -// -// Возвращаемое значение: -// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации> -// -Функция УровеньЛога(Знач НовыйУровеньЛога) Экспорт - - УровеньЛогаСинхронизации = НовыйУровеньЛога; - Возврат ЭтотОбъект; - -КонецФункции - -// Устанавливает путь к файлу включенных плагинов -// -// Параметры: -// НовыйПутьКФайлуВключенныхПлагинов - Строка - путь к файлу включенных плагинов -// -// Возвращаемое значение: -// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации> -// -Функция ФайлВключенныхПлагинов(Знач НовыйПутьКФайлуВключенныхПлагинов) Экспорт - ПутьКФайлуВключенныхПлагинов = НовыйПутьКФайлуВключенныхПлагинов; - Возврат ЭтотОбъект; -КонецФункции - Процедура ПрочитатьПараметры(Знач ВходящиеПараметры) Экспорт Наименование = ВходящиеПараметры.Наименование; @@ -139,32 +107,20 @@ Процедура ПрочитатьПлагины(Знач НастройкаПлагинов) - ИнициализироватьУправлениеПлагинами(); + МенеджерПлагинов = Новый МенеджерПлагинов; + МенеджерПлагинов.УстановитьКаталогПлагинов(КаталогПлагинов); + МенеджерПлагинов.ЗагрузитьПлагины(); - ЛокальноеУправлениеПлагинами.ВключитьПлагины(НастройкаПлагинов.ВключенныеПлагины); - ЛокальноеУправлениеПлагинами.ВключитьПлагины(НастройкаПлагинов.ДополнительныеПлагины); - ЛокальноеУправлениеПлагинами.ОтключитьПлагины(НастройкаПлагинов.ОтключенныеПлагины); + МенеджерПлагинов.ВключитьПлагины(НастройкаПлагинов.ВключенныеПлагины); + МенеджерПлагинов.ВключитьПлагины(НастройкаПлагинов.ДополнительныеПлагины); + МенеджерПлагинов.ОтключитьПлагины(НастройкаПлагинов.ОтключенныеПлагины); - ИндексПодписчиков = ЛокальноеУправлениеПлагинами.ПолучитьИндексПлагинов(); - -КонецПроцедуры - -Процедура ИнициализироватьУправлениеПлагинами() - - Если ЛокальноеУправлениеПлагинами = Неопределено Тогда - - ЛокальноеУправлениеПлагинами = Новый УправлениеПлагинами; - ЛокальноеУправлениеПлагинами.УстановитьКаталогПлагинов(КаталогПлагинов); - ЛокальноеУправлениеПлагинами.УстановитьФайлВключенныхПлагинов(ПутьКФайлуВключенныхПлагинов); - ЛокальноеУправлениеПлагинами.ЗагрузитьПлагины(); - - КонецЕсли; + ИндексПодписчиков = МенеджерПлагинов.ПолучитьИндексПлагинов(); КонецПроцедуры Процедура ПриСозданииОбъекта() Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync.batch"); - УровеньЛогаСинхронизации = Лог.Уровень(); КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\273\320\260\320\263\320\270\320\275\320\260\320\274\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" similarity index 52% rename from "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\273\320\260\320\263\320\270\320\275\320\260\320\274\320\270.os" rename to "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" index fb19f719..f916e104 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\273\320\260\320\263\320\270\320\275\320\260\320\274\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" @@ -5,8 +5,6 @@ Перем ИндексПлагинов; Перем КаталогПлагинов; -Перем ПутьКФайлуВключенныхПлагинов; -Перем КаталогЗависимостей; #Область Экспортные_методы @@ -29,9 +27,6 @@ ТекущийЗагрузчикПлагинов.ЗагрузитьПлагины(); ИндексПлагинов = ТекущийЗагрузчикПлагинов.ИндексПлагинов(); - ВключенныеПлагины = ПрочитатьВключенныеПлагины(); - ВключитьПлагины(ВключенныеПлагины); - КонецПроцедуры // Создает и возвращает новый МенеджерПодписок для текущего индекса плагинов @@ -102,6 +97,28 @@ КонецПроцедуры +Процедура ВключитьВсеПлагины() Экспорт + + Для каждого КлючЗначение Из ИндексПлагинов Цикл + + Плагин = КлючЗначение.Значение; + Плагин.Включить(); + + КонецЦикла; + +КонецПроцедуры + +Процедура ОтключитьВсеПлагины() Экспорт + + Для каждого КлючЗначение Из ИндексПлагинов Цикл + + Плагин = КлючЗначение.Значение; + Плагин.Отключить(); + + КонецЦикла; + +КонецПроцедуры + // Устанавливает каталог установки и чтения плагинов // // Параметры: @@ -111,15 +128,6 @@ КаталогПлагинов = ПутьККаталогу; КонецПроцедуры -// Устанавливает каталог для установки зависимостей пакета плагинов -// -// Параметры: -// НовыйКаталогЗависимостей - Строка - полный путь к каталогу установки зависимостей пакета плагина -// -Процедура УстановитьКаталогЗависимостей(Знач НовыйКаталогЗависимостей) Экспорт - КаталогЗависимостей = НовыйКаталогЗависимостей; -КонецПроцедуры - // Производит установку пакета плагинов из файла // // Параметры: @@ -129,8 +137,6 @@ Установщик = Новый УстановщикПлагинов(); Установщик.УстановитьКаталогПлагинов(КаталогПлагинов); - Установщик.УстановитьКаталогЗависимостей(КаталогЗависимостей); - Установщик.УстановитьФайлПлагина(ПутьКФайлуПакета); КонецПроцедуры @@ -144,8 +150,6 @@ Установщик = Новый УстановщикПлагинов(); Установщик.УстановитьКаталогПлагинов(КаталогПлагинов); - Установщик.УстановитьКаталогЗависимостей(КаталогЗависимостей); - Установщик.УстановитьПлагинПоИмени(ИмяПлагина); КонецПроцедуры @@ -163,123 +167,10 @@ КонецПроцедуры -// Устанавливает путь к файлу информации о плагинах -// -// Параметры: -// ПутьКФайлу - Строка - полный путь к файлы информации плагинах -// -Процедура УстановитьФайлВключенныхПлагинов(Знач ПутьКФайлу) Экспорт - ПутьКФайлуВключенныхПлагинов = ПутьКФайлу; -КонецПроцедуры - -// Выполняет чтение включенных плагинов из файла -// -// Возвращаемое значение: -// Соответствие - набор данных о плагина -// * ключ - строка - имя плагина -// * значение - булево - признак включенности плагина -// -Функция ПрочитатьВключенныеПлагины() Экспорт - - ВключенныеПлагины = Новый Соответствие; - - ПутьКФайлу = ПолучитьПутьКФайлуВключенныхПлагинов(); - ФайлАктивныхПлагинов= Новый Файл(ПутьКФайлу); - - Если Не ФайлАктивныхПлагинов.Существует() Тогда - Возврат ВключенныеПлагины; - КонецЕсли; - - JsonСтрока = ПрочитатьФайл(ПутьКФайлу); - - Если ПустаяСтрока(JsonСтрока) Тогда - Возврат ВключенныеПлагины; - КонецЕсли; - - ПарсерJSON = Новый ПарсерJSON(); - ДанныеФайла = ПарсерJSON.ПрочитатьJSON(JsonСтрока); - - Для каждого ДанныеПлагинаИзФайла Из ДанныеФайла Цикл - - Если Булево(ДанныеПлагинаИзФайла.Значение) Тогда - ВключенныеПлагины.Вставить(ДанныеПлагинаИзФайла.Ключ, ДанныеПлагинаИзФайла.Значение); - КонецЕсли; - - КонецЦикла; - - Возврат ВключенныеПлагины; - -КонецФункции - -// Возвращает имя файла информации о плагинах -// -// Возвращаемое значение: -// Строка - имя файла -// -Функция ИмяФайлаВключенныхПлагинов() Экспорт - - Возврат "gitsync-plugins.json"; - -КонецФункции - -// Процедура записывает активированные плагины в файл -// -Процедура ЗаписатьВключенныеПлагины() Экспорт - - ИмяФайла = ПолучитьПутьКФайлуВключенныхПлагинов(); - - КаталогФайла = Новый Файл(ИмяФайла).Путь; - ФС.ОбеспечитьКаталог(КаталогФайла); - - ПарсерJSON = Новый ПарсерJSON(); - ДанныеДляЗаписи = Новый Соответствие; - - Для каждого КлючЗначение Из ИндексПлагинов Цикл - - Плагин = КлючЗначение.Значение; - ДанныеДляЗаписи.Вставить(Плагин.Имя(), Плагин.Включен()); - - КонецЦикла; - - ТекстФайла = ПарсерJSON.ЗаписатьJson(ДанныеДляЗаписи); - - ЗаписатьФайл(ИмяФайла, ТекстФайла); - -КонецПроцедуры - #КонецОбласти #Область Вспомогательные_процедуры_и_функции -Функция ПолучитьПутьКФайлуВключенныхПлагинов() - - ФайлАктивныхПлагинов= Новый Файл(ПутьКФайлуВключенныхПлагинов); - - Если Не ФайлАктивныхПлагинов.Существует() Тогда - Возврат ОбъединитьПути(КаталогПлагинов, ИмяФайлаВключенныхПлагинов()); - КонецЕсли; - - Возврат ФайлАктивныхПлагинов.ПолноеИмя; - -КонецФункции - -Функция ПрочитатьФайл(Знач ИмяФайла) - - Чтение = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8); - Рез = Чтение.Прочитать(); - Чтение.Закрыть(); - - Возврат Рез; - -КонецФункции - -Процедура ЗаписатьФайл(Знач ИмяФайла, ТекстФайла) - - Запись = Новый ЗаписьТекста(ИмяФайла); - Запись.ЗаписатьСтроку(ТекстФайла); - Запись.Закрыть(); - -КонецПроцедуры Процедура ПриСозданииОбъекта(Знач ЗначениеКаталогПлагинов = Неопределено) @@ -289,14 +180,6 @@ КаталогПлагинов = ЗначениеКаталогПлагинов; КонецЕсли; - ДополнительныйКаталогБиблиотек = ПолучитьЗначениеСистемнойНастройки("lib.additional"); - - Если ЗначениеЗаполнено(ДополнительныйКаталогБиблиотек) Тогда - КаталогЗависимостей = ДополнительныйКаталогБиблиотек; - Иначе - КаталогЗависимостей = ПолучитьЗначениеСистемнойНастройки("lib.system"); - КонецЕсли; - КонецПроцедуры #КонецОбласти diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 9b5232e5..8b2ea4b8 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -97,31 +97,24 @@ Возврат ИмяРасширения КонецФункции -// Устанавливает работу с хранилищем расширения -// -// Параметры: -// ПарамЭтоРасширение - Булево - признак работы с расширением. -// -// Возвращаемое значение: -// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации> -// -Функция РежимРаботыСХранилищемРасширения(Знач ПарамЭтоРасширение) Экспорт - ЭтоРасширение = ПарамЭтоРасширение; - Возврат ЭтотОбъект; -КонецФункции - // Устанавливает набор подписчиков // // Параметры: -// НовыйИндексПодписчиков - Соответствие - набор подписчиков +// ПИндексПодписчиков - Соответствие - набор подписчиков // * ключ - Строка - имя подписчика // * значение - Объект - ссылка на произвольный объект +// ППараметрыПодписок - Соответствие - набор параметров для подписчиков // Возвращаемое значение: // Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации> // -Функция ПодпискиНаСобытия(Знач НовыйИндексПодписчиков) Экспорт +Функция ПодпискиНаСобытия(Знач ПИндексПодписчиков, Знач ППараметрыПодписок = Неопределено) Экспорт - УстановитьОбработчикПодписок(НовыйИндексПодписчиков); + УстановитьОбработчикПодписок(ПИндексПодписчиков); + + Если Не ППараметрыПодписок = Неопределено Тогда + ПараметрыПодписокНаСобытия(ППараметрыПодписок); + КонецЕсли; + Возврат ЭтотОбъект; КонецФункции @@ -1517,7 +1510,6 @@ Процедура УстановитьОбработчикПодписок(НовыйИндексПодписчиков) ОбработчикПодписок.УстановитьПодписчиков(НовыйИндексПодписчиков); - ОбработчикПодписок.ПриАктивизации(ЭтотОбъект); КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" index 36f630af..7aed6e81 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" @@ -198,19 +198,6 @@ Возврат ЭтотОбъект; КонецФункции -// Устанавливает путь к файлу включенных плагинов -// -// Параметры: -// НовыйПутьКФайлуВключенныхПлагинов - Строка - путь к файлу включенных плагинов -// -// Возвращаемое значение: -// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации> -// -Функция ФайлВключенныхПлагинов(Знач НовыйПутьКФайлуВключенныхПлагинов) Экспорт - ПутьКФайлуВключенныхПлагинов = НовыйПутьКФайлуВключенныхПлагинов; - Возврат ЭтотОбъект; -КонецФункции - // Выполняет пакетную синхронизацию // Процедура ВыполнитьСинхронизацию(Знач КоличествоПотоков = 1) Экспорт @@ -358,8 +345,8 @@ РепоСинхронизации = Новый РепозиторийСинхронизации(); РепоСинхронизации.КаталогПлагинов(КаталогПлагинов) - .ФайлВключенныхПлагинов(ПутьКФайлуВключенныхПлагинов) - // .УровеньЛога(Лог.ПолучитьУровеньЛога()) + // .ФайлВключенныхПлагинов(ПутьКФайлуВключенныхПлагинов) + // .УровеньЛога(Лог.ПолучитьУровеньЛога()) ; ИндексРепозиториев.Вставить(ПараметрыРепозитория.Наименование, РепоСинхронизации); From f150a4d3c14548cf325e115532b3b45ad0d1260a Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 3 Apr 2019 18:03:35 +0300 Subject: [PATCH 69/76] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B5=20=D0=BF=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\320\270\320\275\320\276\320\262_test.os" | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 "tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" diff --git "a/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" "b/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" new file mode 100644 index 00000000..65d50f69 --- /dev/null +++ "b/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" @@ -0,0 +1,101 @@ +#использовать "../src/core/" +#Использовать asserts +#Использовать logos + +Перем юТест; +Перем Лог; + +Функция ПолучитьСписокТестов(Знач Тестирование) Экспорт + + юТест = Тестирование; + + ИменаТестов = Новый Массив; + + ИменаТестов.Добавить("ТестДолжен_ПроверитьИндексПлагинов"); + ИменаТестов.Добавить("ТестДолжен_ПроверитьВключениеПлагинов"); + ИменаТестов.Добавить("ТестДолжен_ПроверитьВыключениеПлагинов"); + + Возврат ИменаТестов; + +КонецФункции + +Процедура ТестДолжен_ПроверитьИндексПлагинов() Экспорт + + КаталогПлагинов = ВременныеФайлы.СоздатьКаталог(); + + МенеджерПлагинов = Новый МенеджерПлагинов(КаталогПлагинов); + МенеджерПлагинов.УстановитьФайлПлагин(ОбъединитьПути(КаталогПроекта(), "tests", "test_plugin-0.0.1.ospx")); + МенеджерПлагинов.ЗагрузитьПлагины(); + + ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); + Ожидаем.Что(ИндексПлагинов.Количество(), "Количество плагинов должно быть равны").Равно(1); + ВременныеФайлы.УдалитьФайл(КаталогПлагинов); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВключениеПлагинов() Экспорт + + КаталогПлагинов = ВременныеФайлы.СоздатьКаталог(); + + МенеджерПлагинов = Новый МенеджерПлагинов(КаталогПлагинов); + МенеджерПлагинов.УстановитьФайлПлагин(ОбъединитьПути(КаталогПроекта(), "tests", "test_plugin-0.0.1.ospx")); + МенеджерПлагинов.ЗагрузитьПлагины(); + + ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); + Ожидаем.Что(ИндексПлагинов.Количество(), "Количество плагинов должно быть равны").Равно(1); + + МенеджерПлагинов.ВключитьПлагин("test_plugin"); + + Ожидаем.Что(ИндексПлагинов["test_plugin"].Включен(), "Плагин должен быть включен").ЭтоИстина(); + + ВременныеФайлы.УдалитьФайл(КаталогПлагинов); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьВыключениеПлагинов() Экспорт + + КаталогПлагинов = ВременныеФайлы.СоздатьКаталог(); + + МенеджерПлагинов = Новый МенеджерПлагинов(КаталогПлагинов); + МенеджерПлагинов.УстановитьФайлПлагин(ОбъединитьПути(КаталогПроекта(), "tests", "test_plugin-0.0.1.ospx")); + МенеджерПлагинов.ЗагрузитьПлагины(); + + ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); + Ожидаем.Что(ИндексПлагинов.Количество(), "Количество плагинов должно быть равны").Равно(1); + + МенеджерПлагинов.ВключитьПлагин("test_plugin"); + + Ожидаем.Что(ИндексПлагинов["test_plugin"].Включен(), "Плагин должен быть включен").ЭтоИстина(); + + МассивПлагинов = Новый Массив(); + МассивПлагинов.Добавить("test_plugin"); + + МенеджерПлагинов.ОтключитьПлагины(МассивПлагинов); + + Ожидаем.Что(ИндексПлагинов["test_plugin"].Включен(), "Плагин должен быть выключен").ЭтоЛожь(); + + ВременныеФайлы.УдалитьФайл(КаталогПлагинов); + +КонецПроцедуры + + +Функция КаталогПлагинов() + + КаталогТестов = ТекущийСценарий().Каталог; + + КаталогПлагинов = ОбъединитьПути(КаталогТестов, "fixtures", "КаталогПлагинов"); + Файл = Новый Файл(КаталогПлагинов); + Возврат Файл.ПолноеИмя; + +КонецФункции + +Функция КаталогПроекта() + + ПутьККаталогуПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); + Файл = Новый Файл(ПутьККаталогуПроекта); + Возврат Файл.ПолноеИмя; + +КонецФункции + +Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync"); +// Лог.УстановитьУровень(УровниЛога.Отладка); \ No newline at end of file From f8bf372a64220528fcf09bb971a44ea8fc1bfc2e Mon Sep 17 00:00:00 2001 From: khorevaa Date: Thu, 4 Apr 2019 11:34:52 +0300 Subject: [PATCH 70/76] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20=D0=9F=D0=B0=D1=80?= =?UTF-8?q?=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D1=8B=D0=9F=D1=80=D0=B8=D0=BB?= =?UTF-8?q?=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" | 1 + ...1\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" | 0 ...\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" | 1 - 3 files changed, 1 insertion(+), 1 deletion(-) rename "src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" => "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/files/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" (100%) diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index 43f53a9c..dbbaca18 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -1,6 +1,7 @@ #Использовать logos #Использовать tempfiles #Использовать fs +#Использовать "../../core/Классы/internal/files" Перем ЛогПриложения; Перем ОбщиеПараметры; diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/files/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" similarity index 100% rename from "src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" rename to "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/files/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.os" diff --git "a/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" "b/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" index 65d50f69..45e707ca 100644 --- "a/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" +++ "b/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" @@ -78,7 +78,6 @@ КонецПроцедуры - Функция КаталогПлагинов() КаталогТестов = ТекущийСценарий().Каталог; From ac04479c9e73a148b7ad1bd1cc1359a6a518c0d0 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Thu, 4 Apr 2019 11:45:09 +0300 Subject: [PATCH 71/76] =?UTF-8?q?=D0=9E=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20?= =?UTF-8?q?=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B8=20=D0=B8=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build_packagedef | 5 +++-- packagedef | 3 ++- ...3\320\276\320\266\320\265\320\275\320\270\321\217.os" | 9 +++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/build_packagedef b/build_packagedef index 6bde410a..25b322bf 100644 --- a/build_packagedef +++ b/build_packagedef @@ -45,13 +45,14 @@ КонецПроцедуры Описание.Имя("gitsync") - .Версия("3.0.0-rc.1") + .Версия("3.0.0-rc.2") .ВерсияСреды("1.0.21") .ВключитьФайл("src") .ВключитьФайл("embedded_plugins") .ВключитьФайл("oscript_modules") .ВключитьФайл("docs") .ВключитьФайл("readme.md") - .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") .ОпределяетКласс("МенеджерПлагинов", "src/core/Классы/МенеджерПлагинов.os") + .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") + .ОпределяетКласс("ПакетнаяСинхронизация", "src/core/Классы/ПакетнаяСинхронизация.os") .ИсполняемыйФайл("src/cmd/gitsync.os"); \ No newline at end of file diff --git a/packagedef b/packagedef index 7a4f043c..55f88d0d 100644 --- a/packagedef +++ b/packagedef @@ -22,6 +22,7 @@ .ВключитьФайл("oscript_modules") .ВключитьФайл("readme.md") .ВключитьФайл("templates/temp.cfe") - .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") .ОпределяетКласс("МенеджерПлагинов", "src/core/Классы/МенеджерПлагинов.os") + .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") + .ОпределяетКласс("ПакетнаяСинхронизация", "src/core/Классы/ПакетнаяСинхронизация.os") .ИсполняемыйФайл("src/cmd/gitsync.os"); diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index dbbaca18..255d7269 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -1,6 +1,7 @@ #Использовать logos #Использовать tempfiles #Использовать fs +#Использовать "../../core" #Использовать "../../core/Классы/internal/files" Перем ЛогПриложения; @@ -150,7 +151,7 @@ Если ЗначениеЗаполнено(ПутьККаталогуПлагинов) Тогда - ПараметрыПриложения.МенеджерПлагинов().УстановитьКаталогПлагинов(ПутьККаталогуПлагинов); + МенеджерПлагинов.УстановитьКаталогПлагинов(ПутьККаталогуПлагинов); КонецЕсли; @@ -275,7 +276,7 @@ Процедура ВыполнитьПодпискуПриРегистрацииКомандыПриложения(Команда) Экспорт - ОбработчикПодписок = ПараметрыПриложения.МенеджерПлагинов().НовыйМенеджерПодписок(); + ОбработчикПодписок = МенеджерПлагинов.НовыйМенеджерПодписок(); ОбработчикПодписок.ПриРегистрацииКомандыПриложения(Команда.ПолучитьИмяКоманды(), Команда); КонецПроцедуры @@ -337,7 +338,7 @@ Если РежимОтладки Тогда Лог().УстановитьУровень(УровниЛога.Отладка); - ПараметрыПриложения.МенеджерПлагинов().УстановитьРежимОтладки(); + МенеджерПлагинов().УстановитьРежимОтладки(); КонецЕсли; @@ -370,7 +371,7 @@ Функция Версия() Экспорт - Возврат "3.0.0-rc.1"; + Возврат "3.0.0-rc.2"; КонецФункции From acdc32996198fe669a1e44ffe84c2c30851310eb Mon Sep 17 00:00:00 2001 From: khorevaa Date: Thu, 4 Apr 2019 11:56:52 +0300 Subject: [PATCH 72/76] =?UTF-8?q?=D0=9A=D0=BE=D1=80=D1=80=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=BD=D0=B0=D1=8F=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20v8storage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packagedef b/packagedef index 55f88d0d..ba2eac7b 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@ Описание.Имя("gitsync") - .Версия("3.0.0-rc.1") + .Версия("3.0.0-rc.2") .ВерсияСреды("1.0.21") .ЗависитОт("logos", "1.2.0") .ЗависитОт("tempfiles", "0.2.2") @@ -11,7 +11,7 @@ .ЗависитОт("json", "1.0.1") .ЗависитОт("fs", "0.4.1") .ЗависитОт("delegate", "0.2.0") - .ЗависитОт("v8storage", "0.7.1") + .ЗависитОт("v8storage", "0.8.0") .ЗависитОт("reflector", "0.4.0") .ЗависитОт("opm", "0.15.3") .ЗависитОт("cli", "0.9.10") From 9e8075d4820e201123ca0a23e34c3de77aa468ae Mon Sep 17 00:00:00 2001 From: khorevaa Date: Thu, 4 Apr 2019 18:18:30 +0300 Subject: [PATCH 73/76] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\275\320\270\320\267\320\260\321\206\320\270\321\217.os" | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" index 7aed6e81..9befb0f0 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" @@ -387,7 +387,7 @@ ЗаполнитьПриНеобходимости("КоличествоЦикловОжиданияЛицензии", ГлобальныеПараметры, ПараметрыРепозитория); ОбъединитьПлагины(ГлобальныеПараметры.Плагины, ПараметрыРепозитория.Плагины); - ОбъединитьНастройкиПлагинов(ГлобальныеПараметры.НастройкиПлагинов, ГлобальныеПараметры.НастройкиПлагинов); + ОбъединитьНастройкиПлагинов(ГлобальныеПараметры.НастройкиПлагинов, ПараметрыРепозитория.НастройкиПлагинов); КонецПроцедуры @@ -443,9 +443,13 @@ КонецЕсли; ЗначениеНастройкиИзРепозитория = ПолучитьЗначениеПоКлючу(НастройкиПлагиновРепозитория, КлючНастройки); + Лог.Отладка("Ключа <%1> значение из репозитория <%2>", КлючНастройки, ЗначениеНастройкиИзРепозитория); Если ЗначениеНастройкиИзРепозитория = Неопределено Тогда + + Лог.Отладка("Устанавливаю ключ настройки <%1> в значение <%2>", КлючНастройки, ЗначениеНастройки); НастройкиПлагиновРепозитория.Вставить(КлючНастройки, ЗначениеНастройки); + КонецЕсли; КонецЦикла; From 26ef0765e87bb72373597b99fd2a22c0c7f41496 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Fri, 5 Apr 2019 10:50:31 +0300 Subject: [PATCH 74/76] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BE=D0=B1=D1=80=D0=B0=D1=89=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=20=D0=BD=D0=B5=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D1=83=D1=8E=D1=89=D0=B5=D0=BC=D1=83=20=D1=81=D0=B2=D0=BE=D0=B9?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index 255d7269..bd1d6853 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -88,7 +88,7 @@ ДанныеДляЗаписи = Новый Соответствие; ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); - Для каждого КлючЗначение Из МенеджерПлагинов.ИндексПлагинов Цикл + Для каждого КлючЗначение Из ИндексПлагинов Цикл Плагин = КлючЗначение.Значение; ДанныеДляЗаписи.Вставить(Плагин.Имя(), Плагин.Включен()); From 51c6633ae506671b3c26472ea23298a98fc58b18 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Fri, 5 Apr 2019 11:33:12 +0300 Subject: [PATCH 75/76] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D1=8B=20=D1=81=D1=82=D0=B0=D1=80=D1=8B=D0=B5=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=D1=84=D0=B8=D0=B3=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20all?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config-example.json | 63 --------------------------------------------- config-example.xml | 25 ------------------ config-example.yaml | 47 --------------------------------- package-loader.os | 8 ------ 4 files changed, 143 deletions(-) delete mode 100644 config-example.json delete mode 100644 config-example.xml delete mode 100644 config-example.yaml delete mode 100644 package-loader.os diff --git a/config-example.json b/config-example.json deleted file mode 100644 index 87c36e4a..00000000 --- a/config-example.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "gitsync-options": - { - "global": - { - "-email": "server.com", - "-v8version": "1cv8.exe", - "-plugins": - [ - "pull", - "push", - "vendorUpload", - "smart-tags", - "increment" - ], - "flags": - { - "-limit": 5, - "--storage-user": "Администратор" - } - }, - "repositories" : [ - { - "name" : "test", - "git-local-path": "путь1", - "git-remote": "адрес1", - "v8-storage-dir": "каталог1", - "-plugins": - [ - "pull", - "push", - "vendorUpload", - "smart-tags", - "increment" - ] - , - "flags": { - "-limit": 5, - "--storage-user": "Администратор" - } - }, - { - "name" : "test2", - "git-local-path": "путь2", - "git-remote": "адрес2", - "v8-storage-dir": "каталог2", - "-plugins": - [ - "pull", - "push", - "vendorUpload", - "smart-tags", - "increment" - ] - , - "flags": { - "-limit": 5, - "--storage-user": "Администратор" - } - } - ] - } -} diff --git a/config-example.xml b/config-example.xml deleted file mode 100644 index fc64d1f1..00000000 --- a/config-example.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - server.com - 8.3.6 - git - - - - путь1 - адрес1 - каталог1 - - - - - - путь2 - адрес2 - каталог2 - gmail.com - - - - - \ No newline at end of file diff --git a/config-example.yaml b/config-example.yaml deleted file mode 100644 index 18098b84..00000000 --- a/config-example.yaml +++ /dev/null @@ -1,47 +0,0 @@ -globals: - storage-user: Администратор - storage-pwd: '' - git-path: git - temp-dir: "" - v8version: 8.3 - domain-email: localhost - lic-try-count: 5 - plugins: - enable: - - test - - test2 - disable: - - test3 - plugins-config: - git-url: git-url - push: true - pull: true -repositories: - - name: <ТестовыйРепозиторий> - disable: true - storage-path: <КаталогХранилища1С_1> - git-local-path: <ПутьКаталогаИсходников_1> - - name: <ТестовыйРепозиторий2> - disable: true - storage-path: <КаталогХранилища1С_2> - git-local-path: <ПутьКаталогаИсходников_2> - storage-user: Администратор - storage-pwd: '' - git-path: git - temp-dir: "" - v8version: 8.3 - domain-email: localhost - lic-try-count: 5 - plugins: - enable: - - test - - test2 - disable: - - test3 - plugins-config: - git-url: git-url - push: true - pull: true - - - \ No newline at end of file diff --git a/package-loader.os b/package-loader.os deleted file mode 100644 index d9e4f5b4..00000000 --- a/package-loader.os +++ /dev/null @@ -1,8 +0,0 @@ - -#Использовать "src/core" - -Процедура ПриЗагрузкеБиблиотеки(Путь, СтандартнаяОбработка, Отказ) - - СтандартнаяОбработка = Ложь; - -КонецПроцедуры From 52729361344998cac88a69169c89be440a80b350 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Fri, 5 Apr 2019 11:33:41 +0300 Subject: [PATCH 76/76] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=B8=D0=BC=D1=8F=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=BD=D0=B4=D1=8B=20all?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index bd1d6853..507e5848 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -271,7 +271,7 @@ КонецПроцедуры Функция ИмяФайлаНастройкиПакетнойСинхронизации() Экспорт - Возврат "config.yaml"; + Возврат "config.json"; КонецФункции Процедура ВыполнитьПодпискуПриРегистрацииКомандыПриложения(Команда) Экспорт