mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-19 21:07:53 +02:00
Скрипт для создания релиза (еще не закончен)
This commit is contained in:
parent
db9d669a9f
commit
61d02f75e2
@ -2982,9 +2982,9 @@
|
||||
<d3p1:fixedVariantMeasure>Day</d3p1:fixedVariantMeasure>
|
||||
<d3p1:fixedVariantInterval>1</d3p1:fixedVariantInterval>
|
||||
<d3p1:autoFullInterval>true</d3p1:autoFullInterval>
|
||||
<d3p1:fullIntervalBegin>2016-12-13T19:00:00</d3p1:fullIntervalBegin>
|
||||
<d3p1:fullIntervalEnd>2016-12-22T19:59:59</d3p1:fullIntervalEnd>
|
||||
<d3p1:visualBegin>2016-12-13T19:00:00</d3p1:visualBegin>
|
||||
<d3p1:fullIntervalBegin>2016-12-18T09:00:00</d3p1:fullIntervalBegin>
|
||||
<d3p1:fullIntervalEnd>2016-12-27T09:59:59</d3p1:fullIntervalEnd>
|
||||
<d3p1:visualBegin>2016-12-18T09:00:00</d3p1:visualBegin>
|
||||
<d3p1:intervalDrawType>Gradient</d3p1:intervalDrawType>
|
||||
<d3p1:noneVariantChars>3</d3p1:noneVariantChars>
|
||||
<d3p1:noneVariantMeasure>Day</d3p1:noneVariantMeasure>
|
||||
|
65
src/scripts/.vscode/tasks.json
vendored
Normal file
65
src/scripts/.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
{
|
||||
"version": "0.1.0",
|
||||
"command": "oscript",
|
||||
"isShellCommand": true,
|
||||
"showOutput": "silent",
|
||||
"args": [
|
||||
"-encoding=utf-8"
|
||||
],
|
||||
"tasks": [
|
||||
{
|
||||
"taskName": "OneScript: compile",
|
||||
"args": [
|
||||
"-compile",
|
||||
"${file}"
|
||||
],
|
||||
"echoCommand": true,
|
||||
"showOutput": "always",
|
||||
"suppressTaskName": true,
|
||||
"isBuildCommand": false
|
||||
},
|
||||
{
|
||||
"taskName": "OneScript: check",
|
||||
"args": [
|
||||
"-check",
|
||||
"${file}"
|
||||
],
|
||||
"echoCommand": true,
|
||||
"showOutput": "always",
|
||||
"suppressTaskName": true,
|
||||
"isBuildCommand": false
|
||||
},
|
||||
{
|
||||
"taskName": "OneScript: make",
|
||||
"args": [
|
||||
"-make",
|
||||
"${file}",
|
||||
"${fileBasename}.exe"
|
||||
],
|
||||
"echoCommand": true,
|
||||
"showOutput": "always",
|
||||
"suppressTaskName": true,
|
||||
"isBuildCommand": false
|
||||
},
|
||||
{
|
||||
"taskName": "OneScript: run",
|
||||
"args": [
|
||||
"${file}",
|
||||
"1.0.1.012"
|
||||
],
|
||||
"echoCommand": true,
|
||||
"showOutput": "always",
|
||||
"suppressTaskName": true,
|
||||
"isBuildCommand": true,
|
||||
"problemMatcher": {
|
||||
"fileLocation": "absolute",
|
||||
"pattern": {
|
||||
"regexp": "^{Модуль\\s+(.*)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+(.*)}$",
|
||||
"file": 1,
|
||||
"location": 2,
|
||||
"message": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
56
src/scripts/CreateRelease.os
Normal file
56
src/scripts/CreateRelease.os
Normal file
@ -0,0 +1,56 @@
|
||||
#Использовать v8runner
|
||||
#Использовать logos
|
||||
|
||||
Перем Лог;
|
||||
Перем Конфигуратор;
|
||||
Перем НоваяВерсия;
|
||||
|
||||
Процедура Инициализация()
|
||||
Лог.УстановитьУровень(УровниЛога.Отладка);
|
||||
|
||||
Конфигуратор = Новый УправлениеКонфигуратором();
|
||||
Конфигуратор.УстановитьКонтекст("/FD:\Cloud\Dev\Tasks\Base","Иванов Антон Борисович", "");
|
||||
//Конфигуратор.ВыгрузитьКонфигурациюВФайлы("d:\Cloud\Dev\GitRep\Tasks\src\cf\")
|
||||
|
||||
//Версия = "1.0.1.012";
|
||||
НоваяВерсия = АргументыКоманднойСтроки[0];
|
||||
|
||||
СоздатьФайлыПоставкиДляРелиза();
|
||||
|
||||
//СоздатьФайлыКомплектаДляРелиза();
|
||||
|
||||
Конецпроцедуры
|
||||
|
||||
Процедура СоздатьФайлыКомплектаДляРелиза()
|
||||
КаталогСозданияФайловКомплектовПоставки = "d:\Cloud\Dev\Tasks\_Rel\distribute\"+НоваяВерсия+"\";
|
||||
|
||||
ИмяФайлаОписанияКомплектаПоставки = "d:\Cloud\Dev\Tasks\_Rel\releases\ОписаниеПоставки.edf";
|
||||
Лог.Отладка("ИмяФайлаОписанияКомплектаПоставки "+ ИмяФайлаОписанияКомплектаПоставки);
|
||||
Конфигуратор.СоздатьФайлыКомплекта(КаталогСозданияФайловКомплектовПоставки,ИмяФайлаОписанияКомплектаПоставки);
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьФайлыПоставкиДляРелиза()
|
||||
КаталогРелизов = "d:\Cloud\Dev\Tasks\_Rel\releases\";
|
||||
ПутьФайлаПолнойПоставки = КаталогРелизов + ""+НоваяВерсия+"\1Cv8.cf";
|
||||
ПутьФайлаПоставкиОбновления = КаталогРелизов + ""+НоваяВерсия+"\1Cv8.cfu";
|
||||
//Сообщить("ПутьФайлаПолнойПоставки "+ ПутьФайлаПолнойПоставки);
|
||||
//Сообщить("ПутьФайлаПоставкиОбновления "+ ПутьФайлаПоставкиОбновления);
|
||||
|
||||
МассивДистрибутивовДляОбновления = Новый Массив();
|
||||
НайденныеФайлы = НайтиФайлы(КаталогРелизов,"*");
|
||||
Для каждого пФайл Из НайденныеФайлы Цикл
|
||||
Если пФайл.ЭтоКаталог()
|
||||
И пФайл.Имя <> НоваяВерсия Тогда
|
||||
ПутьДистрибутиваДляОбновления = пФайл.ПолноеИмя + "\1Cv8.cf";
|
||||
МассивДистрибутивовДляОбновления.Добавить(ПутьДистрибутиваДляОбновления);
|
||||
Лог.Отладка("ПутьДистрибутиваДляОбновления "+ ПутьДистрибутиваДляОбновления);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Конфигуратор.СоздатьФайлыПоставки(ПутьФайлаПолнойПоставки,ПутьФайлаПоставкиОбновления,МассивДистрибутивовДляОбновления);
|
||||
КонецПроцедуры
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
// Инициализация
|
||||
Лог = Логирование.ПолучитьЛог("СоздатьРелиз");
|
||||
Инициализация();
|
255
src/scripts/distr_build.os
Normal file
255
src/scripts/distr_build.os
Normal file
@ -0,0 +1,255 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Демонстрационный скрипт создания дистрибутива
|
||||
// Copyright: EvilBeaver <ovsiankin.aa@gmail.com> 2014
|
||||
//
|
||||
// Выполняет следующие шаги:
|
||||
// 1. Получает из Хранилища крайнюю версию конфигурации
|
||||
// 2. Создает на ее основе файл "конфигурации поставщика"
|
||||
// 3. Собирает дистрибутив, включающий в себя конфигурацию поставщика
|
||||
//
|
||||
// Во время работы сценарий использует специальный "каталог сборки" (BuildArea) в котором
|
||||
// накапливает временные файлы и сохраняет финальный результат.
|
||||
//
|
||||
// В качестве входных параметров используются:
|
||||
// 1. Путь к хранилищу конфигурации
|
||||
// 2. Логин/Пароль доступа в хранилище в виде строки Пользователь[:Пароль]
|
||||
// (если пароля нет, то текст в квадратных скобках можно опустить)
|
||||
// 3. Путь к файлу настройки дистрибутива (*.edf). Файл создается в Конфигураторе
|
||||
// в меню Конфигурация\Поставка конфигурации\Комплект поставки.
|
||||
// О том, как его создать см. документацию 1С:Предприятия 8
|
||||
//
|
||||
// Путь к платформе и каталог сборки жестко прописаны в процедуре ЗадатьНачальныеНастройки
|
||||
//
|
||||
// DISCLAIMER:
|
||||
// Этот скрипт является примером использования OneScript и не может быть использован в реальных бизнес-решениях.
|
||||
// Скрипт поставляется "как есть" и вы используете его на свой страх и риск.
|
||||
// Вы также несете ответственность за любые желательные и нежелательные последствия его применения.
|
||||
|
||||
Перем мПараметрыДоступаКБазе;
|
||||
Перем мПараметрыДоступаКХранилищу;
|
||||
Перем мПутьКПлатформе;
|
||||
Перем мКаталогСборки;
|
||||
|
||||
Функция СкопироватьМассив(Источник)
|
||||
|
||||
НовыйМассив = Новый Массив;
|
||||
Для Каждого Элемент Из Источник Цикл
|
||||
НовыйМассив.Добавить(Элемент);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат НовыйМассив;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЗапуститьИПодождать(Параметры)
|
||||
|
||||
СтрокаЗапуска = "";
|
||||
Для Каждого Параметр Из Параметры Цикл
|
||||
|
||||
СтрокаЗапуска = СтрокаЗапуска + " " + Параметр;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КодВозврата = 0;
|
||||
ЗапуститьПриложение(мПутьКПлатформе + СтрокаЗапуска, , Истина, КодВозврата);
|
||||
|
||||
Возврат КодВозврата;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ФайлИнформации()
|
||||
|
||||
Возврат мКаталогСборки + "\log.txt";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПутьКВременнойБазе()
|
||||
Возврат мКаталогСборки + "\TempDB";
|
||||
КонецФункции
|
||||
|
||||
Процедура ВывестиФайлИнформации()
|
||||
|
||||
Файл = Новый Файл(ФайлИнформации());
|
||||
Если Файл.Существует() Тогда
|
||||
Чтение = Новый ЧтениеТекста(Файл.ПолноеИмя);
|
||||
Сообщение = Чтение.Прочитать();
|
||||
Сообщить(Сообщение);
|
||||
Чтение.Закрыть();
|
||||
Иначе
|
||||
Сообщить("Информации об ошибке нет");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПараметрыВременнойБазы()
|
||||
|
||||
ПараметрыВремБазы = СкопироватьМассив(мПараметрыДоступаКБазе);
|
||||
ПараметрыВремБазы[1] = "/F""" + ПутьКВременнойБазе() + """";
|
||||
ПараметрыВремБазы.Удалить(2);
|
||||
|
||||
Возврат ПараметрыВремБазы;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПолучитьВерсиюИзХранилища()
|
||||
|
||||
КаталогСборки = мКаталогСборки;
|
||||
|
||||
Файл = Новый Файл(КаталогСборки);
|
||||
Если НЕ Файл.Существует() Тогда
|
||||
СоздатьКаталог(КаталогСборки);
|
||||
ИначеЕсли Не Файл.ЭтоКаталог() Тогда
|
||||
ВызватьИсключение "Каталог сборки не является каталогом";
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыПолучитьВерсию = СкопироватьМассив(мПараметрыДоступаКХранилищу);
|
||||
ПараметрыПолучитьВерсию.Добавить("/ConfigurationRepositoryDumpCfg """+КаталогСборки+"\source.cf""");
|
||||
|
||||
Сообщить("Получение версии из хранилища");
|
||||
КодВозврата = ЗапуститьИПодождать(ПараметрыПолучитьВерсию);
|
||||
Если КодВозврата = 0 Тогда
|
||||
Сообщить("Версия получена");
|
||||
Иначе
|
||||
Сообщить("Не удалось получить версию из хранилища:");
|
||||
ВывестиФайлИнформации();
|
||||
ЗавершитьРаботу(1);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьВременнуюБазу()
|
||||
|
||||
КаталогВременнойБазы = ПутьКВременнойБазе();
|
||||
Файл = Новый Файл(КаталогВременнойБазы);
|
||||
Если Не Файл.Существует() Тогда
|
||||
СоздатьКаталог(КаталогВременнойБазы);
|
||||
ИначеЕсли Файл.ЭтоКаталог() Тогда
|
||||
УдалитьФайлы(КаталогВременнойБазы, "*.*");
|
||||
Иначе
|
||||
ВызватьИсключение "Не удалось создать каталог временной базы TempDB";
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыЗапуска = Новый Массив;
|
||||
ПараметрыЗапуска.Добавить("CREATEINFOBASE");
|
||||
ПараметрыЗапуска.Добавить("File="""+КаталогВременнойБазы+""";");
|
||||
ПараметрыЗапуска.Добавить("/UseTemplate""" + мКаталогСборки + "\source.cf" + """");
|
||||
ПараметрыЗапуска.Добавить("/Out""" + ФайлИнформации() + """");
|
||||
|
||||
Сообщить("Создание временной базы");
|
||||
КодВозврата = ЗапуститьИПодождать(ПараметрыЗапуска);
|
||||
Если КодВозврата = 0 Тогда
|
||||
Сообщить("Временная база создана");
|
||||
Иначе
|
||||
Сообщить("Не удалось создать временную базу:");
|
||||
ВывестиФайлИнформации();
|
||||
ЗавершитьРаботу(1);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьФайлПоставки()
|
||||
|
||||
ПараметрыВремБазы = ПараметрыВременнойБазы();
|
||||
|
||||
ПараметрыВремБазы.Добавить("/CreateDistributionFiles -cffile """ + мКаталогСборки + "\1cv8.cf" + """");
|
||||
|
||||
Сообщить("Создание файла поставки");
|
||||
Если ЗапуститьИПодождать(ПараметрыВремБазы) = 0 Тогда
|
||||
Сообщить("Файл поставки создан");
|
||||
Иначе
|
||||
Сообщить("Не удалось создать файл поставки:");
|
||||
ВывестиФайлИнформации();
|
||||
ЗавершитьРаботу(1);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьДистрибутив()
|
||||
|
||||
КаталогСборки = мКаталогСборки + "\setup";
|
||||
Файл = Новый Файл(КаталогСборки);
|
||||
Если Не Файл.Существует() Тогда
|
||||
СоздатьКаталог(КаталогСборки);
|
||||
ИначеЕсли Файл.ЭтоКаталог() Тогда
|
||||
УдалитьФайлы(КаталогСборки, "*.*");
|
||||
Иначе
|
||||
ВызватьИсключение "Не удалось создать каталог сборки";
|
||||
КонецЕсли;
|
||||
|
||||
// Сюда должен быть передан путь к файлу настройки дистрибутива, например:
|
||||
// "С:\Users\Андрей\Documents\install.edf";
|
||||
|
||||
ФайлПараметров = АргументыКоманднойСтроки[2];
|
||||
|
||||
ПараметрыВремБазы = ПараметрыВременнойБазы();
|
||||
ПараметрыВремБазы.Добавить("/CreateDistributive """ + КаталогСборки + """");
|
||||
ПараметрыВремБазы.Добавить("-File """ + ФайлПараметров + """");
|
||||
ПараметрыВремБазы.Добавить("-MakeSetup");
|
||||
|
||||
Сообщить("Создание дистрибутива");
|
||||
Если ЗапуститьИПодождать(ПараметрыВремБазы) = 0 Тогда
|
||||
Сообщить("Дистрибутив создан");
|
||||
Иначе
|
||||
Сообщить("Не удалось создать дистрибутив:");
|
||||
ВывестиФайлИнформации();
|
||||
ЗавершитьРаботу(1);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОпределитьПараметрыВходаВХранилище(Знач СтрокаПараметров)
|
||||
|
||||
ПараметрыВхода = Новый Структура;
|
||||
|
||||
ПозицияРазделителя = Найти(СтрокаПараметров,":");
|
||||
|
||||
Если ПозицияРазделителя > 0 Тогда
|
||||
ПараметрыВхода.Вставить("Пользователь", Лев(СтрокаПараметров, ПозицияРазделителя-1));
|
||||
ПараметрыВхода.Вставить("Пароль", Сред(СтрокаПараметров, ПозицияРазделителя+1));
|
||||
Иначе
|
||||
ПараметрыВхода.Вставить("Пользователь", СтрокаПараметров);
|
||||
ПараметрыВхода.Вставить("Пароль", "");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПараметрыВхода;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗадатьНачальныеНастройки()
|
||||
|
||||
Если АргументыКоманднойСтроки.Количество() <> 3 Тогда
|
||||
Сообщить("Не заданы аргументы командной строки");
|
||||
Сообщить("Требуется задать:");
|
||||
Сообщить("<КаталогХранилища> <ПользовательХранилища[:ПарольХранилища]> <ПараметрыДистрибутива>");
|
||||
ЗавершитьРаботу(1);
|
||||
КонецЕсли;
|
||||
|
||||
мПутьКПлатформе = """C:\Program Files (x86)\1cv82\8.2.19.102\bin\1cv8.exe""";
|
||||
мКаталогСборки = "c:\Users\Андрей\Documents\1C\BuildArea";
|
||||
|
||||
КаталогИБ = ПутьКВременнойБазе();
|
||||
Хранилище = АргументыКоманднойСтроки[0];
|
||||
ВходВХранилище = ОпределитьПараметрыВходаВХранилище(АргументыКоманднойСтроки[1]);
|
||||
|
||||
мПараметрыДоступаКБазе = Новый Массив;
|
||||
мПараметрыДоступаКБазе.Добавить("DESIGNER");
|
||||
мПараметрыДоступаКБазе.Добавить("/F""" + КаталогИБ + """");
|
||||
мПараметрыДоступаКБазе.Добавить("/Out""" + ФайлИнформации() + """");
|
||||
|
||||
мПараметрыДоступаКХранилищу = СкопироватьМассив(мПараметрыДоступаКБазе);
|
||||
мПараметрыДоступаКХранилищу.Добавить("/ConfigurationRepositoryF """+Хранилище+"""");
|
||||
мПараметрыДоступаКХранилищу.Добавить("/ConfigurationRepositoryN """ + ВходВХранилище.Пользователь + """");
|
||||
Если Не ПустаяСтрока(ВходВХранилище.Пароль) Тогда
|
||||
мПараметрыДоступаКХранилищу.Добавить("/ConfigurationRepositoryP """ + ВходВХранилище.Пароль + """");
|
||||
КонецЕсли;
|
||||
мПараметрыДоступаКХранилищу.Добавить("/DisableStartupDialogs /DisableStartupMessages");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
ЗадатьНачальныеНастройки();
|
||||
СоздатьВременнуюБазу();
|
||||
ПолучитьВерсиюИзХранилища();
|
||||
СоздатьФайлПоставки();
|
||||
СоздатьДистрибутив();
|
||||
Сообщить("Работа завершена");
|
||||
|
1
src/scripts/nqepbsnk.si1.txt
Normal file
1
src/scripts/nqepbsnk.si1.txt
Normal file
@ -0,0 +1 @@
|
||||
Создание файлов поставки успешно завершено
|
Loading…
x
Reference in New Issue
Block a user