Skip to content

Commit

Permalink
Merge branch 'release/v0.14.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Jun 6, 2018
2 parents b79846f + c317895 commit db5a771
Show file tree
Hide file tree
Showing 47 changed files with 1,760 additions and 1,277 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
oscript_modules/
test-reports/

coverage/
*.ospx
src/oscript.cfg
29 changes: 29 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
sudo: required

dist: trusty

addons:
sonarqube: true

jdk:
- oraclejdk8

before_install:
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
- echo "deb http://download.mono-project.com/repo/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/mono-official.list
- sudo apt-get update
- sudo apt-get install mono-complete mono-devel
- wget -O os.deb http://oscript.io/downloads/night-build/deb
- sudo dpkg -i os.deb; sudo apt install -f
- oscript

install:
- sudo oscript /usr/share/oscript/lib/opm/src/opm.os install -l

cache:
directories:
- '$HOME/.m2/repository'
- '$HOME/.sonar/cache'

script:
- ./travis.sh
19 changes: 16 additions & 3 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

КонецПроцедуры

ПутьКСценариюКонстант = ОбъединитьПути(ТекущийСценарий().Каталог, "src", "Модули", "КонстантыOpm.os");
ПутьКСценариюКонстант = ОбъединитьПути(ТекущийСценарий().Каталог, "src/core", "Модули", "КонстантыOpm.os");
Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант);

Описание.Имя("opm")
Expand All @@ -38,5 +38,18 @@
.ЗависитОт("gitrunner", "1.5.1")
.ВключитьФайл("src")
.ВключитьФайл("oscript_modules")
.ОпределяетКласс("ОписаниеПакета", "src/Классы/ОписаниеПакета.os")
.ИсполняемыйФайл("src/opm.os");
.ОпределяетКласс("КэшУстановленныхПакетов", "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");
1 change: 1 addition & 0 deletions src/opm.os → src/cmd/opm.os
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
///////////////////////////////////////////////////////////////////////

#Использовать cmdline
#Использовать "../core"
#Использовать "."

Перем Лог;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#Использовать logos
#Использовать "../../core"

Перем Лог;

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
// ПараметрыКоманды - Соответствие ключей командной строки и их значений
//
Функция ВыполнитьКоманду(Знач ПараметрыКоманды) Экспорт
НастройкиПриложенияOpm.СохранитьНастройки(ПараметрыКоманды);

ПараметрыПриложенияOpm.ЗаполнитьНастройкиИзПараметров(ПараметрыКоманды);
ПараметрыПриложенияOpm.СохранитьТекущиеНастройки();

Возврат 0;

КонецФункции
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Выполнить установку. Если указано имя пакета, происходит установка из хаба или из файла. В обратном случае устанавливаются зависимости текущего пакета по файлу packagedef.");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-all", "Установить все пакеты, зарегистрированные в хабе");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-f", "Указать файл из которого нужно установить пакет");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-f", "Указать файл из которого нужно установить пакет. Поддерживает указание маски файла для пакетной установки");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-l", "Установить пакеты в локальный каталог oscript_modules");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-dest", "Переопределить стандартный каталог в который устанавливаются пакеты (вместо oscript_modules)");
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ИмяПакета", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета");
Expand All @@ -25,31 +25,50 @@

Процедура УстановитьПакет(Знач ЗначенияПараметров) Экспорт

Установщик = Новый УстановкаПакета;
РежимУстановки = РежимУстановкиПакетов.Глобально;

Если ЗначенияПараметров["-l"] = Истина Тогда
РежимУстановки = РежимУстановкиПакетов.Локально;
КонецЕсли;

Если ЗначенияПараметров["-l"] Тогда
Если ЗначениеЗаполнено(ЗначенияПараметров["-dest"]) Тогда
Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы());
Лог.Предупреждение("При локальной установке параметр -dest игнорируется");
КонецЕсли;
Установщик.УстановитьРежимУстановкиПакетов(РежимУстановкиПакетов.Локально);
Иначе
Установщик.УстановитьРежимУстановкиПакетов(РежимУстановкиПакетов.Глобально);
ЦелевойКаталог = Неопределено;

Если ЗначениеЗаполнено(ЗначенияПараметров["-dest"]) Тогда
Установщик.УстановитьЦелевойКаталог(ЗначенияПараметров["-dest"]);
КонецЕсли;
Если ЗначениеЗаполнено(ЗначенияПараметров["-dest"]) Тогда
ЦелевойКаталог = ЗначенияПараметров["-dest"];
КонецЕсли;

