diff --git a/.travis.yml b/.travis.yml index 9a2be64a..47f4ecb7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,16 +8,6 @@ notifications: services: - docker -before_install: - # Load cached docker images - - if [[ -d $HOME/docker ]]; then ls $HOME/docker/*.tar.gz | xargs -I {file} sh -c "zcat {file} | docker load"; fi - -before_cache: - # Save tagged docker images - - > - mkdir -p $HOME/docker && docker images -a --filter='dangling=false' --format '{{.Repository}}:{{.Tag}} {{.ID}}' - | xargs -n 2 -t sh -c 'test -e $HOME/docker/$1.tar.gz || docker save $0 | gzip -2 > $HOME/docker/$1.tar.gz' - install: - docker pull harmit/ci-image @@ -46,7 +36,6 @@ cache: directories: - '$HOME/.m2/repository' - '$HOME/.sonar/cache' - - '$HOME/docker' jobs: include: - stage: Сборка и публикация github & hub.oscript.io diff --git a/TODO b/TODO index affa5eff..d5a7ec82 100644 --- a/TODO +++ b/TODO @@ -4,4 +4,3 @@ [] Чтение файла формата yaml [] Чтение файла формата xml для совместимости??? [] Описать интерфейс подписчиков отдельно -[] Сделать получение ИнтерфейсаПодписчика - автоматическим из класса МенеджерПодписок после реализации https://github.com/khorevaa/reflector/issues/7 diff --git a/build_packagedef b/build_packagedef index 8421475b..052bd4a5 100644 --- a/build_packagedef +++ b/build_packagedef @@ -18,18 +18,6 @@ ВызватьИсключение КомандаOpm.ПолучитьВывод(); КонецЕсли; - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("run install-opm"); - КомандаOpm.ДобавитьПараметр("feature/install-depends"); - КомандаOpm.ДобавитьЛогВыводаКоманды(ПараметрыСистемыOpm.ИмяЛогаСистемы()); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - Лог.Информация("Настройка локальных библиотек"); ПутьКФайлуЗагрузчику = ОбъединитьПути(РабочийКаталог, "oscript_modules", "package-loader.os"); @@ -83,8 +71,13 @@ Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы()); -Описание.Имя("gitsync") - .Версия("3.0.1-beta") +ПутьКСценариюПараметров = ОбъединитьПути(ТекущийСценарий().Каталог, "src/cmd", "Модули", "ПараметрыПриложения.os"); +ПараметрыСистемы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюПараметров); +ИмяПродукта = НРег(ПараметрыСистемы_ЛокальнаяВерсия.ИмяПриложения()); +ВерсияПродукта = ПараметрыСистемы_ЛокальнаяВерсия.Версия(); + +Описание.Имя(ИмяПродукта) + .Версия(ВерсияПродукта) .ВерсияСреды("1.0.20") .ВключитьФайл("src") .ВключитьФайл("embedded_plugins") @@ -93,4 +86,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/embedded_plugins/.gitleep b/embedded_plugins/.gitleep deleted file mode 100644 index e69de29b..00000000 diff --git a/features/step_definitions/shared.os b/features/step_definitions/shared.os index d760297a..b65baf8c 100644 --- a/features/step_definitions/shared.os +++ b/features/step_definitions/shared.os @@ -358,17 +358,6 @@ ВызватьИсключение КомандаOpm.ПолучитьВывод(); КонецЕсли; - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьРабочийКаталог(РабочийКаталог); - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("run install-opm"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - Лог.Отладка("Настройка локальных библиотек"); ПутьКФайлуЗагрузчику = ОбъединитьПути(РабочийКаталог, "oscript_modules", "package-loader.os"); diff --git a/gitsync3_packagedef b/gitsync3_packagedef deleted file mode 100644 index 9e7e0dc7..00000000 --- a/gitsync3_packagedef +++ /dev/null @@ -1,94 +0,0 @@ -#Использовать logos -#Использовать fs -Перем Лог; - -Процедура ПередСборкой(Знач РабочийКаталог) Экспорт - - ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); - - Лог.Информация("Установка локальных зависимостей библиотек"); - КомандаOpm = Новый Команда; - - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("install -l"); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("run install-opm"); - КомандаOpm.ДобавитьПараметр("feature/install-depends"); - КомандаOpm.ДобавитьЛогВыводаКоманды(ПараметрыСистемыOpm.ИмяЛогаСистемы()); - - КодВозврата = Команда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.ДобавитьЛогВыводаКоманды(ПараметрыСистемыOpm.ИмяЛогаСистемы()); - - КодВозврата = КомандаOpm.Исполнить(); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение КомандаOpm.ПолучитьВывод(); - КонецЕсли; - - Лог.Информация("Настройка локальных библиотек завершена"); - -КонецПроцедуры - -Процедура ПриСборке(Знач РабочийКаталог, Знач АрхивПакета) Экспорт - -КонецПроцедуры - -Процедура ПослеСборки(Знач РабочийКаталог, Знач ПутьКФайлуПакета) Экспорт - - ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); - ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); - Если ФайлНастройкиСкрипта.Существует() Тогда - УдалитьФайлы(ПутьКФайлуНастройкиСкрипта); - КонецЕсли; - - ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); - -КонецПроцедуры - -Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы()); - -Описание.Имя("gitsync3") - .Версия("0.9.3-beta") - .ВерсияСреды("1.0.20") - .ВключитьФайл("src") - .ВключитьФайл("embedded_plugins") - .ВключитьФайл("oscript_modules") - .ВключитьФайл("docs") - .ВключитьФайл("readme.md") - .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") - .ОпределяетКласс("УправлениеПлагинами", "src/core/Классы/УправлениеПлагинами.os") - .ИсполняемыйФайл("src/cmd/gitsync.os", "gitsync3"); \ No newline at end of file diff --git a/packagedef b/packagedef index fba29edd..94c12553 100644 --- a/packagedef +++ b/packagedef @@ -5,6 +5,38 @@ Процедура ПередСборкой(Знач РабочийКаталог) Экспорт + ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); + + Лог.Информация("Установка локальных зависимостей библиотек"); + Команда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"); + ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); + Если Не ФайлНастройкиСкрипта.Существует() Тогда + КопироватьФайл(ШаблонныйФайлНастройкиСкрипта, ПутьКФайлуНастройкиСкрипта); + Лог.Информация("Добавлен файл настройки запуска"); + КонецЕсли; + ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "embedded_plugins")); КомандаOpm = Новый Команда; @@ -17,14 +49,31 @@ ВызватьИсключение КомандаOpm.ПолучитьВывод(); КонецЕсли; - Лог.Информация("Настройка локальных библиотек"); + Лог.Информация("Настройка локальных библиотек - завершена"); + +КонецПроцедуры + +Процедура ПослеСборки(Знач РабочийКаталог, Знач ПутьКФайлуПакета) Экспорт + + ПутьКФайлуНастройкиСкрипта = ОбъединитьПути(РабочийКаталог, "src", "cmd", "oscript.cfg"); + ФайлНастройкиСкрипта= Новый Файл(ПутьКФайлуНастройкиСкрипта); + Если ФайлНастройкиСкрипта.Существует() Тогда + УдалитьФайлы(ПутьКФайлуНастройкиСкрипта); + КонецЕсли; + + ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules")); КонецПроцедуры Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы()); -Описание.Имя("gitsync") - .Версия("3.0.0-beta") +ПутьКСценариюПараметров = ОбъединитьПути(ТекущийСценарий().Каталог, "src/cmd", "Модули", "ПараметрыПриложения.os"); +ПараметрыСистемы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюПараметров); +ИмяПродукта = НРег(ПараметрыСистемы_ЛокальнаяВерсия.ИмяПриложения()); +ВерсияПродукта = ПараметрыСистемы_ЛокальнаяВерсия.Версия(); + +Описание.Имя(ИмяПродукта) + .Версия(ВерсияПродукта) .ВерсияСреды("1.0.20") .ЗависитОт("logos", "1.1.1") .ЗависитОт("tempfiles", "0.2.2") @@ -37,13 +86,13 @@ .ЗависитОт("delegate", "0.2.0") .ЗависитОт("v8storage", "0.6.5") .ЗависитОт("reflector", "0.4.0") - //.ЗависитОт("opm", "1.14.0") + .ЗависитОт("opm", "0.14.1") .ЗависитОт("cli", "0.9.8") - .ЗависитОт("fluent", "0.3.1") // Для работы opm .ВключитьФайл("src") .ВключитьФайл("docs") .ВключитьФайл("embedded_plugins") + .ВключитьФайл("oscript_modules") .ВключитьФайл("readme.md") .ОпределяетКласс("МенеджерСинхронизации", "src/core/Классы/МенеджерСинхронизации.os") .ОпределяетКласс("УправлениеПлагинами", "src/core/Классы/УправлениеПлагинами.os") - .ИсполняемыйФайл("src/cmd/gitsync.os"); + .ИсполняемыйФайл("src/cmd/gitsync.os", ИмяПродукта); diff --git a/src/cmd/gitsync.os b/src/cmd/gitsync.os index 2badc069..f89dfad0 100644 --- a/src/cmd/gitsync.os +++ b/src/cmd/gitsync.os @@ -82,6 +82,7 @@ /////////////////////////////////////////////////////// Лог = ПараметрыПриложения.Лог(); +ПараметрыПриложения.ПодготовитьПлагины(); Попытка 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 d6cbb915..143f0502 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" @@ -14,8 +14,6 @@ ОбщиеПараметры.Вставить("ДоменПочты", "localhost"); ОбщиеПараметры.Вставить("ПутьКГит", ""); - ПодготовитьПлагины(); - КонецПроцедуры Процедура УстановитьВерсиюПлатформы(Знач ВерсияПлатформы) Экспорт @@ -164,7 +162,7 @@ Функция Версия() Экспорт - Возврат "0.9.0-beta"; + Возврат "3.0.0-beta1"; КонецФункции diff --git a/tasks/install-opm.os b/tasks/install-opm.os deleted file mode 100644 index 6fe65b98..00000000 --- a/tasks/install-opm.os +++ /dev/null @@ -1,101 +0,0 @@ -#Использовать gitrunner -#Использовать tempfiles -#Использовать fs - -Перем Лог; - -Процедура ПолучитьИсходники(Знач URLРепозитория, Знач Ветка, Знач Каталог) - - ГитРепозиторий = Новый ГитРепозиторий; - - ГитРепозиторий.УстановитьРабочийКаталог(Каталог); - - ГитРепозиторий.КлонироватьРепозиторий(URLРепозитория, Каталог); - ГитРепозиторий.ПерейтиВВетку(Ветка); - -КонецПроцедуры - -Процедура УстановитьПакет(Знач Каталог, ПутьКМанифестуСборки) - - Лог.Информация("Каталог сборки <%1>", Каталог); - - Лог.Информация("Сборка пакета библиотеки"); - Лог.Информация(" - путь к файлу манифеста сборки пакета <%1>", ПутьКМанифестуСборки); - КомандаOpm = Новый Команда; - КомандаOpm.УстановитьРабочийКаталог(Каталог); - КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("build"); - КомандаOpm.ДобавитьПараметр(Каталог); - КомандаOpm.ДобавитьПараметр("-mf"); - Команда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"; - КаталогСборки = ВременныеФайлы.СоздатьКаталог(); - // Ветка = ""; - Лог.Информация("Установка плагинов из - | репозиторий <%1> - | ветки <%2>", URLРепозитория, Ветка); - - ПутьКМанифестуСборки = ОбъединитьПути(ТекущийСценарий().Каталог, "opm_packagedef"); - - ПолучитьИсходники(URLРепозитория, Ветка, КаталогСборки); - УстановитьПакет(КаталогСборки, ПутьКМанифестуСборки); - - ВременныеФайлы.УдалитьФайл(КаталогСборки); - -КонецПроцедуры - -Лог = Логирование.ПолучитьЛог("task.install-opm"); - -Если АргументыКоманднойСтроки.Количество() = 0 Тогда - ИмяВетки = "master"; -Иначе - ИмяВетки = АргументыКоманднойСтроки[0]; -КонецЕсли; - -ПолезнаяРабота(ИмяВетки); - - diff --git a/tasks/opm_packagedef b/tasks/opm_packagedef deleted file mode 100644 index fec198d6..00000000 --- a/tasks/opm_packagedef +++ /dev/null @@ -1,29 +0,0 @@ - -Описание.Имя("opm") - .Версия("0.13.1") - .ВерсияСреды("1.0.19") - .ЗависитОт("fs", "0.4.1") - .ЗависитОт("asserts", "0.4.0") - .ЗависитОт("json", "1.0.1") - .ЗависитОт("fluent", "0.3.1") - .ЗависитОт("logos", "1.0.2") - //.ЗависитОт("cmdline", "0.6.2") - .ЗависитОт("tempfiles", "0.2.2") - .ЗависитОт("gitrunner", "1.5.1") - .ВключитьФайл("src/core") - //.ВключитьФайл("oscript_modules") - .ОпределяетКласс("КэшУстановленныхПакетов", "src/core/Классы/КэшУстановленныхПакетов.os") - .ОпределяетКласс("МенеджерПолученияПакетов", "src/core/Классы/МенеджерПолученияПакетов.os") - .ОпределяетКласс("МенеджерУстановкиПакетов", "src/core/Классы/МенеджерУстановкиПакетов.os") - .ОпределяетКласс("ОписаниеПакета", "src/core/Классы/ОписаниеПакета.os") - .ОпределяетКласс("СборщикПакета", "src/core/Классы/СборщикПакета.os") - .ОпределяетКласс("СерверПакетов", "src/core/Классы/СерверПакетов.os") - .ОпределяетКласс("СериализацияМетаданныхПакета", "src/core/Классы/СериализацияМетаданныхПакета.os") - .ОпределяетКласс("УстановкаПакета", "src/core/Классы/УстановкаПакета.os") - .ОпределяетМодуль("КонстантыOpm", "src/core/Модули/КонстантыOpm.os") - .ОпределяетМодуль("НастройкиOpm", "src/core/Модули/НастройкиOpm.os") - .ОпределяетМодуль("РаботаСВерсиями", "src/core/Модули/РаботаСВерсиями.os") - .ОпределяетМодуль("РаботаСОписаниемПакета", "src/core/Модули/РаботаСОписаниемПакета.os") - .ОпределяетМодуль("РаботаСПакетами", "src/core/Модули/РаботаСПакетами.os") - .ОпределяетМодуль("РежимУстановкиПакетов", "src/core/Модули/РежимУстановкиПакетов.os") - //.ИсполняемыйФайл("src/cmd/opm.os"); \ No newline at end of file diff --git a/travis-ci.sh b/travis-ci.sh index 5c1118be..65738fec 100644 --- a/travis-ci.sh +++ b/travis-ci.sh @@ -17,12 +17,8 @@ echo "Установка зависимостей тестирования" opm install 1testrunner; opm install 1bdd; opm install coverage; -opm update opm opm install; -echo "===================================" -echo "Установка opm из develop" -opm run install-opm-global; # cat /usr/bin/opm echo "==================================="