Skip to content

Repository files navigation

OneScript Version Manager

ReleaseBuild StatusQuality GateTech Debt

Цель

ovm - утилита, предназначенная для установки, обновления и переключения между различными версиями OneScript. Вдохновение черпается из nvm (node.js version manager)

Пререквизиты

  • Установленный .Net Framework >=4.5.2 либо Mono >=4.6
  • Работающий интернет

Установка

Для упрощения миграции на ovm перед установкой рекомендуется удалить системный OneScript и выполнить выход из системы/вход в систему.

Windows

Linux

  • Скачать ovm.exe со страницы страницы релизов GitHub
  • Для быстрого использования приложения можно создать sh-файл со следующим содержанием:
mono path/to/ovm.exe "$@"

и добавить его в $PATH (например, в ~/.local/share/bin)

Поддержка различных терминалов

Для каждого из терминалов активация ovm выглядит по-разному. После выполнения первичной активации в большинстве случаев необходимо переоткрыть текущий терминал (это надо сделать один раз). Для перечисленных ниже терминалов действия по активации происходят автоматически.

cmd (Windows)

При первичной активации версии OneScript при наличии системной установки OneScript:

создается запись в реестре по адресу HKCU\Software\Microsoft\Command Processor\Autorun следующего содержания:

setPATH=%OVM_OSCRIPTBIN%;%PATH%

powershell (Windows)

При первичной активации версии OneScript при наличии системной установки OneScript:

создается файл (либо добавляется в существующий) по адресу %USERPROFILE%\Documents\WindowsPowerShell\profile.ps1 со следующим содержанием:

$env:PATH=$env:OVM_OSCRIPTBIN+";"+$env:PATH

sh (*nix)

При первичной активации версии OneScript:

создается файл (либо добавляется в существующий) по адресу $HOME/.profile со следующим содержанием:

export$HOME/.local/share/ovm/current/bin:$PATH

bash (*nix)

При первичной активации версии OneScript:

создается файл (либо добавляется в существующий) по адресу $HOME/.bashrc со следующим содержанием:

export$HOME/.local/share/ovm/current/bin:$PATH

Другие терминалы

Автоматическая активация ovm в других терминалах не гарантируется. Чаще всего она будет делаться по аналогии (в конфигурационных файлах), либо в настройках самого терминала.

Для ConEmu активация производится через Settings -> Startup -> Environment. В метод установки PATH необходимо добавить путь к %OVM_OSCRIPTBIN% перед текущим %PATH%. Например, set PATH=%OVM_OSCRIPTBIN%;%PATH%

Современные версии Cmder для Windows автоматически подхватывают переменные среды и переопределение автозапуска в реестре (см. Активация в cmd)

Использование

ovm - утилита командной строки, основанная на библиотеке cli. Утилита содержит несколько команд с различными аргументами и опциями. Каждая команда имеет длинное имя и короткий алиас. Каждый аргумент или опция могут быть установлены из переменных окружения либо указаны непосредственно в командной строке. Более подробно - в справке по библиотеке cli.

Установка OneScript

Установка OneScript производится в пользовательский каталог, не захламляя общее системное пространство.

ovm install dev # Установить последнюю ночную сборку
ovm install dev stable 1.0.19 # Установить стабильную, ночную сборки и версию 1.0.19
ovm use --install dev # Активировать ночную сборку и установить, если ее нет

Активация OneScript

Для запуска oscript и прочих утилит без указания путей к ним необходимо произвести активацию версии OneScript. При этом в каталоге данных ovm создастся специальная символическая ссылка current, ведущая на активированную версию.

ovm use dev # Активировать ранее установленную версию dev (ночную сборку)
ovm use --install dev # установить (если ее нет) и активировать версию dev

Удаление OneScript

ovm delete 1.0.19 # Удалить установленную версию 1.0.19

Вывод установленных версий OneScript