Если РежимУстановки = РежимУстановкиПакетов.Локально Тогда
Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы());
Лог.Предупреждение("При локальной установке параметр -dest игнорируется");
ЦелевойКаталог = Неопределено;
КонецЕсли;

Если ЗначенияПараметров["-all"] Тогда
Установщик.УстановитьВсеПакетыИзОблака();
РаботаСПакетами.УстановитьВсеПакетыИзОблака(РежимУстановки, ЦелевойКаталог);
ИначеЕсли ЗначенияПараметров["-f"] = Неопределено И ЗначенияПараметров["ИмяПакета"] = Неопределено Тогда
Установщик.УстановитьПакетыПоОписаниюПакета();
РаботаСПакетами.УстановитьПакетыПоОписаниюПакета(РежимУстановки, ЦелевойКаталог);
ИначеЕсли ЗначенияПараметров["-f"] <> Неопределено Тогда
Установщик.УстановитьПакетИзАрхива(ЗначенияПараметров["-f"]);

РазобранныйАдрес = СтрРазделить(ЗначенияПараметров["-f"], ПолучитьРазделительПути());
Путь = ".";
Маска = ЗначенияПараметров["-f"];
Если РазобранныйАдрес.Количество() > 1 Тогда // отделим последнюю секцию как имя файла, а остальное опять соберем в строку пути

Маска = РазобранныйАдрес[РазобранныйАдрес.Количество() - 1];
РазобранныйАдрес.Удалить(РазобранныйАдрес.Количество() - 1);
Путь = СтрСоединить(РазобранныйАдрес, ПолучитьРазделительПути());

КонецЕсли;

ФайлыПоМаске = НайтиФайлы(Путь, Маска);
Для Каждого ФайлПакета Из ФайлыПоМаске Цикл

РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакета.ПолноеИмя, РежимУстановки, ЦелевойКаталог);

КонецЦикла;

Иначе
Установщик.УстановитьПакетИзОблака(ЗначенияПараметров["ИмяПакета"]);
РаботаСПакетами.УстановитьПакетИзОблака(ЗначенияПараметров["ИмяПакета"], РежимУстановки, ЦелевойКаталог);
КонецЕсли;

КонецПроцедуры
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@

Если ЗначенияПараметров["-remote"] Тогда
ТекстСообщения = СтрШаблон("Пакеты в хабе:");
КэшПакетовВХабе = Новый КэшПакетовХаба();
УстановленныеПакеты = КэшПакетовВХабе.ПолучитьПакетыХаба();
МенеджерПолучения = Новый МенеджерПолученияПакетов();
УстановленныеПакеты = МенеджерПолучения.ПолучитьДоступныеПакеты();
Иначе

ПутьККаталогуПакетов = ПолучитьЗначениеСистемнойНастройки("lib.system");
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-all", "Обновить все установленные пакеты");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-f", "Указать файл из которого нужно установить пакет");
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ИмяПакета", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-l", "Обновление пакета в локальном каталоге oscript_modules");
Парсер.ДобавитьКоманду(ОписаниеКоманды);

КонецПроцедуры
Expand All @@ -25,13 +26,18 @@

Процедура ОбновитьПакет(Знач ЗначенияПараметров) Экспорт

Установщик = Новый УстановкаПакета;
РежимУстановки = РежимУстановкиПакетов.Глобально;

Если ЗначенияПараметров["-l"] = Истина Тогда
РежимУстановки = РежимУстановкиПакетов.Локально;
КонецЕсли;

Если ЗначенияПараметров["-all"] Тогда
Установщик.ОбновитьУстановленныеПакеты();
РаботаСПакетами.ОбновитьУстановленныеПакеты(РежимУстановки);
ИначеЕсли ЗначенияПараметров["-f"] <> Неопределено Тогда
Установщик.УстановитьПакетИзАрхива(ЗначенияПараметров["-f"]);
РаботаСПакетами.УстановитьПакетИзФайла(ЗначенияПараметров["-f"], РежимУстановки);
Иначе
Установщик.ОбновитьПакетИзОблака(ЗначенияПараметров["ИмяПакета"]);
РаботаСПакетами.ОбновитьПакетИзОблака(ЗначенияПараметров["ИмяПакета"], РежимУстановки);
КонецЕсли;

КонецПроцедуры
Loading

0 comments on commit db5a771

Please sign in to comment.