Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,15 @@
КонецПроцедуры

Процедура ДобавитьКомандуConfig(Знач Парсер)
Команда = Парсер.ОписаниеКоманды("config", "Задать пользовательские настройки");
Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "-proxyusedefault","Использовать ПроксиПоУмолчанию (системные настройки)");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-proxyserver", "Адрес прокси");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-proxyport", "Порт прокси");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-proxyuser", "Пользователь прокси ");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-proxypass", "Пароль прокси");
Парсер.ДобавитьКоманду(Команда);
КонецПроцедуры
Команда = Парсер.ОписаниеКоманды("config", "Задать пользовательские настройки");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-winCreateBashLauncher","Создавать sh-скрипт запуска для пакетов приложений в среде Windows");
Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "-proxyusedefault","Использовать ПроксиПоУмолчанию (системные настройки)");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-proxyserver", "Адрес прокси");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-proxyport", "Порт прокси");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-proxyuser", "Пользователь прокси ");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-proxypass", "Пароль прокси");
Парсер.ДобавитьКоманду(Команда);
КонецПроцедуры

Процедура ДобавитьКомандуList(Знач Парсер)
Команда = Парсер.ОписаниеКоманды("list", "Вывести список пакетов");
Expand Down
25 changes: 17 additions & 8 deletions src/Классы/УстановкаПакета.os
Original file line number Diff line number Diff line change
Expand Up @@ -379,24 +379,33 @@
КонецПроцедуры

Процедура СоздатьСкриптЗапуска(Знач ИмяСкриптаЗапуска, Знач ПутьФайлаПриложения, Знач Каталог) Экспорт

СИ = Новый СистемнаяИнформация();
Если Найти(СИ.ВерсияОС, "Windows") > 0 Тогда
ЭтоWindows = Найти(СИ.ВерсияОС, "Windows") > 0;
Если ЭтоWindows > 0 Тогда
ФайлЗапуска = Новый ЗаписьТекста(ОбъединитьПути(Каталог, ИмяСкриптаЗапуска + ".bat"), "cp866");
ФайлЗапуска.ЗаписатьСтроку("@oscript.exe """ + ПутьФайлаПриложения + """ %*");
ФайлЗапуска.ЗаписатьСтроку("@exit /b %ERRORLEVEL%");
ФайлЗапуска.Закрыть();
Иначе

КонецЕсли;

Если (ЭтоWindows И НастройкиПриложения.Получить().СоздаватьShСкриптЗапуска) ИЛИ НЕ ЭтоWindows Тогда
ПолныйПутьКСкриптуЗапуска = ОбъединитьПути(Каталог, ИмяСкриптаЗапуска);
ФайлЗапуска = Новый ЗаписьТекста(ПолныйПутьКСкриптуЗапуска, КодировкаТекста.UTF8NoBOM);
ФайлЗапуска.ЗаписатьСтроку("#!/bin/bash");
ФайлЗапуска.ЗаписатьСтроку("oscript """ + ПутьФайлаПриложения + """ ""$@""");
СтрокаЗапуска = "oscript";
Если ЭтоWindows Тогда
СтрокаЗапуска = СтрокаЗапуска + " -encoding=utf-8 ";
КонецЕсли;
СтрокаЗапуска = СтрокаЗапуска + """" + ПутьФайлаПриложения + """ ""$@""";
ФайлЗапуска.ЗаписатьСтроку(СтрокаЗапуска);
ФайлЗапуска.Закрыть();

ЗапуститьПриложение("chmod +x """ + ПолныйПутьКСкриптуЗапуска + """");


Если НЕ ЭтоWindows Тогда
ЗапуститьПриложение("chmod +x """ + ПолныйПутьКСкриптуЗапуска + """");
КонецЕсли;
КонецЕсли;

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

Функция ПрочитатьМетаданныеПакета(Знач ФайлМетаданных)
Expand Down
9 changes: 8 additions & 1 deletion src/Модули/НастройкиПриложения.os
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
мНастройки = Новый Структура;
НастройкиПроксиПоУмолчанию = НастройкиПроксиПроксиПоУмолчанию();
мНастройки.Вставить("Прокси", НастройкиПроксиПоУмолчанию);
мНастройки.Вставить("СоздаватьShСкриптЗапуска", Ложь)
КонецПроцедуры

Функция НастройкиПроксиПроксиПоУмолчанию()
Expand Down Expand Up @@ -114,8 +115,14 @@
мНастройки.Прокси.Пароль = "";
КонецЕсли;

мНастройки.Прокси.ИспользоватьПрокси = мНастройки.Прокси.ПроксиПоУмолчанию ИЛИ ЗначениеЗаполнено(мНастройки.Прокси.Сервер)
мНастройки.Прокси.ИспользоватьПрокси = мНастройки.Прокси.ПроксиПоУмолчанию ИЛИ ЗначениеЗаполнено(мНастройки.Прокси.Сервер);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@asosnoviy аррррр! Сонара на вас нет! :D


мНастройки.СоздаватьShСкриптЗапуска = ?(
ЗначенияПараметров["-winCreateBashLauncher"] = Неопределено,
мНастройки.СоздаватьShСкриптЗапуска,
Булево(ЗначенияПараметров["-winCreateBashLauncher"])
);

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

Expand Down