Skip to content
This repository has been archived by the owner on May 25, 2021. It is now read-only.

Commit

Permalink
#3 Логи для активации
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Jan 30, 2018
1 parent bbd99bd commit 820fffa
Showing 1 changed file with 31 additions and 12 deletions.
43 changes: 31 additions & 12 deletions src/core/Классы/АктиваторOneScript.os
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

Процедура ИспользоватьВерсиюOneScript(Знач ИспользуемаяВерсия, Знач ВыполнятьУстановкуПриНеобходимости = Ложь) Экспорт

Лог.Информация("Активация версии OneScript %1", ИспользуемаяВерсия);

ПроверитьНаличиеИспользуемойВерсии(ИспользуемаяВерсия, ВыполнятьУстановкуПриНеобходимости);

КаталогУстановки = ПараметрыOVM.КаталогУстановкиПоУмолчанию();
Expand All @@ -17,6 +19,8 @@
СоздатьСимЛинкНаКаталог(ПутьКОбщемуКаталогуOneScript, КаталогУстановкиВерсии);
ДобавитьКаталогBinВPath(ОбъединитьПути(ПутьКОбщемуКаталогуOneScript, "bin"));

Лог.Информация("OneScript %1 активирован", ИспользуемаяВерсия);

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

Процедура ВыполнитьМиграцию() Экспорт
Expand Down Expand Up @@ -101,10 +105,26 @@

Процедура СоздатьСимЛинкНаКаталог(Знач Ссылка, Знач ПутьНазначения)

Если ФС.КаталогСуществует(Ссылка) Тогда
УдалитьФайлы(Ссылка);
КонецЕсли;
Лог.Отладка("Создаю символическую ссылку %1 на %2", Ссылка, ПутьНазначения);

Если ФС.КаталогСуществует(Ссылка) Тогда

Лог.Отладка("Удаляю старую символическую ссылку");

Если ЭтоWindows Тогда
УдалитьФайлы(Ссылка);
Иначе
Команда = Новый Команда;
Команда.УстановитьКоманду("unlink");
Команда.ДобавитьПараметр(Ссылка);
Команда.Исполнить();

Лог.Отладка(Команда.ПолучитьВывод());
КонецЕсли;
КонецЕсли;

Лог.Отладка("Выполняю создание символической ссылки");

Если ЭтоWindows Тогда
Команда = Новый Команда;
Команда.УстановитьКоманду("mklink");
Expand All @@ -113,38 +133,37 @@
Команда.ДобавитьПараметр(ПутьНазначения);

Команда.Исполнить();
Лог.Отладка(Команда.ПолучитьВывод());
Иначе

Если ФС.КаталогСуществует(Ссылка) Тогда
Команда = Новый Команда;
Команда.УстановитьКоманду("rm");
Команда.ДобавитьПараметр(Ссылка);

Команда.Исполнить();
КонецЕсли;

Команда = Новый Команда;
Команда.УстановитьКоманду("ln");
Команда.ДобавитьПараметр("-s");
Команда.ДобавитьПараметр(ПутьНазначения);
Команда.ДобавитьПараметр(Ссылка);

Команда.Исполнить();

Лог.Отладка(Команда.ПолучитьВывод());
КонецЕсли;

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

Процедура ДобавитьКаталогBinВPath(Знач ПутьККаталогуBin)

Лог.Отладка("Добавляю каталог %1 в PATH", ПутьККаталогуBin);

ПеременнаяPATH = ПолучитьПеременнуюСреды("PATH", РасположениеПеременнойСреды.Пользователь);
Если СтрНайти(ПеременнаяPATH, ПутьККаталогуBin) <> 0 Тогда
Лог.Отладка("PATH уже содержит путь к каталогу");
Возврат;
КонецЕсли;

Если ЭтоWindows Тогда
Лог.Отладка("Установка переменных среды на уровне пользователя");
УстановитьПеременнуюСреды("OVM_OSCRIPTBIN", ПутьККаталогуBin, РасположениеПеременнойСреды.Пользователь);
УстановитьПеременнуюСреды("PATH", "%OVM_OSCRIPTBIN%;" + ПеременнаяPATH, РасположениеПеременнойСреды.Пользователь);
Иначе
Лог.Отладка("Добавление каталога в PATH для shell");
ТекстФайлаПрофиля = "export PATH=""" + ПутьККаталогуBin + ":$PATH""";
ПутьКФайлу = ОбъединитьПути(
СистемнаяИнформация.ПолучитьПутьПапки(СпециальнаяПапка.ПрофильПользователя),
Expand Down

0 comments on commit 820fffa

Please sign in to comment.