You've already forked rarus_1c_cicd
							
							
				mirror of
				https://github.com/agibalovsa/-1C_CICD.git
				synced 2025-10-30 23:17:44 +02:00 
			
		
		
		
	Выполнены задачи:
- Актуализация файла документации. - Указание авторов. - Указание лицензии. Исправление ошибок: - Ошибка воврата исключения в случае ошибочной сборки конфигурации или расширения.
This commit is contained in:
		
							
								
								
									
										9
									
								
								AUTHORS.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								AUTHORS.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| # Авторы проекта | ||||
|  | ||||
| Проект основан в 2022 году. Авторы проекта: | ||||
|  | ||||
| - Агибалов Сергей <agibalovsa@gmail.com> | ||||
|  | ||||
| Помощь оказывали: | ||||
|  | ||||
| - Щеглов Евгений | ||||
							
								
								
									
										161
									
								
								COPYING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								COPYING.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,161 @@ | ||||
| # GNU Lesser General Public License | ||||
|  | ||||
| _Version 3, 29 June 2007_ | ||||
| _Copyright © 2007 Free Software Foundation, Inc. <<http://fsf.org/>> | ||||
|  | ||||
| Everyone is permitted to copy and distribute verbatim copies | ||||
| of this license document, but changing it is not allowed. | ||||
|  | ||||
| This version of the GNU Lesser General Public License incorporates | ||||
| the terms and conditions of version 3 of the GNU General Public | ||||
| License, supplemented by the additional permissions listed below. | ||||
|  | ||||
| ## 0. Additional Definitions | ||||
|  | ||||
| As used herein, “this License” refers to version 3 of the GNU Lesser | ||||
| General Public License, and the “GNU GPL” refers to version 3 of the GNU | ||||
| General Public License. | ||||
|  | ||||
| “The Library” refers to a covered work governed by this License, | ||||
| other than an Application or a Combined Work as defined below. | ||||
|  | ||||
| An “Application” is any work that makes use of an interface provided | ||||
| by the Library, but which is not otherwise based on the Library. | ||||
| Defining a subclass of a class defined by the Library is deemed a mode | ||||
| of using an interface provided by the Library. | ||||
|  | ||||
| A “Combined Work” is a work produced by combining or linking an | ||||
| Application with the Library.  The particular version of the Library | ||||
| with which the Combined Work was made is also called the “Linked | ||||
| Version”. | ||||
|  | ||||
| The “Minimal Corresponding Source” for a Combined Work means the | ||||
| Corresponding Source for the Combined Work, excluding any source code | ||||
| for portions of the Combined Work that, considered in isolation, are | ||||
| based on the Application, and not on the Linked Version. | ||||
|  | ||||
| The “Corresponding Application Code” for a Combined Work means the | ||||
| object code and/or source code for the Application, including any data | ||||
| and utility programs needed for reproducing the Combined Work from the | ||||
| Application, but excluding the System Libraries of the Combined Work. | ||||
|  | ||||
| ## 1. Exception to Section 3 of the GNU GPL | ||||
|  | ||||
| You may convey a covered work under sections 3 and 4 of this License | ||||
| without being bound by section 3 of the GNU GPL. | ||||
|  | ||||
| ## 2. Conveying Modified Versions | ||||
|  | ||||
| If you modify a copy of the Library, and, in your modifications, a | ||||
| facility refers to a function or data to be supplied by an Application | ||||
| that uses the facility (other than as an argument passed when the | ||||
| facility is invoked), then you may convey a copy of the modified | ||||
| version: | ||||
|  | ||||
| * **a)** under this License, provided that you make a good faith effort to | ||||
| ensure that, in the event an Application does not supply the | ||||
| function or data, the facility still operates, and performs | ||||
| whatever part of its purpose remains meaningful, or | ||||
|  | ||||
| * **b)** under the GNU GPL, with none of the additional permissions of | ||||
| this License applicable to that copy. | ||||
|  | ||||
| ## 3. Object Code Incorporating Material from Library Header Files | ||||
|  | ||||
| The object code form of an Application may incorporate material from | ||||
| a header file that is part of the Library.  You may convey such object | ||||
| code under terms of your choice, provided that, if the incorporated | ||||
| material is not limited to numerical parameters, data structure | ||||
| layouts and accessors, or small macros, inline functions and templates | ||||
| (ten or fewer lines in length), you do both of the following: | ||||
|  | ||||
| * **a)** Give prominent notice with each copy of the object code that the | ||||
| Library is used in it and that the Library and its use are | ||||
| covered by this License. | ||||
| * **b)** Accompany the object code with a copy of the GNU GPL and this license | ||||
| document. | ||||
|  | ||||
| ## 4. Combined Works | ||||
|  | ||||
| You may convey a Combined Work under terms of your choice that, | ||||
| taken together, effectively do not restrict modification of the | ||||
| portions of the Library contained in the Combined Work and reverse | ||||
| engineering for debugging such modifications, if you also do each of | ||||
| the following: | ||||
|  | ||||
| * **a)** Give prominent notice with each copy of the Combined Work that | ||||
| the Library is used in it and that the Library and its use are | ||||
| covered by this License. | ||||
|  | ||||
| * **b)** Accompany the Combined Work with a copy of the GNU GPL and this license | ||||
| document. | ||||
|  | ||||
| * **c)** For a Combined Work that displays copyright notices during | ||||
| execution, include the copyright notice for the Library among | ||||
| these notices, as well as a reference directing the user to the | ||||
| copies of the GNU GPL and this license document. | ||||
|  | ||||
| * **d)** Do one of the following: | ||||
|   * **0)** Convey the Minimal Corresponding Source under the terms of this | ||||
| License, and the Corresponding Application Code in a form | ||||
| suitable for, and under terms that permit, the user to | ||||
| recombine or relink the Application with a modified version of | ||||
| the Linked Version to produce a modified Combined Work, in the | ||||
| manner specified by section 6 of the GNU GPL for conveying | ||||
| Corresponding Source. | ||||
|   * **1)** Use a suitable shared library mechanism for linking with the | ||||
| Library.  A suitable mechanism is one that **(a)** uses at run time | ||||
| a copy of the Library already present on the user's computer | ||||
| system, and **(b)** will operate properly with a modified version | ||||
| of the Library that is interface-compatible with the Linked | ||||
| Version. | ||||
|  | ||||
| * **e)** Provide Installation Information, but only if you would otherwise | ||||
| be required to provide such information under section 6 of the | ||||
| GNU GPL, and only to the extent that such information is | ||||
| necessary to install and execute a modified version of the | ||||
| Combined Work produced by recombining or relinking the | ||||
| Application with a modified version of the Linked Version. (If | ||||
| you use option **4d0**, the Installation Information must accompany | ||||
| the Minimal Corresponding Source and Corresponding Application | ||||
| Code. If you use option **4d1**, you must provide the Installation | ||||
| Information in the manner specified by section 6 of the GNU GPL | ||||
| for conveying Corresponding Source.) | ||||
|  | ||||
| ## 5. Combined Libraries | ||||
|  | ||||
| You may place library facilities that are a work based on the | ||||
| Library side by side in a single library together with other library | ||||
| facilities that are not Applications and are not covered by this | ||||
| License, and convey such a combined library under terms of your | ||||
| choice, if you do both of the following: | ||||
|  | ||||
| * **a)** Accompany the combined library with a copy of the same work based | ||||
| on the Library, uncombined with any other library facilities, | ||||
| conveyed under the terms of this License. | ||||
| * **b)** Give prominent notice with the combined library that part of it | ||||
| is a work based on the Library, and explaining where to find the | ||||
| accompanying uncombined form of the same work. | ||||
|  | ||||
| ## 6. Revised Versions of the GNU Lesser General Public License | ||||
|  | ||||
| The Free Software Foundation may publish revised and/or new versions | ||||
| of the GNU Lesser General Public License from time to time. Such new | ||||
| versions will be similar in spirit to the present version, but may | ||||
| differ in detail to address new problems or concerns. | ||||
|  | ||||
| Each version is given a distinguishing version number. If the | ||||
| Library as you received it specifies that a certain numbered version | ||||
| of the GNU Lesser General Public License “or any later version” | ||||
| applies to it, you have the option of following the terms and | ||||
| conditions either of that published version or of any later version | ||||
| published by the Free Software Foundation. If the Library as you | ||||
| received it does not specify a version number of the GNU Lesser | ||||
| General Public License, you may choose any version of the GNU Lesser | ||||
| General Public License ever published by the Free Software Foundation. | ||||
|  | ||||
| If the Library as you received it specifies that a proxy can decide | ||||
| whether future versions of the GNU Lesser General Public License shall | ||||
| apply, that proxy's public statement of acceptance of any version is | ||||
| permanent authorization for you to choose that version for the | ||||
| Library. | ||||
							
								
								
									
										200
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										200
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,16 +1,198 @@ | ||||
| # Скрипт на 1С:Исполнитель для сборки бинарника (файла .cfe) из файлов выгрузки расширения .xml | ||||
| # 1С:CICD | ||||
|  | ||||
| ## Запуск | ||||
| Набор скриптов на 1С:Исполнителе для организации контуров разработки, тестирования, обновления. Для запуска требуется 1С:Исполнитель версии [5.0.8.4](https://releases.1c.ru/version_files?nick=Executor&ver=5.0.8.4). | ||||
|  | ||||
| Для запуска требуется 1С:Исполнитель версии 3.0.2.2 или выше. | ||||
| ## Исполнение скриптов | ||||
|  | ||||
| Для запуска `executor`(.cmd) без указания полного пути требуется прописать путь к нему в переменную окружения `PATH`. | ||||
| Скрипты исполняются с помощью следующего шаблона: | ||||
|  | ||||
| ## Быстрый запуск | ||||
| ```cmd | ||||
| executor <ПутьКСкриптам>main.sbsl <РежимИсполнения> <ОтносительныйПутьККорнюПроекта> <ОстановитьсяВКонце> | ||||
| ``` | ||||
|  | ||||
| `build_cfe.bat` | ||||
| - **ПутьКСкриптам** - путь к файлу  main.sbsl относительно корня репозитория проекта. | ||||
|  | ||||
| ## Скрипт состоит из | ||||
| - **РежимИсполнения** - задает конкретную команду для выполнения скриптов. | ||||
|  | ||||
| - Основного файла `.sbsl`; | ||||
| - Файла настроек `.json`. | ||||
| - **ОтносительныйПутьККорнюПроекта** - указывается относительный путь от рабочего каталога, в котором запускается скрипт (текущий каталог оболочки исполнения), до корня репозитория проекта. Например, если скрипт запускается из каталога bin, то параметр будет иметь следующий вид `..//`. | ||||
|  | ||||
| > Внимание. Не следует путать рабочий каталог запуска скрипта с местом расположения файлов скрипта. | ||||
|  | ||||
| - **ОстановитьсяВКонце** - **1** - перед завершением исполнения скрипта, будет ожидаться ввод от пользователя (необходим для анализа вывода лога исполнения), 0 - скрипт завершится, не дожидаясь пользователя. | ||||
|  | ||||
| ## Режимы исполнения скриптов | ||||
|  | ||||
| - **init** - инициализация репозитория проекта для работы со скриптами. | ||||
| - **build_cf** - сборка файла конфигурации из файловой выгрузки xml. | ||||
| - **build_cfe** - сборка файлов расширений из файловой выгрузки xml. | ||||
| - **build_patch** - сборка архива для обновления из файловой выгрузки xml только по полностью или частично снятых с поддержки объектов. | ||||
| - **build_prod** - сборка файла конфигурации из файловой выгрузки xml с дополнительным конвертацией конфигурацией поставщика с целью устранения шума ложных различий между основной конфигурацией и конфигурацией поставщика. | ||||
| - **update_ib_cf** - обновление информационной базы собранным файлом cf. | ||||
| - **update_ib_cfe** - обновление информационной базы собранными файлами cfe. | ||||
| - **update_ib_patch** - частичное обновление информационной базы файлами из архива с файлами полностью или частично снятых с поддержки объектов. | ||||
| - **get_configdump** - получение файла ConfigDumpInfo.xml из информационной базы, где идет разработка, для ускоренной выгрузки в файлы xml измененной конфигурации. | ||||
| - **new_bin** - конвертация файла ParentConfigurations.bin в формат, пригодный для хранения и работы с ним в git хранилище. | ||||
| - **reapair_bin** - удаление из файла ParentConfigurations.bin битых идентификаторов метаданных. | ||||
| - **new_configdumpinfo** - конвертация файла ConfigDumpInfo.xml в формат, пригодный для хранения и работы с ним в git хранилище. | ||||
|  | ||||
| ## Требуемая структура репозитория проекта | ||||
|  | ||||
| Для корректной работы скриптов проект должен иметь следующую структуру каталогов: | ||||
|  | ||||
| ```ini | ||||
| project | ||||
|   |- bin | ||||
|     |- project_user_prop.json | ||||
|     |- Конфигурация.cf | ||||
|     |- Расширения.cfe | ||||
|   |- scripts | ||||
|     |- 1c_cicd | ||||
|   |- src | ||||
|     |- cf | ||||
|     |- cfe | ||||
|       |- ИмяРасширения1 | ||||
|       |- ИмяРасширения2 | ||||
|   |- project_config.json | ||||
|   |- .gitignore | ||||
| ``` | ||||
|  | ||||
| - **scripts** - каталог, где хранятся скрипты. | ||||
|  | ||||
| - **src/cf** - каталог с файловой выгрузкой основной конфигурации. | ||||
|  | ||||
| - **src/cfe/*** - каталоги с файловой выгрузкой  расширений. | ||||
|  | ||||
| - **bin** - каталог с собранными файлами конфигураций cf, cfe, patch. | ||||
|  | ||||
| - **project_config.json** - файл с общими настройками проекта. | ||||
|  | ||||
|   ```ini | ||||
|   { | ||||
|     "EXT_NAMES" : [ | ||||
|       "ИмяРасширения1", | ||||
|       "ИмяРасширения2", | ||||
|     ], | ||||
|     "BIN_DIR" : "bin", | ||||
|     "SRC_CFE" : "src\\cfe", | ||||
|     "SRC_CF" : "src\\cf", | ||||
|     "PLATFORM_VERSION" : "8.3.22" | ||||
|   } | ||||
|   ``` | ||||
|  | ||||
|   - EXT_NAMES - перечисление расширений, которые необходимо собирать в файлы cfe при запуске скрипта в режиме build_cfe. | ||||
|   - BIN_DIR - путь к каталогу bin относительно корня репозитория проекта. | ||||
|   - SRC_CF- путь к каталогу с файловой выгрузкой xml основной конфигурации проекта. | ||||
|   - SRC_CFE - путь к каталогу с файловыми выгрузками xml расширений проекта. | ||||
|   - PLATFORM_VERSION - текущая версия платформы, на которой ведется разработка. | ||||
|  | ||||
| - **project_user_prop.json** - файл с пользовательскими настройками проекта. | ||||
|  | ||||
|   ```ini | ||||
|   { | ||||
|     "USE_IBCMD" : false, | ||||
|     "IB_LOGIN" : "Администратор", | ||||
|     "IB_PASSWD" : "passw", | ||||
|     "IB_CONNECTION_STRING" : "Srvr=\"gor\";Ref=\"Arconic_DO_master_agibse\";", | ||||
|     "HASH" : { | ||||
|       "cf" : "d1a01a96c07639833d215549eb2ac4bd", | ||||
|       "ар_БиблиотекаПодсистем" : "e5f121aaf21e584461511fc5f5a9a0bd", | ||||
|       "ар_ДокументыИФайлы" : "2b2f49331a5c2f2bc03a7f80d30ba06d", | ||||
|       "ар_ОбменДанными" : "4a70f956be22cab41748e76d7f492d69", | ||||
|       "ар_Роли" : "de5ba153e8d8ef419c072f3925add5bd", | ||||
|       "ар_НСИ" : "da6e93d7367780db067c5a3a4e72a352" | ||||
|     } | ||||
|   } | ||||
|   ``` | ||||
|  | ||||
|   - HASH - хэши каталогов файловых выгрузок, нужны для того, чтобы сборка файлов проекта выполнялась только в случае изменении в файловой выгрузки относительно предыдущей сборки | ||||
|   - USE_IBCMD - режим использования автономного сервера для сборки файлов конфигурации | ||||
|   - IB_CONNECTION_STRING - строка соединения до конфигурации, в которой ведется разработка. (Соединение с конфигурацией выполняется в режимах get_configdump, update*) | ||||
|   - IB_LOGIN - логин конфигурации, в которой ведется разработка | ||||
|   - IB_PASSWD - пароль конфигурации, в которой ведется разработка | ||||
|  | ||||
| - **.gitignore** - файл с описанием каталогов, которые не должны версионироваться в git. В данном случае в нем должен содержаться каталог bin. | ||||
|  | ||||
|   ```ini | ||||
|   /bin | ||||
|   ``` | ||||
|  | ||||
| ## Инициализация репозитория проекта | ||||
|  | ||||
| Для инициализации репозитории проекта для работы со скриптами необходимо выполнить несколько шагов: | ||||
|  | ||||
| 1. Выбрать место расположение скриптов, например, в каталоге scripts/1c_cicd. Скрипты можно как просто скопировать с родительского репозитория, так и расположить в качестве подмодуля репозитория git. | ||||
|  | ||||
| 2. Создать файл инициализации и расположить его в каталоге bin. Например, файл init.bat со следующим кодом | ||||
|  | ||||
|    ```cmd | ||||
|    executor ..\scripts\1c_cicd\main.sbsl init "..\\" 1 | ||||
|    ``` | ||||
|  | ||||
| 3. Необходимо запустить команду инициализации, после чего создадутся следующие файлы | ||||
|  | ||||
|    1. Файл настроек проекта ./project_config.json | ||||
|  | ||||
|    2. Файл пользовательских настроек bin/project_user_prop.json | ||||
|  | ||||
|    3. Пакетные файлы для запуски скриптов в разных режимах bin/* | ||||
|  | ||||
|    4. На основе описанной структуры проекта создается файл .git/hooks/precommit с режимами обслуживания репозитория перед фиксацией изменений | ||||
|  | ||||
|       ```bash | ||||
|       #!/bin/sh | ||||
|       executor scripts/1c_cicd/main.sbsl new_bin "." 0 | ||||
|       executor scripts/1c_cicd/main.sbsl new_configdumpinfo "." 0 | ||||
|       git add src/cf/Ext/ParentConfigurations.bin src/cf/ConfigDumpInfo.xml src/cfe/*/ConfigDumpInfo.xml | ||||
|       executor scripts/1c_cicd/main.sbsl build_cfe "." 0 | ||||
|       ``` | ||||
|  | ||||
|       Без данных строчек, возникнут проблемы при слиянии изменений, сборки после слияния. Режим build_cfe не только собирает cfe но и проверяет, что перед фиксацией все изменения создаю корректное расширение. | ||||
|  | ||||
| ## Особенности использования файла  ConfigDumpInfo.xml | ||||
|  | ||||
| В файловой выгрузке конфигурации содержится очень важный файл ConfigDumpInfo.xml. | ||||
|  | ||||
| ```xml | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <ConfigDumpInfo xmlns="http://v8.1c.ru/8.3/xcf/dumpinfo" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" format="Hierarchical" version="2.15"> | ||||
|   <ConfigVersions> | ||||
|     <Metadata name="AccumulationRegister.КоличествоДействийЗадач" id="fb076a86-f98a-4262-aae6-9620b66ffe56" configVersion="7968057765e97c4b85bbe9cdba2d6add00000000"> | ||||
|       <Metadata name="AccumulationRegister.КоличествоДействийЗадач.Resource.ОжидающихПроверки" id="12ee901e-40ef-403d-97ac-6d417f7f89bc"/> | ||||
|       <Metadata name="AccumulationRegister.КоличествоДействийЗадач.Resource.Просроченных" id="19149630-16cb-4810-bb20-274f0f690254"/> | ||||
| **** | ||||
|     </Metadata> | ||||
|     <Metadata name="AccumulationRegister.КоличествоДействийЗадач.ManagerModule" id="fb076a86-f98a-4262-aae6-9620b66ffe56.2" configVersion="35499d4fcdad694c989da066e77b447600000000"/> | ||||
|     <Metadata name="AccumulationRegister.КоличествоДействийЗадач.RecordSetModule" id="fb076a86-f98a-4262-aae6-9620b66ffe56.1" configVersion="4ad30263ad581f4daaae5dd125fa9c2c00000000"/> | ||||
| *** | ||||
| ``` | ||||
|  | ||||
| - В нем содержится иерархия объектов метаданных. Данной информации нет в файле Configuration.xml. | ||||
|  | ||||
| - Иерархия метаданных помогает быстро обратиться к нужному файлу в файловой выгрузке по идентификатору объекта метаданных. | ||||
|  | ||||
| - Также в нем содержится атрибут configVersion, которые помогает конфигурации выгрузить только измененные объекты относительно предыдущей выгрузки. | ||||
|  | ||||
| - Также, после удалении объектов в конфигурации, при файловой выгрузке платформа по файлу ConfigDumpInfo.xml понимает, какие файлы нужно удалить в каталоге. | ||||
|  | ||||
| > Внимание. Без файла ConfigDumpInfo.xml файлы удаленных метаданных <u>**не удаляются**</u>. | ||||
|  | ||||
| Для того, чтобы файл ConfigDumpInfo.xml в репозитории проекта не конфликтовал в ветками других разработчиков из-за  configVersion, данный атрибут обнуляется с помощью режима скриптов `new_configdumpinfo`. | ||||
|  | ||||
| ```ini | ||||
| configVersion="0000000000000000000000000000000000000000 | ||||
| ``` | ||||
|  | ||||
| > Внимание. Необходимо убедиться, что в git precommit прописан режим `new_configdumpinfo` ([см.  Инициализация репозитория проекта](#инициализация-репозитория-проекта)) | ||||
|  | ||||
| ### Ускоренная выгрузка конфигурации в файлы | ||||
|  | ||||
| Для ускоренной выгрузки конфигурации в файлы необходимо <u>**перед**</u> началом разработки актуализировать ConfigDumpInfo.xml. Канонический процесс разработки с использованием режима актуализации ConfigDumpInfo.xml  выглядит следующим образом: | ||||
|  | ||||
| 1. Перейти на ветку мастер. | ||||
| 2. Создать новую ветку разработки по задаче разработки. | ||||
| 3. Актуализировать файл ConfigDumpInfo.xml с помощью режима get_configdump. | ||||
| 4. Зайти в конфигуратор, провести разработку. | ||||
| 5. Выгрузить конфигуратор в файлы. | ||||
| 6. Зафиксировать изменения, ConfigDumpInfo.xml вернется к безверсионному формату. | ||||
|  | ||||
| > Внимание. Ускоренная выгрузка <u>не будет</u> работать, в случае удаления или переименования объектов метаданных. | ||||
|   | ||||
| @@ -8,10 +8,10 @@ | ||||
| метод СобратьФайлыКонфигурации(ПараметрыПроекта: IProjectProperties.ПараметрыПроекта, СобратьРасширения: Булево = Ложь, ПересобратьКонфигурациюПоставщика: Булево = Ложь) : Булево | ||||
|  | ||||
|     знч СобранныеПроекты = новый Массив<Строка>() | ||||
|     пер Статус = 0 | ||||
|     пер Статус = Истина | ||||
|  | ||||
|     если ПараметрыПроекта.ПутьКФайламКонфигурации.Путь.Пусто() | ||||
|         возврат Статус < 2 | ||||
|         возврат Статус | ||||
|     ; | ||||
|  | ||||
|     если СобратьРасширения | ||||
| @@ -24,14 +24,15 @@ | ||||
|  | ||||
|     если не СобратьРасширения | ||||
|         знч ВремяНачала = ДатаВремя.Сейчас() | ||||
|         Статус = ПолучитьФайлКонфигурации( | ||||
|         знч СтатусПолучения = ПолучитьФайлКонфигурации( | ||||
|             ПараметрыПроекта, | ||||
|             ПараметрыПроекта.ПутьКФайламКонфигурации, | ||||
|             ПересобратьКонфигурациюПоставщика) | ||||
|         знч ВремяОкончания = ДатаВремя.Сейчас() | ||||
|         если Статус == 1 | ||||
|         если СтатусПолучения == 1 | ||||
|             СобранныеПроекты.Добавить(IProjectProperties.ИМЯ_КОНФИГУРАЦИИ + " (%{(ВремяОкончания - ВремяНачала).Представление("с")} сек.)") | ||||
|         ; | ||||
|         Статус = Статус и СтатусПолучения < 2 | ||||
|     ; | ||||
|  | ||||
|     для Расширение из ПараметрыПроекта.Расширения | ||||
| @@ -39,19 +40,20 @@ | ||||
|             прервать | ||||
|         ; | ||||
|         знч ВремяНачала = ДатаВремя.Сейчас() | ||||
|         Статус = ПолучитьФайлКонфигурации( | ||||
|         знч СтатусПолучения = ПолучитьФайлКонфигурации( | ||||
|             ПараметрыПроекта, | ||||
|             Расширение.Значение, | ||||
|             Ложь) | ||||
|         знч ВремяОкончания = ДатаВремя.Сейчас() | ||||
|         если Статус == 1 | ||||
|         если СтатусПолучения == 1 | ||||
|             СобранныеПроекты.Добавить(Расширение.Ключ + " (%{(ВремяОкончания - ВремяНачала).Представление("с")} сек.)") | ||||
|         ; | ||||
|         Статус = Статус и СтатусПолучения < 2 | ||||
|     ; | ||||
|  | ||||
|     ВывестиИнформациюПоСобраннымПроектам(СобранныеПроекты) | ||||
|  | ||||
|     возврат Статус < 2 | ||||
|     возврат Статус | ||||
| ; | ||||
|  | ||||
| @Глобально | ||||
|   | ||||
| @@ -45,9 +45,9 @@ | ||||
|             для Расширение из ПараметрыПроекта.Расширения | ||||
|                 СтатусВыполнения = СтатусВыполнения и IProjectOperation.ПеревестиФайлИсторииОбъектовВНовыйФормат(Расширение.Значение.Путь) | ||||
|             ; | ||||
|         когда "get_dumpconfig" | ||||
|         когда "get_configdump" | ||||
|             СтатусВыполнения = IProjectOperation.ПолучитьФайлИсторииИзменений(ПараметрыПроекта) | ||||
|         когда "get_prod_dumpconfig" | ||||
|         когда "get_prod_configdump" | ||||
|             СтатусВыполнения = IProjectOperation.ПолучитьФайлИсторииИзменений(ПараметрыПроекта, Истина) | ||||
|         когда "update_ib_cf" | ||||
|             СтатусВыполнения = IProjectOperation.СобратьФайлыКонфигурации(ПараметрыПроекта) | ||||
| @@ -140,8 +140,8 @@ | ||||
|     ФайлСкрипта = новый Файл(ПараметрыПроекта.ПутьКСборкеПроекта.ОтносительныйПуть + СР + "build_patch.%{Расширение}") | ||||
|     ФайлСкрипта.ОткрытьПотокЗаписи(Ложь).Записать(Шебанг).Записать("executor ..${СР}%{ПараметрыПроекта.ПутьКСкриптуИсполнения.ОтносительныйПуть} build_patch \"%{ПутьДоРепозитория}\" 1").Закрыть() | ||||
|  | ||||
|     ФайлСкрипта = новый Файл(ПараметрыПроекта.ПутьКСборкеПроекта.ОтносительныйПуть + СР + "get_dumpconfig.%{Расширение}") | ||||
|     ФайлСкрипта.ОткрытьПотокЗаписи(Ложь).Записать(Шебанг).Записать("executor ..${СР}%{ПараметрыПроекта.ПутьКСкриптуИсполнения.ОтносительныйПуть} get_dumpconfig \"%{ПутьДоРепозитория}\" 1").Закрыть() | ||||
|     ФайлСкрипта = новый Файл(ПараметрыПроекта.ПутьКСборкеПроекта.ОтносительныйПуть + СР + "get_configdump.%{Расширение}") | ||||
|     ФайлСкрипта.ОткрытьПотокЗаписи(Ложь).Записать(Шебанг).Записать("executor ..${СР}%{ПараметрыПроекта.ПутьКСкриптуИсполнения.ОтносительныйПуть} get_configdump \"%{ПутьДоРепозитория}\" 1").Закрыть() | ||||
|  | ||||
|     ФайлСкрипта = новый Файл(ПараметрыПроекта.ПутьКСборкеПроекта.ОтносительныйПуть + СР + "update_ib_cfe.%{Расширение}") | ||||
|     ФайлСкрипта.ОткрытьПотокЗаписи(Ложь).Записать(Шебанг).Записать("executor ..${СР}%{ПараметрыПроекта.ПутьКСкриптуИсполнения.ОтносительныйПуть} update_ib_cfe \"%{ПутьДоРепозитория}\" 1").Закрыть() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user