$ ovm ls # Вывод установленных версий
1.0.19 -> 1.0.19.105 (C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.19)
current -> 1.0.20.160 (C:\Users\NikitaGryzlov\AppData\Local\ovm\current)
dev -> 1.0.20.160 (C:\Users\NikitaGryzlov\AppData\Local\ovm\dev)
$ ovm ls --remote # Вывод версий, доступных к установке с сайта
1.0.19 (http://oscript.io/downloads/archive/1_0_19)
1.0.18 (http://oscript.io/downloads/archive/1_0_18)
$ ovm ls --all # Вывод всех версий - установленных и доступных
1.0.18 -> 1.0.18.101 -> C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.18 -> http://oscript.io/downloads/archive/1_0_18
1.0.19 -> 1.0.19.105 -> C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.19 -> http://oscript.io/downloads/archive/1_0_19
current -> 1.0.20.160 -> C:\Users\NikitaGryzlov\AppData\Local\ovm\current -> unknown
dev -> 1.0.20.160 -> C:\Users\NikitaGryzlov\AppData\Local\ovm\dev -> http://oscript.io/downloads
stable -> unknown -> not installed -> http://oscript.io/downloads

Запуск приложений в окружении конкретной версии

ovm позволяет запускать приложения в окружении конкретной установленной версии OneScript. При этом происходит доустановка переменной окружения PATH к каталогу указанной версии.

$ ovm run 1.0.19 oscript -version # Выполнение команды oscript -version в окружении 1.0.19
1.0.19.105
$ ovm run 1.0.19 where oscript # Вывод сторонней команды where в окружении 1.0.19
C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.19\bin\oscript.exe # Путь к 1.0.19 указывается раньше, чем путь к current, благодаря запуску ovm run
C:\Users\NikitaGryzlov\AppData\Local\ovm\current\bin\oscript.exe

Получение пути к исполняемому файлу oscript

$ ovm which 1.0.19
C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.19\bin\oscript.exe

Отладка скриптов, запускаемых через OVM, в VSCode

После первичной настройки OVM в каталоге вашего проекта нужно штатно настроить отладчик 1скрипт

Далее нужно добавить\изменить файл .vscode/launch.json

В разделе configurations файла нужно добавить\установить следующие строки

"windows": {
"runtimeExecutable": "${env:OVM_OSCRIPTBIN}\\oscript.exe"
},
"linux": {
"runtimeExecutable": "${env:OVM_OSCRIPTBIN}/oscript"
}

Конфигурирование ovm

ovm имеет несколько конфигурационных параметров, управляющих его поведением. Эти параметры можно задать с помощью команды config

Синтаксис команды

$ ovm config <имя параметра><значение>

Настройка сайта с релизами

$ ovm config oscript.server https://internal.oscript.io

Настройка прокси-сервера

При работе за корпоративным прокси-сервером может потребоваться указание настроек прокси. Предусмотрены следующие параметры:

ПараметрВозможное значениеПояснение
proxy.usetrue/falseВключение использования прокси. Если параметр не задан - прокси не используется
proxy.serverадрес прокси-сервераЕсли параметр задан, то будут использованы ручные настройки прокси: имя сервера, порт, логин, пароль. Если параметр не задан, но задан proxy.use=true - используется системный прокси.
proxy.portПорт прокси-сервераиспользуется только если задан proxy.server
proxy.userИмя пользователя прокси-сервераиспользуется только если задан proxy.server
proxy.passwordПароль прокси-сервераиспользуется только если задан proxy.server
proxy.osAuthenticationtrue/falseАвторизация на прокси средствами ОС. Используется только если задан proxy.server

Пример использования

# использование системного прокси
ovm config proxy.use true
# ручные настройки прокси
ovm config proxy.use true
ovm config proxy.server enterpise-proxy.server.lan
ovm config proxy.osAuthentication true

Вывод команды ovm

Приложение: ovm
OneScript Version Manager v1.0.0-RC14
Строка запуска: ovm [ОПЦИИ] КОМАНДА [аргументы...]
Опции:
-v, --version показать версию и выйти
Доступные команды:
install, i Установить OneScript указанных версий
use, u Использовать OneScript указанной версии
uninstall, delete, d Удалить OneScript указанных версий
list, ls Вывести список установленных и/или доступных версий OneScript
run, r Запустить исполняемый файл в окружении указанной версии OneScript
which, w Вывести путь к установленной версии OneScript
config Настройки ovm. Прокси, сервера и т.п.
Для вывода справки по доступным командам наберите: ovm КОМАНДА --help

About

OneScript Version Manager

Topics

Resources

Stars

31 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages